[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