From 50ee3b905eadd77c38c45f67ee63a115ebcc7997 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Fri, 5 Nov 2010 14:17:58 +0100
Subject: reload usbserial kernel module, after huawei usb stick is connected

---
 package/base-files/Makefile          |  2 +-
 package/base-files/src/lib/mdev/init | 26 ++++++++++++++++++--------
 2 files changed, 19 insertions(+), 9 deletions(-)

(limited to 'package/base-files')

diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 5f41f455b..606b8c50d 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
 
 PKG_NAME:=		base-files
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		24
+PKG_RELEASE:=		25
 PKG_SECTION:=		base
 PKG_DESCR:=		basic files and scripts
 
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
-- 
cgit v1.2.3