After a long battle i finally have my vodafone branded Huawei K3715 3g modem working with my eeePC 701. Since i mainly use my eeePC for the commute to work, i missed having a internet connection. 3G has been around for ages but until recently all of the Australian telcos wanted you to sign a 24 month contract to get a resonable bandwidth quota at a price that wasnt prohibitive.
All this changed a few months ago when i found out Three was offering prepaid broadband, my mate worked in an office that had surplus Vodafone branded 3G modems so i just figured i would grab a Three sim card and i would be happily able to surf the net whilst travelling to an from work.
First pain was getting the sim activated and credit on the account Three seem to run their website and phone service in a style fashioned on “amatuer hour”. After jumping those hurdles i upgraded my version of eeebuntu to Intrepid Ibex as i knew this release had focused on mobile connections so i figured it would make it easier especially with a newer model modem than the standard Huawei E220.
Upon ugrading i booted up and was pleased to see Ubuntu acted like it knew what it was doing, it spotted the modem okay olthough it reported it in the logs as an E620. Because it knew i was located in Australia it gave me a list of telecommunications companies to chose my provider from. So i selected three and tried to connect but alas no luck, looking in /var/log/syslog i saw:
Mar 10 22:22:11 eeelap NetworkManager: <info> Activation (ttyUSB0) starting connection ‘Three’
Mar 10 22:22:11 eeelap NetworkManager: <info> (ttyUSB0): device state change: 3 -> 4
Mar 10 22:22:11 eeelap NetworkManager: <info> Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) scheduled…
Mar 10 22:22:11 eeelap NetworkManager: <info> Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) started…
Mar 10 22:22:11 eeelap NetworkManager: <debug> [1237375331.265910] nm_serial_device_open(): (ttyUSB0) opening device…
Mar 10 22:22:11 eeelap NetworkManager: <info> Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) complete.
Mar 10 22:22:11 eeelap NetworkManager: <info> (ttyUSB0): powering up…
Mar 10 22:22:11 eeelap NetworkManager: <info> Registered on Roaming network
Mar 10 22:22:11 eeelap NetworkManager: <info> Associated with network: +COPS: 0,2,”50501″,0
Mar 10 22:23:12 eeelap NetworkManager: <WARN> dial_done(): Dialing timed out
Mar 10 22:23:12 eeelap NetworkManager: <info> (ttyUSB0): device state change: 4 -> 9
Mar 10 22:23:12 eeelap NetworkManager: <debug> [1237375392.001454] nm_serial_device_close(): Closing device ‘ttyUSB0′
Mar 10 22:23:12 eeelap NetworkManager: <info> Marking connection ‘Three’ invalid.
Naturally i looked around the internet to try and find a solution, and learnt most people where using wvdial to connect just same as dial up connections in the good old days. So i used the settings from network manager to configure wvdial but still no luck connecting:
–> Starting pppd at Wed Mar 11 18:10:25 2009
–> Pid of pppd: 6349
–> Using interface ppp0
–> Authentication (CHAP) started
–> Authentication (CHAP) successful
–> Disconnecting at Wed Mar 18 18:10:30 2009
–> The PPP daemon has died: A modem hung up the phone (exit code = 16)
–> man pppd explains pppd error codes in more detail.
–> Try again and look into /var/log/messages and the wvdial and pppd man pages for more information.
–> Auto Reconnect will be attempted in 10 seconds
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
Looking at the log gave more details and for awhile i thought i just didnt have enough reception but i though this couldn’t be the case when i was at work in the middle of the CBD!
The syslog entry for wvdial:
Mar 11 18:33:25 eeelap pppd[6349]: pppd 2.4.4 started by henry, uid 1000
Mar 11 18:33:25 eeelap pppd[6349]: using channel 2
Mar 11 18:33:25 eeelap pppd[6349]: Using interface ppp0
Mar 11 18:33:25 eeelap pppd[6349]: Connect: ppp0 <–> /dev/ttyUSB0
Mar 11 18:33:25 eeelap pppd[6349]: Warning – secret file /etc/ppp/pap-secrets has world and/or group access
Mar 11 18:33:25 eeelap pppd[6349]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [LCP ConfReq id=0x3 <asyncmap 0x0> <auth chap MD5> <magic 0x7e4576> <pcomp> <accomp>]
Mar 11 18:33:25 eeelap pppd[6349]: sent [LCP ConfRej id=0x3 <magic 0x7e4576>]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]
Mar 11 18:33:25 eeelap pppd[6349]: sent [LCP ConfAck id=0x4 <asyncmap 0x0> <auth chap MD5> <pcomp> <accomp>]
Mar 11 18:33:25 eeelap pppd[6349]: sent [LCP EchoReq id=0x0 magic=0x0]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [LCP DiscReq id=0x5 magic=0x7e4576]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [CHAP Challenge id=0x1 <52aca456ee672d55f26502182eff7245>, name = "UMTS_CHAP_SRVR"]
Mar 11 18:33:25 eeelap pppd[6349]: Warning – secret file /etc/ppp/chap-secrets has world and/or group access
Mar 11 18:33:25 eeelap pppd[6349]: sent [CHAP Response id=0x1 <1a3a1563c31a9092d75fc73d3361a8a9>, name = "a"]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [LCP EchoRep id=0x0 magic=0x7e4576 00 00 00 00]
Mar 11 18:33:25 eeelap pppd[6349]: rcvd [CHAP Success id=0x1 ""]
Mar 11 18:33:25 eeelap pppd[6349]: CHAP authentication succeeded
Mar 11 18:33:25 eeelap pppd[6349]: CHAP authentication succeeded
Mar 11 18:33:25 eeelap pppd[6349]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
Mar 11 18:33:26 eeelap pppd[6349]: rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:26 eeelap pppd[6349]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:27 eeelap pppd[6349]: rcvd [IPCP ConfNak id=0x2 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:27 eeelap pppd[6349]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:28 eeelap pppd[6349]: rcvd [IPCP ConfNak id=0x3 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:28 eeelap pppd[6349]: sent [IPCP ConfReq id=0x4 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:29 eeelap pppd[6349]: rcvd [IPCP ConfNak id=0x4 <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:29 eeelap pppd[6349]: sent [IPCP ConfReq id=0x5 <addr 0.0.0.0> <ms-dns1 10.11.12.13> <ms-dns2 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
Mar 11 18:33:29 eeelap pppd[6349]: Modem hangup
Mar 11 18:33:29 eeelap pppd[6349]: Connection terminated.
Mar 11 18:33:29 eeelap pppd[6349]: Exit.
I thought this was weird as it kind of looked like it was connected and the modem was just hanging up with no explanation. More hours were spent googling the issue and trying many modifications to my wvdial.conf file, only to still have no luck.
Finally when i was about to throw the project in i found a forum post that referred to the Three APN in Australia being 3services rather than 3netaccess which is what it was repeated as everywhere else i had looked. I decided one more try wouldn’t kill me so i changed the APN in my wvdial.conf file and tried to connect again:
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATZ
ATZ
OK
–> Sending: AT+CGDCONT=1,”IP”,”3services”;
AT+CGDCONT=1,”IP”,”3services”;
OK
–> Modem initialized.
–> Sending: ATDT*99***1#
–> Waiting for carrier.
ATDT*99***1#
CONNECT
–> Carrier detected. Starting PPP immediately.
–> Starting pppd at Wed Mar 15 20:11:06 2009
–> Pid of pppd: 6485
–> Using interface ppp0
–> Authentication (CHAP) started
–> Authentication (CHAP) successful
–> local IP address 10.173.110.201
–> remote IP address 10.64.64.64
–> primary DNS address 10.176.65.70
–> secondary DNS address 10.156.38.134
–> Script /etc/ppp/ip-up run successful
–> Default route Ok.
–> Nameserver (DNS) Ok.
–> Connected… Press Ctrl-C to disconnect
It seemed i finally had a working connection and it had nothing to do with the modem or drivers after all. So a tip to those wanting to use Three 3g internet in Australia, use the APN 3services not 3netaccess. Also you may want to check out the Vodafone Betavine site they have their own Linux client which you can use for SMS functionality, i found it a bit on the heavy side but their site is full of open source programs and info related to mobile computing so is well worth a look!