02_network 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. . /lib/functions.sh
  2. . /lib/functions/uci-defaults.sh
  3. . /lib/functions/system.sh
  4. ramips_setup_interfaces()
  5. {
  6. local board="$1"
  7. case $board in
  8. ampedwireless,ally-00x19k|\
  9. edimax,re23s|\
  10. mikrotik,routerboard-m11g|\
  11. netgear,ex6150|\
  12. sercomm,na502|\
  13. thunder,timecloud|\
  14. tplink,re350-v1|\
  15. tplink,re500-v1|\
  16. tplink,re650-v1|\
  17. ubnt,unifi-6-lite|\
  18. ubnt,unifi-nanohd)
  19. ucidef_set_interface_lan "lan"
  20. ;;
  21. ampedwireless,ally-r1900k|\
  22. gehua,ghl-r-001|\
  23. hiwifi,hc5962|\
  24. xiaomi,mi-router-3-pro|\
  25. xiaomi,mi-router-ac2100|\
  26. xiaomi,mi-router-cr6606|\
  27. xiaomi,mi-router-cr6608|\
  28. xiaomi,mi-router-cr6609|\
  29. xiaomi,redmi-router-ac2100)
  30. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
  31. ;;
  32. asiarf,ap7621-001|\
  33. humax,e10|\
  34. winstars,ws-wn583a6)
  35. ucidef_set_interfaces_lan_wan "lan" "wan"
  36. ;;
  37. asiarf,ap7621-nv1|\
  38. glinet,gl-mt1300|\
  39. jcg,q20|\
  40. lenovo,newifi-d1|\
  41. mikrotik,routerboard-m33g|\
  42. xiaomi,mi-router-3g|\
  43. xiaomi,mi-router-3g-v2|\
  44. xiaomi,mi-router-4|\
  45. xiaomi,mi-router-4a-gigabit)
  46. ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
  47. ;;
  48. gnubee,gb-pc1|\
  49. gnubee,gb-pc2)
  50. ucidef_set_interface_lan "lan1 lan2"
  51. ;;
  52. linksys,re6500|\
  53. netgear,wac104)
  54. ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
  55. ;;
  56. mikrotik,routerboard-750gr3)
  57. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
  58. ;;
  59. mikrotik,routerboard-760igs)
  60. ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
  61. ;;
  62. tplink,eap235-wall-v1)
  63. ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
  64. ;;
  65. ubnt,edgerouter-x)
  66. ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
  67. ;;
  68. ubnt,edgerouter-x-sfp)
  69. ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
  70. ;;
  71. ubnt,usw-flex)
  72. ucidef_set_interface_lan "lan1 lan2 lan3 lan4 lan5"
  73. ;;
  74. zyxel,nr7101)
  75. ucidef_set_interfaces_lan_wan "lan" "wan"
  76. ;;
  77. zyxel,wap6805)
  78. ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
  79. ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
  80. ;;
  81. *)
  82. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
  83. ;;
  84. esac
  85. }
  86. ramips_setup_macs()
  87. {
  88. local board="$1"
  89. local lan_mac=""
  90. local wan_mac=""
  91. local label_mac=""
  92. case $board in
  93. ampedwireless,ally-00x19k)
  94. lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
  95. label_mac=$lan_mac
  96. ;;
  97. ampedwireless,ally-r1900k)
  98. lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
  99. wan_mac=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
  100. label_mac=$lan_mac
  101. ;;
  102. asus,rt-ac65p|\
  103. asus,rt-ac85p)
  104. wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
  105. label_mac=$(mtd_get_mac_binary factory 0x4)
  106. ;;
  107. buffalo,wsr-1166dhp)
  108. local index="$(find_mtd_index "board_data")"
  109. wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
  110. lan_mac=$wan_mac
  111. ;;
  112. dlink,dir-860l-b1)
  113. lan_mac=$(mtd_get_mac_ascii factory lanmac)
  114. wan_mac=$(mtd_get_mac_ascii factory wanmac)
  115. ;;
  116. edimax,ra21s|\
  117. edimax,rg21s)
  118. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  119. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  120. ;;
  121. elecom,wrc-2533ghbk-i)
  122. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  123. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  124. label_mac=$wan_mac
  125. ;;
  126. hiwifi,hc5962)
  127. lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
  128. label_mac=$lan_mac
  129. [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
  130. wan_mac=$(macaddr_add "$lan_mac" 1)
  131. ;;
  132. iodata,wnpr2600g)
  133. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  134. label_mac=$wan_mac
  135. ;;
  136. iptime,t5004)
  137. lan_mac=$(mtd_get_mac_ascii config ethaddr)
  138. wan_mac=$(macaddr_add "$lan_mac" 1)
  139. ;;
  140. jcg,y2|\
  141. wavlink,wl-wn531a6|\
  142. winstars,ws-wn583a6|\
  143. zbtlink,zbt-we1326|\
  144. zbtlink,zbt-wg3526-16m|\
  145. zbtlink,zbt-wg3526-32m)
  146. label_mac=$(mtd_get_mac_binary factory 0x4)
  147. ;;
  148. linksys,e5600|\
  149. linksys,ea6350-v4|\
  150. linksys,ea7300-v1|\
  151. linksys,ea7300-v2|\
  152. linksys,ea7500-v2|\
  153. linksys,ea8100-v1|\
  154. linksys,ea8100-v2)
  155. lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
  156. wan_mac=$lan_mac
  157. label_mac=$lan_mac
  158. ;;
  159. mikrotik,routerboard-750gr3|\
  160. mikrotik,routerboard-760igs|\
  161. mikrotik,routerboard-m11g|\
  162. mikrotik,routerboard-m33g)
  163. label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
  164. wan_mac=$label_mac
  165. lan_mac=$(macaddr_add $label_mac 1)
  166. ;;
  167. raisecom,msg1500-x-00)
  168. lan_mac=$(mtd_get_mac_ascii Config protest_lan_mac)
  169. wan_mac=$(mtd_get_mac_ascii Config protest_wan_mac)
  170. label_mac=$lan_mac
  171. ;;
  172. esac
  173. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  174. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  175. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  176. }
  177. board_config_update
  178. board=$(board_name)
  179. ramips_setup_interfaces $board
  180. ramips_setup_macs $board
  181. board_config_flush
  182. exit 0