Posts Tagged ‘digi’

February 2nd, 2010

Using the Nokia N900 as a modem

For those of you who don’t know, I was lucky enough to be selected to receive a Nokia N900 for trial courtesy of WOMworld Nokia. I will write about my experience using the phone as a first-time smartphone user soon enough; I don’t think I’ve had enough time to build a first impression :)

For now though, here’s a howto on the first thing anyone would want to do with a 3G phone: turning it into a modem. This applies to someone in my scenario who is connecting a Nokia N900 to a Linux machine (also known as tethering). However it should apply the same to any other machine using the same concepts. Which is that you can plug the phone in, expect it to register as a USB modem, and use a dialer to dial out.

Step 1: Connect Your Phone
Make sure your phone is connected to the machine via the US cable that comes packaged with the phone. Upon connecting your phone to the machine you will see a pop-up on the phone that asks how you would like to connect this device, with the options being “Mass Storage mode” or “PC Suite Mode”. Technically you should be able to use the phone as a modem even without making a choice here, but if you can’t connect without choosing, choose “PC Suite Mode”.

Step 2: Make sure the phone is recognised as a USB modem
Make sure the phone (Nokia N900 in this case) is recognised as a USB modem by the machine. To do so run lsusb from the terminal. Which should give you something along the lines of
Bus 002 Device 007: ID 0421:01c8 Nokia Mobile Phones Next run ifconfig from the terminal, you should see a new device “usb0″. This is where you know you’re good to go. If you don’t get this, well, unplug the phone from the machine and try again.

Step 3: Make sure your phone is no longer connected to the internet.
edit: this step is dependent on your provider. You may not need this
That means shut down your Internet Connection (generally your 3G) on the N900. And on the N900 this was a little more difficult than I expected; because I did initially set my phone to connect whenever it can. Turning the 3G services off did nothing to override the previous settings, the phone just tries to reconnect again. That means you will have to first make sure you turn off the settings to “Always Connect” and only then turn the Internet Connection off.

Step 4: Configure your dialer
I use wvdial and i recommend you do too. If you don’t have it, install it (ie “sudo apt-get install wvdial). For this step there’s one really important detail that you will need to know which is your APN (Access Point Name). This differs across carriers so google for your carrier / ISP’s APN first. The next thing to know will be the credentials required to login. I’m using DiGi where the APN is “diginet”; the username “guest” and the password “guest”. The rest of the settings aren’t too different from my 3G broadband settings identified here.
Note: the modem in my case is registered as /dev/ttyACM0 which IIRC is a standard USB modem, but you will want to confirm the location of your modem before actually configuring your dialer

Step 5: Dial
As mentioned I use wvdial, so all I need to do is to ensure I have configure the config file at /etc/wvdial.conf and from terminal type sudo wvdial. I have included the wvdial config file below which of course works for me. Your own config file shouldn’t look that much different with the exception of the APN, the Username, the Password and maybe the Phone number.


[Dialer Defaults]
Modem = /dev/ttyACM0
Baud = 230400
Init1 = AT+CGDCONT=1,"IP","diginet"
Init3 =
Area Code =
Phone = *99***1#
Username = guest
Password = guest
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 0
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1
Check Def Route = 1
October 30th, 2009

Huawei E620 and Linux

The modem used is Huawei E620 or E1550. I’m not sure why it has 2 names, but it’s the same thing as far as I can see.

This is specifically for DiGi, but anything else on the same modem would work as well

1. make sure the device registers as a 3g modem and not a storage device. lsusb and look for:

Bus 002 Device 005: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
if you get that proceed to step 5. Else continue with step 2
2. Get usb_modswitch, install it as root. The default installation path is /usr/sbin.
You will not need to compile this, there is a binary prepackaged that you may use.
3. `vim /etc/usb_modeswitch.conf` and paste the following lines:
# Huawei E1550
DefaultVendor = 0x12d1
DefaultProduct = 0x1446
MessageEndpoint = 0x01
MessageContent = "55534243000000000000000000000011060000000000000000000000000000"

4. plug in the modem and run `sudo usb_modswitch`. do another `lsusb` to make sure the device is registered properly as in step 1. `vimĀ /etc/udev/rules.d/45-huawei1550.rules` and paste the following line:

SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/usb_modeswitch"
5. I use wvdial, if you do too then `vim /etc/wvdial.conf` and paste the following lines:
< == Leave This Line Empty ==>
Modem = /dev/ttyUSB0
Baud = 230400
Init1 = AT+CGDCONT=1,"IP","3gdgnet"
Init3 =
Area Code =
Phone = *99***1#
Username = digi
Password = digi
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 0
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1
Check Def Route = 1
Notice the empty first line. That makes a difference. Trust me.
6. run `sudo wvdial` and you should be good to go.
If you’re using kppp then just use the configuration from the top except the phone number is *99#
And who said linux was not ready for the desktop??