Nokia E71 + Internet (USB)

Recipe for getting Nokia E71 working with Linux laptop (Fedora Core 9) and USB cable:

The E71 comes with a USB cable; standard-A to micro-B. When this is plugged in, the phone pops up a menu including "PC Suite" and "Connect PC to Web". Select "PC Suite" - the "web" setting is a mass storage option that includes a Windows autorun software installer. Linux automatically detects the phone and connects it to /dev/ttyACM0. If Gnome Network Manager is running, and there is an entry for the Rogers network, it should connect automatically. If there is no other network connection, the route and DNS should get set. The modem number to dial is *99# (GPRS IP+PPP), and the Rogers access point (APN) is "internet.com".

Recipe for connection using Bluetooth

I could not get this to work automatically using Gnome Network Manager (in FC9). However it works with pppd and chat as for the 6820.

First, start the Bluetooth system with "service bluetooth start". Then make the phone visible on Bluetooth, and select "Browse Device" (right click) in the Bluetooth Applet in Linux, and connect to the phone. The phone should pop up a request for a PIN, then the laptop, so you can pair (bond) the devices. Then right-click the Bluetooth Applet, select preferences, select the phone and set it trusted. The phone should be discoverable with "hcitool scan", which finds the address. You can then ping the phone, using e.g. "l2ping 00:21:DE:AD:BE:EF"

You can then connect to the phone with rfcomm. I found I had to use unit 2, e.g.
rfcomm connect 0 00:21:DE:AD:BE:EF 2
With this running, I could connect to the phone with minicom over the serial device /dev/rfcomm0 at 115200/8N1, and send AT commands e.g. "ATI3" (which returns "Nokia E71").

I put this in /etc/bluetooth/rfcomm.conf to bind to the device at startup. Then I created a pppd chat script for Rogers network:

/etc/ppp/peers/rogersbt

/devrfcomm0 115200 debug usepeerdns defaultroute deflate 9 noipdefault
connect '/usr/sbin/chat -v -f /etc/ppp/peers/rogersbt.chat'
/etc/ppp/peers/rogersbt.chat
ABORT "NO CARRIER"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
"" "ATZ"
OK "ATS0=0"
OK 'AT+CGDCONT=1,"IP","internet.com",,0,0'
OK "ATD*99#"
CONNECT
CLI:
$ pppd call rogersbt
..
$ killall pppd

CGDCONT command overrides the APN code from the phone. This line may only be necessary if you use more than one APN. AT codes are documented various places, e.g. by Kiss Gábor, or by Sierra Wireless


You can talk to the modem with minicom and enter AT codes - there are lots. Things like asking for the signal strength and cell ID. Not everything documented in e.g. the "Nokia GSM connectivity terminal AT command guide" works, though.
Note the GPRS mode dial string documented in the Sierra guide:

ATD*[GPRSSC]
*[address]
*[L2P]
*[cid]#
Basically, GPRSSC is 99 or 98 and the other entries are optional.

Kernel Tuning

It may be advantageous to set /proc/sys/net/ipv4/tcp_keepalive_time to 1200 (20 minutes). Also possibly reduce txqueuelen in ppp0 ifconfig (must check..)

Resources:

Return to Vancouver Mobile Internet Blog 2
Andrew Daviel