Most Popular Pages....


My Clients....

litigious bastards

- Whats this?

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

Accessing GPRS data services over a Nokia E61 smartphone with Puppy Linux 2.16

The hardware

Nokia's E61 is one of a series of Symbian powered smartphones. For my business I frequently need to access the internet while travelling, and while the E61's built in browser is excellent for occasional use, it does not compare with the experience of browsing on a full sized screen. With its built in GPRS modem capability, the E61 is able to provide full internet access to a laptop attached either by Nokia's USB cable adapter, or via Bluetooth. Note that some service providers require you to contact them to enable GPRS, and other service providers block GPRS modem functions in order to force you to purchase their business data services at outrageous cost. My service provider is O2 who are OK, but if I were to recommend a mobile service provider in the UK I would probably suggest T-Mobile. T-Mobile has an option called Web 'n Walk which allows for essentially unlimited GPRS data at a reasonable cost.

My 233MHz Pentium I powered Sony VAIO laptop has only 96MB of memory. It was underpowered when I bought it in 1998, and quite frankly it was virtually unusable running Windows 98. Now in 2007 this laptop is more productive for me than it has ever been. The secret is Puppy Linux. Puppy is a terrific little distribution that can boot from CD, hard drive, or USB and executes in memory. I boot Puppy from CD, and it still manages to boot faster than my 64 bit Desktop running Mandriva. My 96MB is not quite enough for Puppy to run entirely in memory, but even so the applications load quite fast and my piece of junk from 1998 feels quite snappy.

Puppy has made tremendous advances since I first tried it, and I have no hesitation in recommending it for low powered hardware.

Accessing data over GPRS

In this piece I am going to concentrate on connecting the E61 using the Nokia USB data cable. I have had connection via Bluetooth working with Mandriva, but with Puppy I am most interested in the simple solution

Puppy comes with a modem dialler called Gkdial, but I was not able to get the E61 working with that, so instead I installed wvdial from the Puppy PupGet repository.

If a GUI based connection system is preferred then install qtwvdialer as well, together with the qt libraries on which it depends.

Kernel modules

Install the cdc_acm kernel module with modprobe cdc_acm Plug the E61's USB cable into the computer. You should be prompted on the E61 if you want to use PCSuite mode or passthrough mode. Select PCSuite. There is an option in the E61 to make this choice automatically. If you look in the log (tail -n 50 /var/log/messages) you should see the E61 has been recognised and the device /dev/input/ttyACM0 has been created.

In order to ensure the kernel module is loaded automatically in future add the line modprobe cdc_acm to the file /etc/rc.d/rc.local

Configuring wvdial

Copy the files /etc/ppp/wvdial and /etc/ppp/wvdial-pipe into /etc/ppp/peers. Note - Gkdial will no longer work once these files have been moved.

Configure the following files :-
/etc/wvdial.conf
The contents of this file depend on the configuration of your mobile provider. These are the parameters required for my provider O2 in the UK. Other configuration details for the UK may be found at this site.
The most important line is 'Init2', "mobile.o2.co.uk" is the apn_address of my mobile provider. Replace this with your own providers address.

[Dialer defaults]
Baud = 460800
Init1 = ATZ
Init2 = AT+CGDCONT =1,"IP","mobile.o2.co.uk"
Modem = /dev/input/ttyACM0
Modem Type = USB Modem
New PPPD = true
Password = password
Phone = *99#
Username = mobileweb


/etc/ppp/pap-secrets and chap-secrets
* mobileweb password 
mobileweb * password 


The User name and password of my mobile provider is 'mobileweb' and 'password', replace this with the details of your own provider.

Do not try to start wvdial from the Puppy menu since it will start by trying to run wvdialconf which will try and fail to autodetect your E61. Instead run wvdial from the console, or create a new desktop icon for wvdial.

Using qtwvdialer

If wvdial works from the console, then running qtwvdialer should just be a matter of pressing the 'Connect' button on the qtwvdialer GUI.

Tuesday 17th July, 2007

Top Home