From 58e445d114b13530c7e1372b1920fffed7b8387f Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 10 Aug 2006 10:30:06 +0000 Subject: Add udev script for Bluetooth serial PCMCIA cards --- scripts/bluetooth_serial | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 scripts/bluetooth_serial (limited to 'scripts/bluetooth_serial') diff --git a/scripts/bluetooth_serial b/scripts/bluetooth_serial new file mode 100644 index 00000000..6461e78d --- /dev/null +++ b/scripts/bluetooth_serial @@ -0,0 +1,44 @@ +#!/bin/sh +# +# bluetooth_serial +# +# Bluetooth serial PCMCIA card initialization +# + +start_serial() +{ + if [ ! -x /bin/setserial -o ! -x /usr/sbin/hciattach ]; then + logger "$0: setserial or hciattach not executable, cannot start $DEVNAME" + return 1 + fi + + IRQ=`/bin/setserial $DEVNAME | sed -e 's/.*IRQ: //'` + /bin/setserial $DEVNAME irq 0 ; /bin/setserial $DEVNAME irq $IRQ + + MANF_CARD_ID="${MANF_ID},${CARD_ID}" + # I don't have a generic solution, sorry + if [ $MANF_CARD_ID = "0x0160,0x0002" ]; then + /usr/sbin/hciattach $DEVNAME $MANF_CARD_ID 115200 + else + /usr/sbin/hciattach $DEVNAME $MANF_CARD_ID + fi +} + +stop_serial() +{ + [ -x /bin/fuser ] || return 1 + + /bin/fuser -k -HUP $DEVNAME > /dev/null +} + +case "$ACTION" in + add) + start_serial + ;; + remove) + stop_serial + ;; + *) + logger "Unknown action received $0: $ACTION" + ;; +esac -- cgit From cab0f75d370f670d3076928333b97bf1e86bd269 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 1 Oct 2006 16:11:34 +0000 Subject: Update serial PCMCIA bases card support --- scripts/bluetooth_serial | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'scripts/bluetooth_serial') diff --git a/scripts/bluetooth_serial b/scripts/bluetooth_serial index 6461e78d..e5be6c2e 100644 --- a/scripts/bluetooth_serial +++ b/scripts/bluetooth_serial @@ -12,16 +12,11 @@ start_serial() return 1 fi - IRQ=`/bin/setserial $DEVNAME | sed -e 's/.*IRQ: //'` - /bin/setserial $DEVNAME irq 0 ; /bin/setserial $DEVNAME irq $IRQ - - MANF_CARD_ID="${MANF_ID},${CARD_ID}" - # I don't have a generic solution, sorry - if [ $MANF_CARD_ID = "0x0160,0x0002" ]; then - /usr/sbin/hciattach $DEVNAME $MANF_CARD_ID 115200 - else - /usr/sbin/hciattach $DEVNAME $MANF_CARD_ID + if [ "$BAUDBASE" != "" ]; then + /bin/setserial $DEVNAME baud_base $BAUDBASE fi + + /usr/sbin/hciattach $DEVNAME $HCIOPTS 2>&1 | logger -t hciattach } stop_serial() -- cgit