diff options
Diffstat (limited to 'package/base-files/src/lib')
-rw-r--r-- | package/base-files/src/lib/mdev/init | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/package/base-files/src/lib/mdev/init b/package/base-files/src/lib/mdev/init index 35fd212f2..f2b7125b8 100644 --- a/package/base-files/src/lib/mdev/init +++ b/package/base-files/src/lib/mdev/init @@ -21,12 +21,22 @@ if [ "$SUBSYSTEM" == "pcmcia_socket" ];then fi fi if [ "$SUBSYSTEM" == "usb" ];then - if [ "$ACTION" == "add" ];then - if [ "$DEVTYPE" == "usb_device" ];then - logger "USB device added with: $PRODUCT" - if [ "$PRODUCT" == "12d1/1003/0" ];then - test -x /sbin/huawei && /sbin/huawei - fi - fi - fi + if [ "$ACTION" == "add" ];then + if [ "$DEVTYPE" == "usb_device" ];then + if [ "$PRODUCT" == "12d1/1003/0" ];then + if [ ! -f /tmp/.huawei ];then + logger "USB device added with: $PRODUCT" + usbmods=$(lsmod|grep ^usbserial|awk '{ print $4 }'|sed -e 's/,/ /g') + for i in $usbmods;do rmmod $i;done + rmmod usbserial + lsmod >> /tmp/debug + test -x /sbin/huawei && /sbin/huawei >> /tmp/debug + insmod /lib/modules/$(uname -r)/usbserial.ko product=0x1003 vendor=0x12d1 + for i in $usbmods;do insmod /lib/modules/$(uname -r)/$i.ko; done + + touch /tmp/.huawei + fi + fi + fi + fi fi |