diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /net-wireless/irda-utils/files/irda-usb.sh |
reinit the tree, so we can have metadata
Diffstat (limited to 'net-wireless/irda-utils/files/irda-usb.sh')
-rw-r--r-- | net-wireless/irda-utils/files/irda-usb.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/net-wireless/irda-utils/files/irda-usb.sh b/net-wireless/irda-utils/files/irda-usb.sh new file mode 100644 index 000000000000..d0250eab891f --- /dev/null +++ b/net-wireless/irda-utils/files/irda-usb.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# +# irda-usb +# +# Hotplug IrDA-USB devices. Only USB devices are handled! +# To initialize normal SIR/FIR dongles, please use /etc/init.d/irda + +SYSFS="/sys" + +checkusb() { + # quick check, but not always available + [ "${PHYSDEVBUS}" = "usb" ] && return 0 + + # alternative check via modalias + /bin/grep -q '^usb:' "${SYSFS}${DEVPATH}/device/modalias" 2>/dev/null +} + +checkconfig() { + . /etc/conf.d/irda + + if [ "${DISCOVERY}" = "yes" ]; then + DISCOVERY="-s" + else + DISCOVERY="" + fi + + NET_IRDA_OPTS="" + + # Set maximum baud rate for IrDA + if [ -n "${MAX_BAUD_RATE}" ]; then + NET_IRDA_OPTS="${NET_IRDA_OPTS} net.irda.max_baud_rate=${MAX_BAUD_RATE}" + fi + + # Disable discovery (enabling is done automatically by irattach) + if [ -z "${DISCOVERY}" ]; then + NET_IRDA_OPTS="${NET_IRDA_OPTS} net.irda.discovery=0" + fi +} + +case "${ACTION}" in + add) + # We handle USB only + checkusb || exit 0 + + # Load config + checkconfig + + # Load IrDA modules + /sbin/modprobe -sqa ircomm-tty ${LOAD_MODULES} + + # Set IrDA options + [ -n "${NET_IRDA_OPTS}" ] && /sbin/sysctl -e -q -w ${NET_IRDA_OPTS} + + # Finally, attach IrDA device + /usr/sbin/irattach ${INTERFACE} ${DISCOVERY} + ;; + + remove) + # Unconditionally kill irattach instance + /usr/bin/pkill -f "^/usr/sbin/irattach ${INTERFACE} ?" + ;; +esac |