Updates on PAN

I did work on the PAN connection for the Nokia N810. As I described earlier ( Bluetooth PAN) I used maemo-pan on the Nokia and the setup as described in the mentioned tutorial on the Ubuntu desktop. It worked but I needed to set the desktop address of the computer within the Nokia by hand. Additionally the connection setup took quite some time since I always started the dhcp server new for each connection and it only worked for one PAN connection at a time.

I made two improvements to the old setup. First I added some functionality to the maemo-pan that it lets the user select the device to connect to. The second improvement I made on the Ubuntu desktop. Instead of starting the dhcp server on the newly create interface I create a bridge interface and add the new created interface to the bridged interfaces. This way I only need to start the dhcp server once for the bridge interface. This way it supports more then one PAN connection at once and it runs much more stable than before.

I wrote a small tutorial how to setup a Bluetooth PAN on Ubuntu with a bridge interface.

For the maemo-pan I sent a patch to the project.

Additional note the problem I got with Bluetooth on Ubuntu 8.04 beta is now with the release of Ubuntu 8.04 resolved. The pand binary is available again.

Bluetooth PAN

Today I managed to get the personal area networking (PAN) working with a Nokia N810 and a Ubuntu Linux system. However it took me quite a while to figure out everything to get it working.

The first problem I had was that the Nokia N810 does not support the PAN Bluetooth profile by default only dial-up networking (DUN) is supported. The recently released maemo-pan application adds support for PAN to the N810.
The problem I got with maemo-pan is that I could not register my computer as a phone and because of this the maemo-pan application did not find my workstation. After reading the source code I figured out that I just need to set the appropriate value in GConf to get it connecting. It is necessary that the two devices are paired before that they can connect without any further authentication.
With the following call to the gconftool-2 it is possible to set the HW-Address of the Bluetooth adapter of the desktop. This needs to be called on the N810.

gconftool-2 -s /system/osso/connectivity/BT/preferred --t string "XX"

Replace the ‘XX’ above with the hardware address of the desktop. To check that the configuration is set correctly you can call the gconftool-2 with the following parameters:

gconftool-2 -g /system/osso/connectivity/BT/preferred

The next problem I encountered was that I used Ubuntu 8.04beta. Where I figured out that there are some problems with the bluez-utils. Actually the pand executable is missing. I installed the bluez-utils from the PPA from Elliot Murphy. In this package the pand binaries are available and working.

I followed the howto Bluetooth PAND debian etch which did work almost. It did work to get a connection but I got the following error message in the syslog after some data where transmitted.

NETDEV WATCHDOG: bnep0: transmit timed out

If this happens I need to restart the connection and everything will work again, for a small amount of data. Since I tested these within VMWare I thought I might just try it on a real machine. Surprisingly it just worked without any problem. This is yet an other example if you get any problem with a USB device within VMWare just try the device on a real machine since it is possible that it might work without problems. It might work better if I would use VMWare 6 and no more VMWare 5.5 since there where some improvements within the USB support.

What is still missing now is a tool on the N810 to select the Bluetooth partner to connect to that offers PAN. This way it would not be necessary to select the PAN device as a phone or set it by hand as the device to connect to. I will see if I get the time to do that.