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 |
Then create the rfcomm, by:
| $ # rfcomm bind rfcomm0 |
Then running:
| $ rfcomm |
| rfcomm0: XX:XX:XX:XX:XX:XX channel X clean |
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 & |
| $ su # killall passkey-agent |