[Pkg-bluetooth-maintainers] bluez-pcmcia-support D-Link DCF650BT

Jasper Mackenzie jasper at treshna.com
Fri Mar 30 02:07:07 UTC 2007


Gidday,
  Ime a happy monkey adding echo everywhere in bluetooth-serial as a  
debugging method.
I thought Ide share my experience getting the D-Links CF card working in a  
pcmcia adaptor, and give my suggestions as to how you could make this  
easier for other mindless folls such as myself.
  (for starters it would save a day and a half's work to have serial_cs  
compiled... oops)

Thus beggineth:
I think it would be very helpful to have some documentation in  
/usr/share/doc/bluez-pcmcia-support syaing just a bit about what stuff is  
and where it is, such as:
kernel modules recommended (i.e serial_cs, hci_uart etc..}
Where to add support for your particular card, do pccard ident, and look  
at /etc/udev/rules.d/z60_bluez-pcmcia-support.rules
  Maybee even have a blank template or something there, anything would be  
good.
Some reference to bluetooth-serial

I added the following lines to  
/etc/udev/rules.d/z60_bluez-pcmcia-support.rules, taking the second  
directly from a random diff file for some live cd (music and media  
orientated)
I tried both and opted for teh second as it has ENV{HCIOPTS}="bcsp 115200"  
which soles the NEXT issue

#D-Link  DCF650BT Bluetooth CF Card
#SUBSYSTEM=="tty", BUS=="pcmcia", SYSFS{prod_id1}=="Bluetooth BT0100M",   
RUN+="bluetooth_serial"

# CC&C BT0100M
#SUBSYSTEM=="tty", BUS=="pcmcia", SYSFS{prod_id1}=="Bluetooth BT0100M",  
ENV{HCIOPTS}="bcsp 115200", RUN+="/lib/udev/bluetooth_serial"rayleigh:~$ ~

The next issue was that hciattach wasnt working, so as mentioned above I  
started adding ehcos in bluetooth_serial to see where it failed. It turns  
out that $MANF_CARD_ID becomes meangingless as the card reports neither a  
device ID or manufatureres id. I got the script to run env to see what we  
had and this was what we got:
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'HEck why dont we have it all, heres env'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'SUBSYSTEM=tty'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'CARD_ID='
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'DEVPATH=/class/tty/ttyS1'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'MANF_ID='
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'MINOR=65'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'ACTION=add'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'PWD=/'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'UDEV_LOG=100000'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'HCIOPTS=bcsp 115200'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'MAJOR=4'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'UDEVD_EVENT=1'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'DEVNAME=/dev/ttyS1'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'SHLVL=1'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) 'SEQNUM=1945'
Mar 30 12:28:28 [udevd-event] run_program: '/lib/udev/bluetooth_serial'  
(stdout) '_=/usr/bin/env'

Hence I am recommending dropping the line:
               /usr/sbin/hciattach $DEVNAME $MANF_CARD_ID
and replacing it with
                 /usr/sbin/hciattach $DEVNAME $HCIOPTS
where $HCIOPTS comes from the  
/etc/udev/rules.d/z60_bluez-pcmcia-support.rules entry.

Please excuse me, I have no basis other than this card to base this  
opinion on, so this could be dumb advice. It just seems inherinly flawed  
to modify the script based on a manufacturer and card id when there is a  
possible (and real) card that has neither. SO instead move specific  
options to the udev rules. Also simplifies the script as the if manfid  
blah blah is unnescesary....

So saying I still cant get this damned card to detect any devieces on hidd  
--search, but based on the id of my mouse from the laptops internal usb  
bluetooth that works perfecly ("It just worked') i was able to attach  
fine. Problems will be random cellphones and headsets or whatever other  
convinient devices my poor unsuspecting mother tries to attach.

Please let me know if this is of use, and how I could be of use. I will  
gladly submit my mums laptop to the torture of testing your more eloquent  
solutions.

Jasper

ps. ooops.
There was another file that I unkowingly was advised to creat and edit,  
which I suspected would be completely useless
adding the following to /etc/bluetooth/uart
"Bluetooth BT0100M", "", "":/dev/ttyS3 bcsp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bluetooth_serial.diff
Type: application/octet-stream
Size: 581 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-bluetooth-maintainers/attachments/20070330/8acb88e3/bluetooth_serial.obj


More information about the Pkg-bluetooth-maintainers mailing list