diff --git a/udev/configure-usb-modem b/udev/configure-usb-modem old mode 100644 new mode 100755 index 97468fc..9972af7 --- a/udev/configure-usb-modem +++ b/udev/configure-usb-modem @@ -1,8 +1,21 @@ #!/bin/sh +DEVPATH=/sys/$1 +USB_ID= + +[ -d ${DEVPATH} ] || exit 1 + +while [ ! "${USB_ID}" ]; do + if [ -f ${DEVPATH}/avoid_reset_quirk ]; then + USB_ID=$(basename ${DEVPATH}) + break + fi + DEVPATH=$(dirname ${DEVPATH}) +done + # Avoid USB resets -echo "auto" > /sys/bus/usb/devices/3-1/power/control -echo "3000" > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms -echo "enabled" > /sys/bus/usb/devices/3-1/power/wakeup -echo "1" > /sys/bus/usb/devices/3-1/avoid_reset_quirk -echo "0" > /sys/bus/usb/devices/3-1/power/persist +echo "auto" > /sys/bus/usb/devices/${USB_ID}/power/control +echo "3000" > /sys/bus/usb/devices/${USB_ID}/power/autosuspend_delay_ms +echo "enabled" > /sys/bus/usb/devices/${USB_ID}/power/wakeup +echo "1" > /sys/bus/usb/devices/${USB_ID}/avoid_reset_quirk +echo "0" > /sys/bus/usb/devices/${USB_ID}/power/persist