Using the Nokia 6800 in Linux (GPRS and Gnokii)

The 6810 and 6820/6820b models might also work with these procedures


Do this first
GPRS (high-speed internet)

I had a bear of a time getting this phone to work under Linux, so here's how I did it in case you are having the same problem. At first I tried using the Nokia OEM USB cable. Forget it; it only works in Windows.

There are reports that other cables, specifically those based on the PL2303 chipset will work.* Or they have said that it works with Gnokii but not GPRS (high-speed internet).

* Use the pl2303 kernel module, found in the kernel configuration under Device Drivers/USB Support/USB Serial Converter support/USB Prolific 2303 Single Port Serial Driver.

Also, I've seen serial cables on eBay for $5 (search for Nokia 6800 serial cable). Again, I've heard they work with Gnokii but not GPRS (which is why I got this phone). But that's only hearsay; perhaps one day if I can spare $5 I'll get a cable and try GPRS, in which case I'll update this page. If you get a serial cable and get it working, PLEASE .

I was using Knoppix to test it out on a borrowed HP Omnibook XE2. However, these commands should work under any recent version of Linux on any laptop. I'll try to update this page if it's any different under Debian Sid (when I install it on my laptop later this year).

Do this first

Do this with either GPRS or Gnokii.

Go into the BIOS and set the IrDA port to some free COM port. I set mine to COM2 (/dev/ttyS1), I/O port 2F8, IRQ 3. If your BIOS doesn't have these settings, try /dev/ttyS0 through ttyS3 when running irattach.

I ran these commands:
modprobe irda
modprobe irtty
modprobe ircomm
irattach /dev/ttyS1 -s

Sometimes irattach will fail. Run setserial /dev/ttyS1 to see if there is an existing UART (something like 16550A). If so, stop it by running setserial /dev/ttyS1 uart none port 0 irq 0.

Enabled the IrDA on the phone by going to Menu, Connectivity, Infared. Place phone near the IrDA port of your laptop. The phone's IrDA port is the black square on the right side of the phone under the swing arm and speaker.

I ran irdadump to ensure I was getting packets from the phone (ctrl+c to cancel). I saw something like this: Nokia 6800 hint=b125 [ PnP Modem Fax Telephony IrCOMM IrOBEX ] so I knew I was OK.

GPRS (high-speed internet)

I ran minicom -s and changed the port to /dev/ircomm0 and baud rate to 115200. Since I couldn't save this config under Knoppix, I just went to Exit.

I typed at and hit enter. I saw OK, which told me the phone was responding.

I knew at this point that I could use high-speed GPRS to connect to the internet (GPRS is the data service like AT&T's mMode or T-Mobile's T-Zones. T-Mobile's service is $5/month unlimited at speeds around 50-60kbps). I haven't tested this yet, so follow the GPRS HOWTO. Optionally, you might try GPRS EasyConnect.

If I get it working, I'll come back here and update this page. But getting the at command to say OK was the biggest battle, and it means the modem inside the phone is responding, which means getting on the net should be relatively easy.


To get Gnokii to work, I had to recompile it following these instructions.

I'll explain how to do it under Debian Sid and with a messy tarball. You can also modify a .src.rpm, but that's too complicated to explain here. If you're using RedHat, it's worthwhile to know how to modify .src.rpms as it's far less messy than a tarball.

I haven't actually tested the Debian instructions but they seem like they should work. I only tested the tarball install.

Debian users:
apt-get source gnokii
cd gnokii-0.6.1

Tarball users: Unpack the tarball like so:
tar jxf gnokii-0.6.3.tar.bz2
cd gnokii-0.6.3

Both users: Edit common/phones/nk6510.c. At around line 216 you'll see a line line this:
"6510|6310|8310|6310i|6360|6610|6100|5100|3510|3510i", /* Supported models */

I added |6800 to this list right after 6310. I ended up with this:
"6510|6310|6800|8310|6310i|6360|6610|6100|5100|3510|3510i", /* Supported models */

Both users: Edit common/devices/unixirda.c. At around line 43 you'll see *phone[] with some phone models listed below it. I added my 6800 below 6510 like so:
"Nokia 6800",
Don't forget the comma at the end.

Debian users: Increment the changelog. Edit debian/changelog and add an entry to the top like so (the spacing is critical):

gnokii (0.6.1) unstable; urgency=low

  * Added the Nokia 6800

 -- Chris de Vidal   Thu, 22 Jul 2004 13:07:26 -0500

Debian users: I had to install a build dependancy:
apt-get install postgresql-dev

Debian users: That dependancy put the files in an unexpected place:
ln -fs /usr/include/postgresql /usr/include/pgsql

Debian users: Compile and install the package:
dpkg -i ../gnokii_0.6.1_i386.deb

Debian users: I like to save the sources in case I want to upgrade it later. But you do whatever you want to with the sources.

Tarball users: Do the standard routine:
make install

Tarball users: cp Docs/sample/gnokiirc /etc

Both users: Edit /etc/gnokiirc and change port to /dev/ircomm0, model to 6800, and connection to irda.

If all went well, run gnokii --identify and you should see your 6800 respond. If not, make sure the IrDA didn't go to sleep (see Troubleshooting). Xgnokii should now work (haven't tried it yet). Run xgnokii and have fun!


Sometimes irattach will fail. Run setserial /dev/ttyS1 to see if there is an existing UART (something like 16550A). If so, stop it by running setserial /dev/ttyS1 uart none port 0 irq 0.

I found that if IrDA isn't in use, it'll go to sleep. If the phone isn't working, make sure the IrDA indicator is blinking in the upper-left corner. If it went to sleep, turn it on again.

I'm no software programmer, just an end user like you. If you're still having trouble, use Google, read the Infrared HOWTO, the GPRS HOWTO (or this GPRS HOWTO), or contact the very helpful Gnokii mailing list. I'm just telling you what worked for me and my setup.


Thanks goes out to for giving me the modprobe/irattach commands, among other things.
Props go out to for also lending a hand. He suggested I try the 6510 model in Gnokii, which didn't work but got me thinking about the steps above.