A blog about skating and cycling, or vice versa

Blue in the tooth#

Fri, 08 Dec 2006 02:42:37 +0000

My new phone arrived yesterday, occasioning some monkeying around with Bluetooth. Some notes: :http://ww.telent.net/tmp/med_DSC00014.JPG

1) My USB bluetooth dongle (lsusb identifies it as a "Integrated System Solution Corp. KY-BT100 Bluetooth Adapter") doesn't work when plugged into an unpowered hub. Although lsusb shows it perfectly fine, hcitool scan says Device is not available: No such device. Plug it directly into the computer and it's fine, though.

2) No matter how much I mess around with /etc/bluetooth/hcid.conf (I tried changing the security to "auto", and defining a pinhelper application), I couldn't get phone and computer to pair. The phone would say "Unknown requests access to your items. Allow?", "Allow connection? Always ask/ Always?", "lsip.telent.net-0 Add to my devices?", then prompt me for a passcode, then give a generic and misleading error message. It seems that passcode prompting has to be done over DBus now: if you're running a hide-the-Unix-from-idiots interface like Gnome this is apparently not a problem, but for old and reactionary people like me who actually prefer that the computer do what we_ tell it to, well...

What you need is a thing called passkey-agent, which is command-line-only. Debian revision creep meant that it was installed on my work machine but has been dropped from the package in whatever version of bluez-utils I have at home. All is not entirely lost, though: one need only

:; apt-get source bluez-utils
[...]
:; cd  bluez-utils-3.7/hcid
:; make -f ../debian/passkey-agent-makefile 
cc `pkg-config --libs --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE
  -DVERSION="\ "0.7\"" -o passkey-agent passkey-agent.c 
then install said passkey-agent somewhere sensible and ensure that it's started at login.

3) Freaking Nora, but it's slow. I don't know if it's fundamental bandwidth limitations or if there are inefficiences somewhere that make it that way, but pictures transfer from the phone at around 10kB/second.

4) obexftp has possibly the least friendly UI known to Man. So I am hacking up something cheap and nasty and marginally more usable in Perl, using XML::Simple and Term::Readline.

[ edit: you can find it at http://ww.telent.net/tmp/obexftpl.pl if you're interested. It needs the OBEXFTP.pm module which - guess what? - is part of obexftp but not built in the Debian binary package, so pull the source code down and build it yourself. Grr ]

The picture was taken while skating home last night.