diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-08-10 10:30:06 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2006-08-10 10:30:06 +0000 |
commit | 58e445d114b13530c7e1372b1920fffed7b8387f (patch) | |
tree | 2ecbc80c745b760ba5008666730633c088363572 /scripts/bluetooth_serial | |
parent | 35e9349ffc53950c4b78fba9537a50cdb6e5fd7a (diff) |
Add udev script for Bluetooth serial PCMCIA cards
Diffstat (limited to 'scripts/bluetooth_serial')
-rw-r--r-- | scripts/bluetooth_serial | 44 |
1 files changed, 44 insertions, 0 deletions
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 |