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