S10kmod 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. #!/bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides:
  4. # Short-Description: Load kernel modules
  5. # Description: Load kernel modules depending on model and configuration
  6. ### END INIT INFO
  7. . /opt/wz_mini/wz_mini.conf
  8. . /opt/wz_mini/etc/rc.common
  9. case "$1" in
  10. start)
  11. echo "#####$(basename "$0")#####"
  12. if [[ "$ENABLE_RTL8189FS_DRIVER" == "true" ]] || [[ "$ENABLE_RTL8189FS_DRIVER" == "" ]]; then
  13. echo "Enable 8189fs"
  14. if [ -f /opt/wz_mini/tmp/.WYZEC1-JZ ]; then
  15. sed -i 's/\/driver\/rtl8189ftv.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\/extra\/8189fs.ko rtw_power_mgnt=0 rtw_enusbss=0 rtw_drv_log_level=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
  16. elif [ -f /opt/wz_mini/tmp/.WYZECP1_JEF ]; then
  17. sed -i 's/insmod \/driver\/8189es.ko/insmod \/opt\/wz_mini\/lib\/modules\/3.10.14\/extra\/8189es.ko rtw_power_mgnt=0 rtw_enusbss=0 rtw_drv_log_level=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
  18. elif [ -f /opt/wz_mini/tmp/.WYZE_CAKP2JFUS ]; then
  19. sed -i 's/\/system\/driver\/rtl8189ftv.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\_\_isvp_swan_1.0\_\_\/extra\/8189fs.ko rtw_power_mgnt=0 rtw_enusbss=0 rtw_drv_log_level=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
  20. elif [ -f /opt/wz_mini/tmp/.ATOM_CamV3C ]; then
  21. sed -i 's/\/system\/driver\/rtl8189ftv.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\_\_isvp_swan_1.0\_\_\/extra\/8189fs.ko rtw_power_mgnt=0 rtw_enusbss=0 rtw_drv_log_level=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
  22. fi
  23. fi
  24. if [[ "$ENABLE_ATBM603X_DRIVER" == "true" ]] || [[ "$ENABLE_ATBM603X_DRIVER" == "" ]]; then
  25. echo "Enable atbm603x_wifi_sdio"
  26. if [ -f /opt/wz_mini/tmp/.ATOM_CamV3C ]; then
  27. sed -i 's/\/thirdlib\/atbm603x_wifi_sdio.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\_\_isvp_swan_1.0\_\_\/extra\/atbm603x_wifi_sdio.ko atbm_printk_mask=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
  28. elif [ -f /opt/wz_mini/tmp/.T31 ] && ! [ -f /opt/wz_mini/tmp/.ATOM_CamV3C ]; then
  29. sed -i 's/\/system\/driver\/atbm603x_wifi_sdio.ko/\/opt\/wz_mini\/lib\/modules\/3.10.14\_\_isvp_swan_1.0\_\_\/extra\/atbm603x_wifi_sdio.ko atbm_printk_mask=0/g' /opt/wz_mini/tmp/.storage/app_init.sh
  30. fi
  31. fi
  32. if [ -f /opt/wz_mini/tmp/.CAR ] || [[ "$ENABLE_CAR_DRIVER" == "true" ]]; then
  33. echo "Enable cp210x serial driver for car"
  34. modprobe cp210x
  35. fi
  36. if ([[ "$RTSP_HI_RES_ENABLED" == "true" ]] || [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]) && ! [[ -e /tmp/dbgflag ]]; then
  37. if [[ "$RTSP_LOW_RES_ENABLED" == "true" ]] && [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
  38. if [ -f /opt/wz_mini/tmp/.T20 ]; then
  39. echo "Load video loopback driver at video6 video7"
  40. insmod /opt/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko video_nr=6,7
  41. else
  42. echo "Load video loopback driver at video1 video2"
  43. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko video_nr=1,2
  44. fi
  45. elif [[ "$RTSP_LOW_RES_ENABLED" == "true" ]]; then
  46. if [ -f /opt/wz_mini/tmp/.T20 ]; then
  47. echo "Load video loopback driver at video7"
  48. insmod /opt/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko video_nr=7
  49. else
  50. echo "Load video loopback driver at video2"
  51. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko video_nr=2
  52. fi
  53. elif [[ "$RTSP_HI_RES_ENABLED" == "true" ]]; then
  54. if [ -f /opt/wz_mini/tmp/.T20 ]; then
  55. echo "Load video loopback driver at video6"
  56. insmod /opt/wz_mini/lib/modules/3.10.14/extra/v4l2loopback_V2.ko video_nr=6
  57. else
  58. echo "Load video loopback driver at video1"
  59. insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/extra/v4l2loopback.ko video_nr=1
  60. fi
  61. fi
  62. fi
  63. if [[ "$ENABLE_NFSv4" == "true" ]]; then
  64. insmod $KMOD_PATH/kernel/lib/oid_registry.ko
  65. insmod $KMOD_PATH/kernel/net/dns_resolver/dns_resolver.ko
  66. insmod $KMOD_PATH/kernel/fs/nfs/nfsv4.ko
  67. insmod $KMOD_PATH/kernel/net/sunrpc/auth_gss/auth_rpcgss.ko
  68. echo "NFSv4 enabled"
  69. fi
  70. if [[ "$ENABLE_IPTABLES" == "true" ]]; then
  71. insmod $KMOD_PATH/kernel/net/netfilter/x_tables.ko
  72. insmod $KMOD_PATH/kernel/net/ipv4/netfilter/ip_tables.ko
  73. insmod $KMOD_PATH/kernel/net/ipv4/netfilter/ipt_REJECT.ko
  74. insmod $KMOD_PATH/kernel/net/ipv4/netfilter/iptable_filter.ko
  75. insmod $KMOD_PATH/kernel/net/ipv4/netfilter/iptable_mangle.ko
  76. echo "iptables IPv4 enabled"
  77. if [[ "$ENABLE_IPV6" == "true" ]]; then
  78. insmod $KMOD_PATH/kernel/net/ipv6/netfilter/ip6_tables.ko
  79. insmod $KMOD_PATH/kernel/net/ipv6/netfilter/ip6t_REJECT.ko
  80. insmod $KMOD_PATH/kernel/net/ipv6/netfilter/ip6table_filter.ko
  81. insmod $KMOD_PATH/kernel/net/ipv6/netfilter/ip6table_mangle.ko
  82. echo "iptables IPv6 enabled"
  83. fi
  84. fi
  85. if [[ "$ENABLE_WIREGUARD" == "true" ]]; then
  86. insmod $KMOD_PATH/kernel/net/ipv4/tunnel4.ko
  87. insmod $KMOD_PATH/kernel/net/ipv4/ip_tunnel.ko
  88. insmod $KMOD_PATH/kernel/net/wireguard/wireguard.ko
  89. echo "Wireguard enabled"
  90. fi
  91. if [[ "$ENABLE_CIFS" == "true" ]]; then
  92. insmod $KMOD_PATH/kernel/fs/cifs/cifs.ko
  93. echo "CIFS enabled"
  94. fi
  95. if [[ "$ENABLE_USB_STORAGE" == "true" ]]; then
  96. insmod $KMOD_PATH/kernel/drivers/scsi/scsi_mod.ko
  97. insmod $KMOD_PATH/kernel/drivers/scsi/sd_mod.ko
  98. insmod $KMOD_PATH/kernel/drivers/usb/storage/usb-storage.ko
  99. echo "usb_storage enabled"
  100. fi
  101. if [[ "$ENABLE_EXT4" == "true" ]]; then
  102. if [ -f /opt/wz_mini/tmp/.T20 ]; then
  103. insmod $KMOD_PATH/kernel/lib/crc16.ko
  104. fi
  105. insmod $KMOD_PATH/kernel/fs/jbd2/jbd2.ko
  106. insmod $KMOD_PATH/kernel/fs/mbcache.ko
  107. insmod $KMOD_PATH/kernel/fs/ext4/ext4.ko
  108. echo "ext4 support enabled"
  109. fi
  110. if [[ "$BONDING_ENABLED" == "true" ]]; then
  111. if [[ "$BONDING_LINK_MONITORING_FREQ_MS" == "" ]]; then
  112. BONDING_LINK_MONITORING_FREQ_MS="100"
  113. fi
  114. if [[ "$BONDING_DOWN_DELAY_MS" == "" ]]; then
  115. BONDING_DOWN_DELAY_MS="5000"
  116. fi
  117. if [[ "$BONDING_UP_DELAY_MS" == "" ]]; then
  118. BONDING_UP_DELAY_MS="5000"
  119. fi
  120. if [[ "$BONDING_PRIMARY_INTERFACE" == "" ]]; then
  121. BONDING_PRIMARY_INTERFACE="eth0"
  122. fi
  123. if [[ "$BONDING_SECONDARY_INTERFACE" == "" ]]; then
  124. BONDING_SECONDARY_INTERFACE="wlan0"
  125. fi
  126. if [[ "$BONDING_FAIL_OVER_MAC" == "" ]]; then
  127. BONDING_FAIL_OVER_MAC="0"
  128. fi
  129. echo "Insert the bonding driver into the kernel"
  130. insmod $KMOD_PATH/kernel/drivers/net/bonding/bonding.ko mode=active-backup miimon="$BONDING_LINK_MONITORING_FREQ_MS" downdelay="$BONDING_DOWN_DELAY_MS" updelay="$BONDING_UP_DELAY_MS" primary="$BONDING_PRIMARY_INTERFACE" fail_over_mac="$BONDING_FAIL_OVER_MAC"
  131. echo "Network bonding enabled"
  132. fi
  133. ;;
  134. *)
  135. echo "Usage: $0 {start}"
  136. exit 1
  137. ;;
  138. esac