Other Ångström tips

At the time of the writing of this page (2007-04-08) Bluetooth works under Ångström, however some hacking must be done to enable you to use a bluetooth CF card.

The kernel is compiled by OpenEmbedded with the 2.6.20 pxa-serial-hack.patch. This patch prevents 8250 loading, which prevents any CF/PCMCIA bluetooth or other such CF serial cards working.

Therefore, you must rebuild the kernel in OpenEmbedded without this patch.

I've rebuilt the kernel for Spitz. You must flash the Zaurus with this kernel. Rename the file to zImage.bin (Note the capital "I".) and put it to the root of a CF or SD card, along with the standard Ångström updater.sh. Flash the Zaurus. This will only reflash the kernel and you will not lose your installed progs etc.

Then install the following modules, I've rebuilt with the kernel: kernel-module-bluecard-cs_2.6.20-r7a_spitz.ipk kernel-module-bluetooth_2.6.20-r7a_spitz.ipk kernel-module-hidp_2.6.20-r7a_spitz.ipk kernel-module-l2cap_2.6.20-r7a_spitz.ipk kernel-module-rfcomm_2.6.20-r7a_spitz.ipk

Then insmod the modules by running:

$ su
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/bluetooth.ko
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/l2cap.ko
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/hidp/hidp.ko
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/rfcomm/rfcomm.ko

Then insert the bluetooth CF.

Then start it by:

$ hciconfig hci0 up

You should get no errors. Then running:

$ hciconfig
should show you that the device is up and running.

Then create the rfcomm, by:

$ # rfcomm bind rfcomm0

Then running:

$ rfcomm
should give you something like:
rfcomm0: XX:XX:XX:XX:XX:XX channel X clean
where the XX refers to the address and channel of your device based on the settings in your /etc/bluetooth/rfcomm.conf

Now bluetooth will work and you can use it.

You must have passkey-agent compiled. For the following to work, 相撲外:Solving the call_passkey_agent(): no agent registered error

If you wish to dial your phone and pair with it, you should authorize the Zaurus by:

$ passkey-agent —default 12345 &
where 12345 is the PIN that you choose. Now you can run pon and connect to your phone. If you then authorize the Zaurus to connect without asking you will not have to run the passkey-agent before connecting. Now kill passkey-agent by:
$ su
# killall passkey-agent


.