17 May, 2005 at 20:46 1 comment

Getting P800 to Work on Linux


      News (as of 2005-05-05):

        Version 5.18

        • Thanks to Tim we have a newsgroup
        • From now on nfsclient/nfsapp is using the same version as p3nfsd. Don’t get excited from the huge version change: nfsapp 2.09 and 5.18 are the same.

        Version 5.17a

        • Added the proper .SIS variable for UIQ makefiles.
        • Note: you can change the transmission speed dramatically on some devices by using a larger (up to 8192) blocksize with the p3nfsd -nfsblock option. The default 1024 is rather conservative.
        • Note: The defaul bluetooth address changed to 13, as some newer phones are already using port 11

        Version 5.17

        • Fixed a BT bug affecting newer Nokia phones.
        • Note from Nokia 6630 users:
          As the installed OS does not come with console support, nfsclient must be started with the help of a further application. AFAIK the only program supporting this is ProfiExplorer which is part of the ProfiMail Package (excuse me if this is not exact, I do not own a 6630). Start nfsclient.exe directly from ProfiExplorer..

        See CHANGES for older news.


        P3nfsd is a Symbian (Psion/Nokia/Sony-Ericsson/etc) to UNIX/Linux communication program. It allows you to mount the file systems of the Phone/PDA on your UNIX machine. This means that you see all the filesystems of the Phone/PDA as a filesystem on your UNIX machine, and you can copy/backup/edit any file on the Phone/PDA with your preferred tools on the UNIX machine.

      Supported devices:

      • UIQ phones over infrared, bluetooth or the USB cradle
        (e.g. Sony Ericsson P800 or P900, Motorola A920, BenQ P30)
      • Series 60 phones over infrared or bluetooth
        (e.g. Nokia 6600,7650,3650,N-Gage; Siemens SX1; Samsung SGH-D700)
      • Series 80 phones over cable or infrared
        (Nokia Communicator: 9210/9210i/9210c/9290)
      • Psion PDA’s over cable or infrared
        (e.g. Psion 5/5mx/netpad/netBook/Series 7/MC218/revo/mako)
      • EPOC16
        over cable (Psion 3/3a/3c/3mx/Siena/Workabout)


      Some related links:


      Nfsc is a VT100 terminal emulator for the Psion Series 3 (i.e. 3/3a/3c/3mx & Sienna) palmtops.
      Here is a screen dump from the current version.
      Nfsc can also be used as a frontend for p3nfsd (see above).
      Download: nfsc 5.4

Linux On Mobile Computers – -> Linux InfraRed HOWTO


Device Numbers

mknod /dev/ircomm0 c 161 0
mknod /dev/ircomm1 c 161 1
mknod /dev/irlpt0 c 161 16
mknod /dev/irlpt1 c 161 17
mknod /dev/irnet c 10 187
chmod 666 /dev/ir*

There might be some other device number necessary if you want to use the irkbd features. You may find the latest device numbers in ../src/linux/Documentation/devices.txt.

Device Arrangement

First you should put your IrDA devices in range. Though it might be possible that the Linux/IrDA service detects every new device automagically I only have good experience with the devices in range during the configuration process.

Keep your infrared devices together in a range below one meter and an angle of 30 degree. There has to be a direct line of sight between them. If this is not possible, you may use a mirror (an unused M$ CD should work quite good).


Add the following lines to your /etc/conf.modules file:

# IrDA over a normal serial port, or a serial port compatible IrDA port (SIR)
alias tty-ldisc-11 irtty

# IrCOMM (for printing, PPP, Minicom etc)
alias char-major-161 ircomm-tty # if you want IrCOMM support

# But currently the IrLAN protocol is no longer maintained
# by the Linux/IrDA core team.
alias irlan0 irlan

# To be able to attach some serial dongles
# These values are hard-coded in irattach (not instance order)
alias irda-dongle-0 tekram # Tekram IrMate IR-210B
alias irda-dongle-1 esi # ESI JetEye
alias irda-dongle-2 actisys # Actisys IR-220L
alias irda-dongle-3 actisys # Actisys IR-220L+
alias irda-dongle-4 girbil # Greenwich GIrBIL
alias irda-dongle-5 litelink # Parallax LiteLink/ESI JetEye
alias irda-dongle-6 airport # Adaptec Airport 1000 and 2000
alias irda-dongle-7 old_belkin # Belkin (old) SmartBeam dongle
alias irda-dongle-8 ep7211_ir # Cirrus Logic EP7211 Processor (ARM)
alias irda-dongle-9 mcp2120 # MCP2120 (Microchip) based
alias irda-dongle-10 act200l # ACTiSYS Ir-200L
alias irda-dongle-11 ma600 # Mobile Action ma600

# To use the FIR driver. This applies only to the specific device!!!

#options nsc-ircc dongle_id=0x09 # NSC driver on a IBM Thinkpad laptop
#options nsc-ircc dongle_id=0x08 # HP Omnibook 6000
#alias irda0 nsc-ircc

# options smc-ircc ircc_irq= ircc_dma=
# alias irda0 smc-ircc

# options toshoboe max_baud=
# alias irda0 toshoboe

# options w83977af_ir io= io2= irq= qos_mtt_bits=
# alias irda0 w83977af_ir

# IrNET module...
alias char-major-10-187 irnet # Official allocation of IrNET

Then do a depmod -a to update, and then all IrDA modules should be automagically loaded when you need them. Note for testing reasons you may load them manually, but please make sure not to load them twice. There might be some other entries necessary, if you want to use the irkbd features or an USB dongle. A template file is included into the irda-utils package.

Note: With Debian GNU/Linux however you shouldn’t edit /etc/modules.conf directly, instead place the lines inside /etc/modutils/irda and run update-modules afterwards.


Have a look into the files in /etc/irda. Edit them to reflect your setup.

BIOS Configuration

Make sure your infrared port is enabled in the BIOS and check what interrupt and port address it uses. With some laptops it seems necessary to have Microsoft-Windows installed to be able to set BIOS parameters.

I have got reports, that connected to a docking station the infrared port was disabled on some laptops.

Serial Port

Please decide first whether you want to set up Irda either in SIR or in FIR mode. It is recommended to start with SIR.


Choose the ttySx according to your SIR port. Hint: dmesg | grep tty (for details see the chapter Starting the IrDA Stack below).

To get the SIR “serial” device have a look into the BIOS. Then run dmesg | grep tty to get a survey of tty devices supported by your machine. Now try to choose the one, which is probably the IrDA device.


If you don’t succeed with SIR (which seems a rare case) you may try FIR. First look up the BIOS. To avoid some conflicts with serial devices you should do setserial /dev/ttySx uart none. Note: never use setserial /dev/ttySx uart none, when setting up IrDA in SIR mode.

From Florian Lohoff You should also set “port 0x0 irq 0” otherwise you will see interesting effects if there is suddenly a different S1 e.g. by inserting a modem PCMCIA card. The serial driver will then touch the OLD ports without having acquired those which will cause the irda stuff to die/hang. This is a bug i havent been able to find in the serial driver but it definitly exists (Put a printk into the serial_out serial_in stuff).

Resource Conflicts: IRQ, IO

Is some cases IRQ conflicts may occur, especially conflicts with sound, PCMCIA or the hotplug system have been reported. Check cat /proc/interrupts to get some information about IRQ usage on your machine.

Starting IrDA

Most important, you must sync your disks!!! Maybe you have to reboot your machine. Have you read the disclaimer?

There are three sorts of low level drivers: SIR, FIR and dongle for machines without an in-built InfraRed port. To start with Linux/IrDA I recommend to use the SIR method.

Load the modules modprobe irda irtty. irattach /dev/ttyS1 -s to attach the IrDA device to the IrDA services. Check lsmod and dmesg.

irdadump should show all available IrDA devices in range now. Hint: If you are connecting different Linux boxes, you may use hostname YOUR_HOSTNAME to set a unique hostname for each computer.

On the “server” side do pppd /dev/ircomm0 LOCAL_IP:REMOTE_IP On the “client” side do pppd /dev/ircomm0 .

You may now test the connection with ping. And use all sorts of networking connections (ssh, NFS, …) now.

Putting it Together – Obex and P3NFS
0) First download OpenObex to get irobex_psion3

This is a short description of installing/using p3nfs with SymbianOS 6.x
and SymbianOS 7.0 devices

- Nokia 92x0 (Crystal), Nokia 7650 (Series60), Sony Ericsson P800 (UIQ)

- You'll need a program called p3nfsd on your UNIX computer, which has to be
run with root privileges (it is relatively safe to give it setuid
Look at the RPM for a prebuilt binary
- Install the correct .SIS file on the client, for the .tar.gz distribution
they are in the bin directory, the rpm installs them into the
/usr/share/doc/p3nfs-version directory:
(use nfsapp-2.3.crystal.sis for Nokia92x0,
nfsapp-2.3.series60.sis for the 7650,
nfsapp-2.3.UIQ.sis for the P800)

1. p3nfsd:
- % ./configure
% make
- Install it with
# make install
2. nfsapp.app / nfsclient.exe
Note: 1. a prebuilt binary is available in the bin directory
2. the makefile uses the library rules for Linux SDK, which you can
get from:
- http://www.koeniglich.de/symbian_sdk_6.0_on_linux.html or
- http://www.koeniglich.de/symbian_sdk_6.1_on_linux.html or
- http://www.koeniglich.de/symbian_sdk_7.0_on_linux.html
3. If the SDK's are installed to their "standard" locations,
then the toplevel makefile will build the nfsapp SIS files too.
% cd nfsclient
% make -f Makefile.crystal (for the Nokia 9210)
% make -f Makefile.series60 (for the Nokia 7650)
% make -f Makefile.UIQ (for the SE P800)

First time installation: e.g compile openobex, and use
irobex_palm3 <SISfile> to send the SIS.

A). Via cable (Nokia9210 only:-)
0. Connect both devices via the cable.
1. Start nfsapp on the client
2. Start p3nfsd on the server with following options

% p3nfsd -n9210
(you may customize it, try p3nfsd -n9210 -h)

Now you'll see your psion Drives in the /mnt/psion directory.
3. To terminate p3nfsd type (after you left the psion directories with
all your programs)
% ls /mnt/psion/exit

B). Via Infrared
- this method is slower and less fault tolerant than the cable one.
- the order of starting the programs may be important
- it is sometimes necessary to restart the whole process to get contact.

0. Place both devices in infrared contact.
1. Start infrared on the PC side (e.g. /etc/rc.d/init.d/irda start)
2. Start nfsclient, and switch the port (type "p") to IrCOMM
3. Start p3nfsd with

% p3nfsd -series60
% p3nfsd -UIQ
% p3nfsd -n9210 -dev /dev/ircomm0

4. If it won't work, stop p3nfsd with "ls /mnt/psion/exit", stop irda,
stop nfsclient and restart with 1.

C). Via Bluetooth
See the README.bluetooth.linux file.

Entry filed under: Uncategorized.

1 Comment Add your own

  • 1. Sumit Shah  |  8 September, 2005 at 14:27

    Hello Sriks6711,
    It’s being a nice developement of yours to mount symbian memory in linux.
    However, When I download it from your website and install “nfsapp-5.18-series60.noirda.sis” on my Nokia N-Gage QD handset….IT Installs Sucessfully….BUT.. When I try to open the NFSApp it gives me the message “System error” with no error number.
    FYI: I have tried to install all the sis files but only two of them sucessed
    1. is nfsapp-5.18-series60.sis
    2. is nfsapp-5.18-series60.noirda.sis

    HOWEVER, none WORKS, both of them gives the same error.

    Any comment, suggestions, may be iam doing it wrong…
    sumit shah



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


May 2005
« Apr   Jun »


%d bloggers like this: