From GnokiiWiki
Jump to: navigation, search



gnokii is a command line program that translates your input in a way suitable to libgnokii which does the real work of connecting to your phone with a driver that translates again your input in a way suitable to your phone.

This means that a command will succed only if it is supported by the driver in use and libgnokii can connect to the phone and the phone can handle it.

A driver is a piece of software which handles a family of similar phones and it is inserted into libgnokii at compile time. If you don't know what driver is right, read all the comments in gnokiirc namely:

# There are few main models that should make use of the certain drivers.
# These are: 6110, 7110, 6510, 3110, 2110, 6160.

If your phone model is not listed then you can try at your own risk one of the following settings:

  • model = 6510 to use the Nk6510 driver, which supports 6510, 6310, 8310, 6310i, 6360, 6610, 6100, 5100, 3510, 3510i, 3595, 6800, 6810, 6820, 6820b, 6610i , 6230, 6650, 7210, 7250, 7250i, 7600, 6170, 6020, 6230i, 5140, 5140i, 6021, 6500, 6220, 3120b, 3100, 3120, 6015i, 6101, 6680, 6280, 3220, 6136, series60, series40
  • model = gnapplet to use the gnapplet driver, which supports gnapplet, symbian, 3650, 6600, sx1
  • model = 6160 to use the Nk6160 driver, which supports 6160, 5120, 6185
  • model = 7110 to use the Nk7110 driver, which supports 7110, 6210, 6250, 7190
  • model = AT or model = AT-HW to use the atgen driver, which supports most modern phones, but keep in mind that the standard AT protocol has less features than Nokia protocols (it's not a gnokii shortcoming), so you should use this setting only if your phone is not supported by the other drivers

There is also a page with configurations known to work.

Solve your problems


  1. check if you need to load a module with modprobe or if it is loaded automatically
    use lsmod and cat /proc/bus/usb/devices; remember that lsusb tells nothing about modules
  2. check if the module has created a device and if its permissions allow your user to read and write
    use dmesg | tail or tail /var/log/messages and ls -l /dev/name-of-device-created
  3. check if you are using the correct port = , model = and connection = values in gnokiirc
    read the comments in gnokiirc and the list of configurations known to work
  4. if you want to use dku2libusb see DKU2#Setting_permissions_for_libusb
  5. search the mailing list archives to see if somebody has found a solution
    see Support
  6. ask for help in the mailing list
    see Support again

Dealing with NetworkManager/ModemManager interference

If ModemManager is interfering with a USB device (eg 3G USB modem) that you only want to use with gnokii (and not as a modem), you can add a udev rule to fix this. Otherwise, ModemManager will talk to your USB device for the first minute or so after you plug it in, making it hard for gnokii to talk to the device reliably.

Find the USB device that you want to hide from ModemManager using lsusb:

[root@sim ~]# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[root@sim ~]#

In this case, we'll hide the MF636; we need the two 4-digit numbers separated by a colon, in this case "19d2" and "0031"; these are the vendor ID and product ID of the device.

We add a line like this to /etc/udev/rules.d/75-custom-mm-usb-blacklist.rules (if the file does not exist, you can create it):

ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0031", ENV{ID_MM_DEVICE_IGNORE}="1"

This rule sets the "ID_MM_DEVICE_IGNORE" environment variable, which tells ModemManager to ignore this device. You can safely place more than one such rule into this file, if you have more than one device that you want to stop ModemManager from playing with.

Because of the way that udev works, we don't have to restart the computer, or even restart udev: the new rule should automagically take effect immediately. Unplug and replug the device while watching your system logs to see if ModemManager leaves the device alone...

Note where the vendor and products IDs are in the line we added to the udev rules file: you'll substitute your own device's vendor and product IDs there if you add a different device from our example.


  1. if you use an USB adapter check in the Control Panel that its drivers are correctly loaded and which COM port number was assigned to it
You might find more information in the Windows page or in a configuration page specific to your phone.



  • Linux-IrDA tutorial and various hints how to get it to work
  • See also IrDA


  • Bluetooth page in this wiki
  • BlueZ FAQ General purpose FAQ on BlueZ
  • Gentoo HOWTO A well laid out guide, if you have installed the software and just need to check which parts to configure

USB Cable support