S04usbdirect 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides:
  4. # Short-Description: USB Direct Networking
  5. # Description: Enable USB Direct Networking kernel modules and support
  6. ### END INIT INFO
  7. . /opt/wz_mini/etc/rc.common
  8. . /opt/wz_mini/wz_mini.conf
  9. case "$1" in
  10. start)
  11. echo "#####$(basename "$0")#####"
  12. if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then
  13. HOST_MACADDR=$(echo "$CUSTOM_HOSTNAME"|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/')
  14. if [ -f /opt/wz_mini/tmp/.T20 ]; then
  15. echo connect > /sys/devices/platform/jz-dwc2/dwc2/udc/dwc2/soft_connect
  16. sleep 1
  17. devmem 0x10000040 32 0x0b800096
  18. sleep 1
  19. devmem 0x13500000 32 0x001100cc
  20. else
  21. echo "Set dwc2 ID_PIN driver memory"
  22. devmem 0x13500000 32 0x001100cc
  23. devmem 0x10000040 32 0x0b000096
  24. echo "wipe dwc2 memory bits to set the ID_PIN, only for the V3"
  25. devmem 0x10000040 32 0x0b000FFF
  26. fi
  27. insmod $KMOD_PATH/kernel/drivers/usb/gadget/libcomposite.ko
  28. if [ -f /opt/wz_mini/tmp/.T31 ]; then
  29. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/u_ether.ko
  30. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/usb_f_ncm.ko
  31. fi
  32. insmod $KMOD_PATH/kernel/drivers/usb/gadget/g_ncm.ko iManufacturer=wz_mini_ncm host_addr="$HOST_MACADDR" dev_addr="$USB_DIRECT_MAC_ADDR"
  33. echo "USB Direct enabled"
  34. else
  35. echo "USB Direct disabled"
  36. fi
  37. ;;
  38. *)
  39. echo "Usage: $0 {start}"
  40. exit 1
  41. ;;
  42. esac