<!— Page published by Emacs Muse begins here —>
<p><a href="Non-Sumou.html">Other Ångström tips</a></p>
<p>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.</p>
<p>The kernel is compiled by <a href="http://openembedded.org/">OpenEmbedded</a> with the 2.6.20 pxa-serial-hack.patch. This patch <a href="http://bugs.openembedded.org/show_bug.cgi?id=2066">prevents 8250 loading</a>, which prevents any CF/PCMCIA bluetooth or other such CF serial cards working.</p>
<p>Therefore, you must rebuild the kernel in <a href="http://openembedded.org/">OpenEmbedded</a> without this patch.</p>
<p>I've rebuilt the kernel for <a href="http://wiki.openzaurus.org/Spitz">Spitz</a>. You must flash the <a href="http://ezaurus.com/">Zaurus</a> with <a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/spitz-kernel-without-pxa-serial-hack-patch-20070408-zImage.bin">this kernel</a>. Rename the file to <strong>zImage.bin</strong> (Note the capital &quot;I&quot;.) and put it to the root of a CF or SD card, along with the standard Ångström <a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/updater.sh">updater.sh</a>. Flash the Zaurus. This will only reflash the kernel and you will not lose your installed progs etc.</p>
<p>Then install the following modules, I've rebuilt with the kernel:
<a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/kernel-module-bluecard-cs_2.6.20-r7a_spitz.ipk">kernel-module-bluecard-cs_2.6.20-r7a_spitz.ipk</a>
<a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/kernel-module-bluetooth_2.6.20-r7a_spitz.ipk">kernel-module-bluetooth_2.6.20-r7a_spitz.ipk</a>
<a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/kernel-module-hidp_2.6.20-r7a_spitz.ipk">kernel-module-hidp_2.6.20-r7a_spitz.ipk</a>
<a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/kernel-module-l2cap_2.6.20-r7a_spitz.ipk">kernel-module-l2cap_2.6.20-r7a_spitz.ipk</a>
<a href="http://ShiroiKuma.org/hoka/sofuto/aangstroem/kernel-module-rfcomm_2.6.20-r7a_spitz.ipk">kernel-module-rfcomm_2.6.20-r7a_spitz.ipk</a></p>
<p>Then insmod the modules by running:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ su<br />
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/bluetooth.ko<br />
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/l2cap.ko<br />
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/hidp/hidp.ko<br />
# insmod /lib/modules/2.6.20/kernel/net/bluetooth/rfcomm/rfcomm.ko</b></td></tr></table></p>
<p>Then insert the bluetooth CF.</p>
<p>Then start it by:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ hciconfig hci0 up</b></td></tr></table></p>
<p>You should get no errors. Then running:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ hciconfig</b></td></tr></table>
should show you that the device is up and running.</p>
<p>Then create the rfcomm, by:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ # rfcomm bind rfcomm0</b></td></tr></table></p>
<p>Then running:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ rfcomm</b></td></tr></table>
should give you something like:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>rfcomm0: XX:XX:XX:XX:XX:XX channel X clean</b></td></tr></table>
where the XX refers to the address and channel of your device based on the settings in your /etc/bluetooth/rfcomm.conf</p>
<p>Now bluetooth will work and you can use it.</p>
<p>You must have passkey-agent compiled. For the following to work, <a href="compile%20the%20passkey-agent">Solving the call_passkey_agent(): no agent registered error</a></p>

If you wish to dial your phone and pair with it, you should authorize the <a href="http://ezaurus.com/">Zaurus</a> by:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ passkey-agent &mdash;default 12345 &amp;</b></td></tr></table>
where 12345 is the PIN that you choose. Now you can run <strong>pon</strong> 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:
<table bgcolor="#000000" border="1"><tr><td border="0"><font color="#FFFF00"><b>$ su<br />
# killall passkey-agent</b></td></tr></table>
<!— Page published by Emacs Muse ends here —>