Hacking Virgin Broadband (HSDPA / 3G) with Huawei E220 Modem

An usual day to work, I have a Virgin Broadband HSDPA USB modem on grass after a morning rain. I spent $25 to unlock it and insert my Three AU SIM card, then it worked.

The recent release of prepaid mobile broadband services tempted me for ordering $50 5GB/60days services. The SIM arrived at office on WED.

Activated the SIM and charged $50 for 5GB/60days online with LAN connection, plugged the SIM to modem and plugged modem to my EeePC via USB. Light flashes green (2G) blue (3G/HSDPA, purple is HSDPA and blue is 3G but I inherited colour weakness).

Created new connection settings on NetworkManager: Mobile Broadband. Click on the icon and such connection. Connection failed within 1 second. I tried the above procedures with Three SIM and work laptop but it works. At the same time, my younger brother tested Modem + VirginSIM and it works on XP. Therefore, should be problem from Linux (Fedora).

Checked the log file on EeePC for clue… Permission Denied for /usr/sbin/pppd. With something looks like SELINUX context in error message. I disabled the SELINUX and reboot . Tried again and the NW icon rotated longer, seems some progress. Then same result rejected my assumption.

I also input username ‘blank’ as instruction card mentioned. NW asked for password and both ‘blank’ and real blank password are not making any differences. I backed on googling.

Was thinking if I could setup something like system-config-network profile or something for ifup/ifdown. And tools called wvtool and gnome-ppp were discovered from wikipedia. So I yum install that.

wvdial has problem in sending password to modem, gnome-ppp is just GUI wrap of wvdial. No luck again.

Actually Virgin Broadband AU is using PAP authentication. I aware that NM connection settings on GUI has flaws that some of the input fields are not saved. i.e. fews are fake controls. :P

Especially, I couldn’t disable any authentication methods, to force it uses PAP only. Every time I clicked OK but all of them are checked. Google pointed my to a page that says user settings are stored in gconf.

Open gconf and went to /system/networking/connections/3/ and found the profile. No key about authentication at all. How could I know what key I should create for specify PAP to be only authentication method?

I created a new connection of pppoe, it allows me to disable any authentication instead. I referred to that on gconf and found ‘refuse-chap=false’, ‘refuse-eap=false’, ‘refuse-mschap=false’ and ‘refuse-mschapv2=false’ are appropriate for the mobile broadband connection settings.

Finally, I clone that in gconf, replugged the modem, click on icon and select the created profile.

Bingo!

=====

In a nutshell, to get Huawei E220 working on Fedora 9 (or any similar distro):

0. Turn off SELINUX. This is USELESS for normal users!

1. Ensure your SIM is activated and has usable credit (sorry, if you don’t have win32 please ask your friend for help).

2. Insert SIM to modem when it is unplugged.ar

3. Plugged in the modem.

4. Click on NetworkManager applet tray bar edit connections mobile broadband new.

5. Input as much as settings specified by ISP.

6. Unplug the modem.

7. Use gconf-editor under current user.

8. Go to /system/networking/connecctions/[mobile-broadband-connections]. You will know which one is by the keys ‘id’.

9. Put ‘refuse-chap=false’, ‘refuse-eap=false’, ‘refuse-mschap=false’ and ‘refuse-mschapv2=false’ as new keys in /system/networking/connecctions/[mobile-broadband-connections]/ppp/ (If your ISP requires chap, then ‘refuse-chap=false’ will be ‘refuse-pap=false’. Just like if ISP requires other authentications mentioned).

10. Plug in the modem.

11. Click on NetworkManager icon and click on the mobile broadband profile.

12. It should be successfully connected.

=====

Played with it a bit in my house. The speed is acceptable but the connection is unstable because the house is used to be bad signal reception.

Will test it on transit tomorrow. :)

Tags: , , , , , , , , , , , , , , , , , ,

Leave a Reply


凱旋木馬 is Digg proof thanks to caching by WP Super Cache!