Adventures in Bluetooth
4:21pm, Friday 25 May 2007
Or, terse and lightly-edited notes on how to get a Belkin F8T001UK USB Bluetooth adapter to work on Debian Etch, and make it talk to a Palm Tungsten E2.
Just plugging the adapter in, lsusb says:
Bus 001 Device 002: ID 0a5c:2033 Broadcom Corp. BCM2033 Bluetooth
I installed a bunch of likely-looking packages:
- bluetooth
- bluez-utils, bluez-firmware, bluez-gnome
- obexpushd, ussp-push
With bluez-firmware installed and the firmware copied from
/usr/lib/firmware to /lib/firmware to fix
a silly
file location bug lsusb says:
Bus 001 Device 005: ID 0a5c:2001 Broadcom Corp.
At this point, btscanner or "hcitool inq" should show the presence of
the Palm. (And whatever else happens to be nearby.)
I don't generally use Gnome, so I had to
compile /usr/share/doc/bluez-utils/examples/passkey-agent.c.gz
(there's a Makefile),
and manually run gnome-panel and "passkey-agent --default 1234" in order to
pair the Palm with the computer. Once that's done you can quit
gnome-panel; it's not needed again.
With that done, sdptool browse
provoked a response
from the Palm which was a good sign.
Transferring files, Palm to PC
Install obexpushd, then run
obexpushd -B -d
and on the Palm, do Menu -> Send. Received files end up in the
current directory.
Transferring files, PC to Palm
Install ussp-push, then run
ussp-push --debug "Dave's TE2"@ bluetooth.txt bluetooth.txt
to transfer a text file as a memo. It also
works for .jpg (to the Media app).
You might need @1 or @9 if it doesn't work first time.
Network connection sharing
Edit /etc/default/bluetooth:
- enable dund
- set
DUND_OPTIONS="--listen --persist 10.0.0.1:10.0.0.2"
(choose some unused network)
Run
/etc/init.d/bluetooth restart
Edit /etc/ppp/pap-secrets:
# client server secret IPaddrs
mypalm * PaSsWoRd *
Edit /etc/ppp/options to set a DNS server or two.
Create a network connection on the Palm:
in the Bluetooth app, tap Setup Devices -> LAN setup -> select
the PC -> fill in the username and password from the pap-secrets
file.
Turn on masquerading on the PC:
echo '1' > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i ppp0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Now web browsing, ssh, etc from the Palm should work.