Showing posts with label 3G modem. Show all posts
Showing posts with label 3G modem. Show all posts


Selecting a mobile internet operator in Poland

(see the 2014 update)

About one year ago I was tired of the problems with my then-current internet provider, Play. So I decided to try the 4 major operators in Poland. I got a "starter pack" for each one, which can be bought for about 10 zl each, and tried them with my telephones/modems/computers. These are the results of testing with,, youtube's speed test and torrenting some big Linux disc image. And since this is mobile internet, I tried each in a set of places in Warsaw - and some even outside of the city.

Note that I was looking for smartphone use: voice + data, with data being in the 5 GB/month range, possibly more. So data packages measured in MB didn't cut it (since they are usually much more expensive). And internet-only SIMs were out, too.

The tests are one year old, but I can confirm that the results are still valid at least for T-Mobile and Play, since I still use them both.

For non-technically inclined people, the summary is: get T-Mobile.  Play is unreliable, but cheapest. Orange is surprisingly crappy. And Plus didn't even have anything serious for smartphones (that is, for voice + data "in big quantities").

And the gory details:

Era / T-Mobile: the best one. One easily reaches the advertised speeds, while testing and downloading. Pingtest gives marks between 4.0 and 4.2 (C, sometimes even B). Pings between 160 and 190 (!), Packet Loss 0, jitter typically in the single digit (!), sometimes up to 20. Youtube averages 19.
It's not even the most expensive of the operators, if I remember correctly. The problem is that once you use up your monthly allowance, you can NOT extend it. So if you need more than 5 GB, you're toast. Their internet offer is advertised as unlimited, but that only means that after you use up your paid package, you can continue using internet at about 2 or 3 KB/sec. Practically unusable if you can't limit yourself to text.
Era is my main operator, so I can confirm that it still works well - even if I had some complaints at some moments because of weird connectivity problems, which were quickly and personally answered - even if in a useless way. :P

Play: the cheapest internet operator. Too good to be true, certainly. Half the price of T-Mobile, can be refilled as you wish, there are even options to use internet during the night without it counting against your allowance. But, even before getting into the numbers, it is plainly shitty. On average, more than once a day the telephone or modem will loose the connection; sometimes in "standard" ways ("the PPP server has stopped responding"), but more frequently the phone just suddenly shows no bars of network reception. Both the telephone/modem and the computer wait for it to come back, which never does - I have tried waiting for hours. You can just restart the phone and it will connect again, but sometimes in less than a minute it will happen again. I started thinking it was some problem with my telephone, with drivers, with the mac... But, it has happened with different computers (although always macs), with different telephones and modems, even using a VM with Windows to drive the modem. Same thing always. So, I can NOT recommend Play at all, for any serious internet usage at least. No idea about how it works for voice. And maybe for short connections, like those typical in a smartphone would be usable. I wouldn't risk it, though.
Anyway, I also tested it "numerically", and the results were: pingtest marks between 1.6 and 3.9 (F to D). Pings between 140-250, jitter between 80-260, packet loss 0. The max standard speed is 125 KBps. There is an option to get 400 KBps, but I feel lucky if I get just half of that.

I STILL use Play for "bulk internet"; it is so cheap (even more so with the free nights option) that it always gets me to try again. But it also always manages to get on my nerves; 3 times already in 4 years it has made me prefer to pay extra to other operators... and the 4th is coming soon. SO annoying, SO unreliable, SUCH helplessly blank faces in the hip shops when I tried to get some info. Fuck them.
Also: Play only provides HDSPA connections. If at any moment the phone has to fall back to EDGE, you're as good as with no coverage. That was the case when I tried it at my workplace, which is only about 2 km away from the city center: I couldn't even connect.

Orange: the only operator which showed packet loss (!) in pingtest. Marks between 1.1 and 3.9. Pings up to 440. Jitter between 18 and 205. I never reached the advertised speeds for downloads, but did for uploads. Keep in mind that I tried in different locations, with different modems and telephones, so I can only think that this was simply Orange being just shitty.

Plus: this was my first operator in Poland, and maybe that's why I had something of a soft spot for them. And it was impressive to be able to work with SSH and VNCs almost all the way in the train between Warsaw and Tricity. With Play, you'd loose coverage before you leave the city!
Alas, when I tested them a year ago they didn't have any specially competitive offer. In fact the only data+voice / smartphone-related offer they had was something tied to BlackBerries (heh, I wonder how are they doing now with that?). It was funny that the shopkeeper seemed rather desperated about the smartphone questions; it felt like I was n-th person to ask the same thing... and to be surprised that they had no options.
Anyway, I also tested with pingtest. Marks between 1 (!) and 4.25 (!). Pings between 134 and 388. Jitter between 13 and 104. No packet loss. Easy to reach advertised speed.

So, when looking for reliability and sanity keeping, T-Mobile seems the only one commendable. Also, with that small jitter, Skype and such were great. People prefer videoconferencing when I'm in the phone via T-Mobile than when I am in the computer via Play...

What I can't understand in T-Mobile is the lack of "refills": I just want to give them more money, after all :P. But, no way. So stupid.

A few more details: when testing with, I used the auto-selection of test sites. Each operator seemed to consistenly cause a different test site selection, so I guess it was the best one for each of them, surely according to ping times.

It's remarkable that T-Mobile has such a low jitter (and consistently so), that Orange reliably suffered packet loss (and was the only to suffer it at all), that Play is so damn unreliable, and that Plus... well... HELLOOO!! wake up and smell the 21.1 century!


Huawei E220 3G modem drivers on OS X Lion: only 32 bits

I recently installed Mac OS X 10.7 Lion, and found that it already had drivers for the Huawei E220 3G modem. But the drivers are 32 bit, so they won't work for machines which use a 64 bit kernel.

And there seem to be no 64 bits drivers, so the only solution for now is booting in 32 bit kernel mode (pressing 3 and 2 when booting).

I seriously doubt that Huawei are going to publish updated drivers; they were already rather unsupporting even when the modems were new. Eventually, I plan to try to make my own driver, but that won't be short-term...


Toshiba G450 en Mac OS X Lion

Los drivers que Toshiba publicó para el G450 en el 2008 son sólo 32 bits. Si tu Mac OS X Lion corre el kernel a 32 bits, posiblemente funcionarán.
Pero si ordenador corre el kernel a 64 bits, lo cual creo que ya será la mayoría de macs, esos drivers no funcionarán. Y Toshiba no tiene pinta de  que vaya a publicar nuevos drivers, porque ya eran lentos con cosas de soporte cuando el móvil era nuevo, y ahora encima parece que la división de móviles de Toshiba se ... arrejuntó con Fujitsu en el 2010.

Así que la solución a corto plazo es arrancar en modo 32 bits, lo cual se hace pulsando las teclas 3 y 2 mientras arrancas. Sólo el kernel pasa a modo 32 bits, y se supone que la diferencia no será demasiado grande en rendimiento - pero no sé de cifras concretas. Los programas seguirán funcionando a 64 bits.

Curiosamente, OS X Lion lleva de serie drivers de Huawei para el modem E220 y algún otro. Pero son también drivers de 32 bits, así que estamos en las mismas. Y tampoco veo que Huawei haya publicado nuevos drivers a 64 bits...

Hace tiempo estuve jugando con la idea de hacer mis propio driver para el Toshiba G450. Y parece que vuelve a ser un buen momento para intentarlo. Veremos qué pasa. (y ahora el E220 también es candidato!)

Toshiba G450 drivers for OS X Lion - only 32 bits

I recently changed computers and got a MacBook Pro which boots the kernel in 64 bit mode. The problem is, the only drivers Toshiba published for the G450 modem are 32 bit only (published on 2008).
So the only solution for now is booting in 32 bit kernel mode (pressing 3 and 2 when booting).

I seriously doubt that Toshiba are going to publish updated drivers; they were already rather unsupporting even when the modems were new. And Toshiba seems to have merged its mobile division with Fujitsu's... and even Windows 7 users seem to have problems. So... maybe this means that I should try to go back to the program-your-own-driver thing.


Toshiba G450 en OS X - funcionando sin reiniciar

Por fin me he dedicado a jugar un poco con el driver oficial. El resultado esperado, como Nexus había comentado antes en otro post, era que el G450 sólo funcionase si estaba enchufado desde el arranque.

Pero en mi caso era peor: ni siquiera así funcionaba. Además he visto por la red más gente con el mismo problema. El "Toshiba PC" que se instala junto al driver simplemente dice que no encuentra el modem, y ni siquiera aparece montado el disco USB que debería aparecer al conectar el G450.

El Perfil del Sistema muestra sin embargo que en el bus USB está conectado un disco de Toshiba, y la Consola muestra que diskarbitrationd no ha podido crear un disco ("unable to create /dev/disk2"). Esto se mantuvo así aunque reseteé el G450 y reformateé el disco con el propio menú del teléfono/modem/bicho.

Pero he encontrado una solución, que aunque no es ideal, tampoco cuesta mucho. Cuando el G450 está apagado y es enchufado al ordenador, la pantalla muestra una animación de carga de batería. Y el Perfil del Sistema muestra que hay un disco USB conectado. Cuando el G450 está encendido y es enchufado al ordenador, también se comporta como un disco. Pero se enciende un LED verde en la pantalla del modem. En Windows y Linux, cuando el G450 pasa al modo modem (gracias a un comando que el driver le manda), ése LED verde se pone azul. Y esto no estaba sucediendo en el Mac.

Pero en uno de los reinicios que probé, resultó que el LED se puso azul justo cuando el ordenador se apagaba. Y así se quedó cuando reinicié (no lo desconecté). Así que esta vez el Toshiba PC Tool sí que encontró el modem y ofreció un botón de "Conectar". Por fin! (también creó 3 interfaces de red nuevos, que seguramente permitirán manejar el modem más fácilmente mediante los Ross' Scripts, igual que ya hago con el Huawei E220. Pero eso, para otro día)

Así que: por alguna razón, el G450 está pasando a modo modem cuando el ordenador se apaga. Supongo que el driver de almacenamiento USB de OS X se adueña del G450 (aunque no consigue crear el disco!) así que el driver de Toshiba no puede mandar el comando de cambio de modo; y durante el apagado, cuando el driver de almacenamiento USB libera el disco, el driver de Toshiba por fin consigue mandar el comando justo antes del apagado final. O quizás es sólo un efecto secundario del apagado del bus USB, oiga. Quién sabe. En cualquier caso, funciona y es repetible.

Pero lo mejor es que no hace falta el apagado. Resulta que si pones el Mac a dormir (menú manzana -> reposo, o por ejemplo cerrando la tapa del Macbook) el efecto es el mismo: el LED se pone azul, y después el Toshiba PC Tool funciona. (ojo, el Mac no se queda dormido! Debe haber algún problema, porque inmediatamente después de empezar a dormir se despierta, y si la tapa está cerrada vuelve a dormir y a despertarse..... lo cual me temo que provocará algún cuelgue en algún momento. Así que si vas a probar esto, primero guarda lo que tengas abierto. De todas formas, quizás el problema del duerme-despierta sea cosa de los chungos drivers de Huawei que tengo instalados, que también instalaron un kext sobre algo de "USB wakeup"...)

En fin: finalmente he podido usar el G450 en mi Macbook. Ahora tocará ver si es mejor que el E220... que da bastantes problemas cuando lo usas con programas P2P con el operador Play. (aún no sé si es por drivers chungos o porque Play esté haciendo alguna jugarreta... cuando pueda, tendré que experimentar un poco con algún detector de gracias, como el Switzerland de la EFF).

Por completitud: he probado a descargar el driver de almacenamiento USB para ver si así el driver de Toshiba funciona mejor (mediante "sudo kextunload -b"). Pero no sólo no funciona, sino que deja de funcionar el truco de dormir al mac. Así que mejor no tocarlo.

Otra forma de forzar el paso al modo modem sería usando USB_ModeSwich, que en OS X funciona tras desactivar el driver de almacenamiento USB... pero mientras no me provoque algún cuelgue, seguiré usando el truco de dormirlo. Más rápido ;P.


Official driver for the G450?

The only problem is, it doesn't seem to work. It installs, but nothing else happens. And the Toshiba PC Tool app it installs always complains that the modem can't be found.

I'll take it as a warning that I'm letting too much time pass by without working on the subject... although I still think about it and read the needed docs whenever life's DDoS leaves me some room to breathe. (In the last 3 weeks I finished the polish course, passed the exam with good marks, started the new course, enjoyed the trip, finished my previous job – with still some rough edges to be taken care of, did the paperwork to end my previous self-employment in Spain and start the new job in Poland, did the paperwork relating to spanish telephony and bank accounts, and started the new job. Now I only have to finish the flat moving and basic set up...)

(Hm, surely I should write some short article about all that Polish red tape...)

But, back to the subject, the thing is I should start pushing the driver programming thing, because I guess at some moment Toshiba will publish a working driver... I could work on it anyway, of course, but it would just be an exercise, instead of having a real interest!
UPDATE, 12 nov 08: A comment by NexOSX on the spanish version of this post says that the OS X official driver does in fact work - if the modem is connected at boot time, and is not disconnected afterwards. WTF? I will have to check it, even though if it works like that, to me it's next to useless - and I guess for any (i|Mac)Book user on the go.


Driver oficial para el Toshiba G450

Pues parece que finalmente en Toshiba se han decidido a publicar un driver para Mac OS X para el modem 3G.

Lo curioso es que a mí no me funciona. Se instala, pero... no veo que haga nada de nada. Me lo tomaré como un aviso de que llevo mucho tiempo sin avanzar el tema. Pero sigo pensando en ello y tocando los libros cuando el resto de la vida me deja... Ya he acabado el anterior curso de polaco (aprobé el examen con buena nota!, y ha empezado el nuevo curso), acabó el viaje, acabó el antiguo trabajo (más o menos – aún quedan cabos sueltos por amarrar), acabaron los papeleos de baja como autónomo en España y alta como trabajador en Polonia, acabaron los papeleos de telefonía y bancos en España, y he empezado el nuevo trabajo. Sólo falta acabar la mudanza y acabar de arreglar lo más básico del nuevo piso. No está mal para 3 semanas, oiga.

Pero la cuestión es que tendré que ponerme las pilas con el driver, porque supongo que en algún momento Toshiba sacará un driver que sí que funcione... (Siempre podría acabarlo de todas formas, pero pierde interés / morbo, claro :) ).


Making a Mac OS X driver for the Toshiba G450 3G modem

About 3 weeks ago, I had to buy the 3G modem Toshiba G450 because Polish operator Play would not let me get the plan I wanted without it.

A few hours later, I had to accept that there are no Mac OS X drivers for it! Which would have made me, say, unhappy, had I not had my trusty Huawei E220. The only information I have been able to come up with are amazed reviews from gadget websites. Not even a driver for Linux... And this happens when I was thinking about polishing my low-level development powers (there is more to life than Java and C#, you know!)... so, why not take the chance to learn about what is needed to make a driver?

The modem uses the ZeroCD "trick" of appearing as a USB drive to the OS, until it receives an existent-but-generally-unused-in-USB-drives command; at that moment, the drive is "unplugged" and a new device appears in the bus: the modem. So in the USB drive that appears first, there is a driver installer (for Windows, of course). The user (or the autorun) installs the driver, and it sends the switching command to the USB drive it recognizes as the masked modem. Drive goes away, modem appears, and driver finally does its thingy with the modem.

Up to now, I have been successful in capturing the appropiate command with usbsniff and making the USB drive switch in Linux and Mac OS X, with the help of usb_modeswitch ( , where I have already sent the info so they can use it in later versions). So now the modem is waiting for my next move. I was half expecting it to just be recognized by the serial driver, but that would have been too easy, wouldn't it?

So I have been reading about the internals of USB, now about IOKit (the driver subsystem in OS X), have re-learnt C in a rush, and now am contemplating starting with C++, of which IOKit uses "a restricted subset" (no RTTI, no templates, no exceptions... which in part I guess will make the thing easier, although I am afraid those were the interesting parts of it). And yet looks like I will have to read a bit about kernel programming in OS X. Which is also something I wanted to do, but... I was expecting this first project to be a little lighter!

On the other hand, I am suspecting this won't be THAT difficult. The Huawei E220's software for OS X (driver and app) doesn't look exactly brilliant, which makes me think someone hacked it together somewhat quickly; and it works in a similar way to the Toshiba G450. I even thought about hacking a bit the Huawei's kernel extension (looks like I should only edit an XML file in the bundle), but even if it worked I don't think I would be able to distribute it nor would I learn anything. And I don't actually need the modem ;P.

Also, the Darwin open source repositories have an example driver for USB modems. And after all we are only talking about making the OS see "the serial ports" in the USB interfaces... I mean, it should be as easy as it can get, since everything beyond that point will be taken care of by other parts of the OS. But still this is about kernel programming in C++ for a novice. Lots of little interestingly nasty ways to hose the whole OS. Nice!

Of course, no small part of the problem is making sense of all of this and still having time for language courses, travelling, personal life... and my regular job - and searching for a new one. Sounds a bit like DDoS, doesn't it? :)