summaryrefslogtreecommitdiff
path: root/package/base-files/src/lib/mdev/init
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/src/lib/mdev/init')
-rw-r--r--package/base-files/src/lib/mdev/init26
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