init 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/sh
  2. if [ "$SUBSYSTEM" == "firmware" ];then
  3. logger "Firmware load for $FIRMWARE requested"
  4. if [ "$ACTION" == "add" ];then
  5. if [ -e "/lib/firmware/$FIRMWARE" ];then
  6. logger "Firmware loading ..."
  7. echo 1 > /sys$DEVPATH/loading
  8. cat "/lib/firmware/$FIRMWARE" > /sys$DEVPATH/data
  9. echo 0 > /sys$DEVPATH/loading
  10. logger "finished."
  11. else
  12. logger "Firmware file $FIRMWARE not found"
  13. echo -1 > /sys$DEVPATH/loading
  14. fi
  15. fi
  16. fi
  17. if [ "$SUBSYSTEM" == "pcmcia_socket" ];then
  18. logger "Setting up PCMCIA socket resource database"
  19. if [ "$ACTION" == "add" ];then
  20. /usr/sbin/pcmcia-socket-startup
  21. fi
  22. fi
  23. if [ "$SUBSYSTEM" == "usb" ];then
  24. if [ "$ACTION" == "add" ];then
  25. if [ "$DEVTYPE" == "usb_device" ];then
  26. if [ "$PRODUCT" == "12d1/1003/0" ];then
  27. if [ ! -f /tmp/.huawei ];then
  28. logger "USB device added with: $PRODUCT"
  29. usbmods=$(lsmod|grep ^usbserial|awk '{ print $4 }'|sed -e 's/,/ /g')
  30. for i in $usbmods;do rmmod $i;done
  31. rmmod usbserial
  32. lsmod >> /tmp/debug
  33. test -x /sbin/huawei && /sbin/huawei >> /tmp/debug
  34. insmod /lib/modules/$(uname -r)/usbserial.ko product=0x1003 vendor=0x12d1
  35. for i in $usbmods;do insmod /lib/modules/$(uname -r)/$i.ko; done
  36. touch /tmp/.huawei
  37. fi
  38. fi
  39. fi
  40. fi
  41. fi