Wednesday, February 23, 2011

Telia E1750 Mobile Broadband on Linux

This explains how I got my Telia Mobile Broadband (Telia Mobilt bredband) usb modem working with Arch linux. The theory should be the same though, for any distribution.

What you need:

1. A Huawei E1750 usb modem
2. Windows installation (To reset the pin and test the modem)
3. An existing internet connection (To install packages)
4. Linux with ppp and ppp/usb support built into its kernel (*)

*Any big distribution should have this by default.

Firstly, install and connection your modem in Windows using Telia's software. You need to do this to establish that your modem is working properly, and, more importantly to disable the PIN on it (Its in the options menus). (Note that doing this makes your usb unsecure as anybody can steal it and start using your modem, but I can't seem to get the pin to enter in correctly within Linux).

Once you have connected properly, and disabled your pin, boot into linux. You first need to install usb_modeswitch(http://www.draisberghof.de/usb_modeswitch/), as this will allow your modem to be detected as both a usb drive and as a modem. In arch linux you do it like this:

pacman -S usb_modeswitch
ldconfig
Connect your usb. In dmessg you should see this:
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
option 2-1.1:1.0: GSM modem (1-port) converter detected
usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB0
option 2-1.1:1.1: GSM modem (1-port) converter detected
usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB1
option 2-1.1:1.2: GSM modem (1-port) converter detected
usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB2
usbcore: registered new interface driver option

And if you do lsusb you should see something like this:
Bus 002 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Now that your USB modem is detected, its time to install the ppp applications used to manage it, and they are ppp and wvdial. Again, with arch
pacman -S ppp
pacman -S wvdial
Setting up wvdial is as simple as editing /etc/wvdial.conf and adding the following:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","online.telia.se"
Modem Type = Analog Modem
ISDN = 0
Password = dummy
Username = dummy
Phone = *99#
Modem = /dev/ttyUSB0
Baud = 9600
Dial Command = ATDT
Stupid Mode = 1
Type wvdial and hopefully this appears:
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","online.telia.se"
AT+CGDCONT=1,"IP","online.telia.se"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Wed Feb 23 15:35:31 2011
--> Pid of pppd: 4416
--> Using interface ppp0
--> local  IP address 
--> remote IP address 
--> primary   DNS address 
--> secondary DNS address 
Your now connected to the internet! For some reason pppd did not set my default gateway the first time, so I needed to add it myself by doing this, although you may not need to.

route add default gw 

2 comments:

Cilyan said...

Hello !
Thanks a lot for your tuto, I could set up this damn key with only two reboots between Windows and Linux as I didn't have an extra connexion.
I crossed your config with the one proposed here to enable PIN: http://tlab.org/huawei-e220-3g-usb-data-card-with-tele2-in-ubuntu-linux

My config is now:

[Dialer defaults]
Modem = /dev/ttyUSB0

[Dialer pin]
Modem = /dev/ttyUSB0
Baud = 9600
Init1 = AT+CPIN=1234

[Dialer telia]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","online.telia.se"
Modem Type = Analog Modem
ISDN = 0
Password = dummy
Username = dummy
Phone = *99#
Modem = /dev/ttyUSB0
Baud = 9600
Dial Command = ATDT
Stupid Mode = 1

I connect dialing
wvdial pin
wvdial telia

Regards

Ben Leov said...

Hi, thanks for your reply! I tried the pin command AT+CPIN but it kept returning ERROR for some reason. Perhaps I had the incorrect baud rate? I'm not sure, but I'm glad you found a better solution!