2
0

02_network 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. #
  2. # Copyright (c) 2015 The Linux Foundation. All rights reserved.
  3. # Copyright (c) 2011-2015 OpenWrt.org
  4. #
  5. . /lib/functions/uci-defaults.sh
  6. . /lib/functions/system.sh
  7. ipq40xx_setup_interfaces()
  8. {
  9. local board="$1"
  10. case "$board" in
  11. 8dev,habanero-dvk|\
  12. 8dev,jalapeno|\
  13. alfa-network,ap120c-ac|\
  14. engenius,emr3500|\
  15. engenius,ens620ext|\
  16. luma,wrtq-329acn|\
  17. netgear,wac510|\
  18. plasmacloud,pa1200|\
  19. plasmacloud,pa2200)
  20. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  21. ;;
  22. aruba,ap-303|\
  23. aruba,ap-365|\
  24. avm,fritzrepeater-1200|\
  25. dlink,dap-2610 |\
  26. engenius,eap1300|\
  27. engenius,emd1|\
  28. meraki,mr33|\
  29. mikrotik,lhgg-60ad|\
  30. mikrotik,sxtsq-5-ac|\
  31. netgear,ex6100v2|\
  32. netgear,ex6150v2|\
  33. zyxel,wre6606)
  34. ucidef_set_interface_lan "eth0"
  35. ;;
  36. aruba,ap-303h|\
  37. teltonika,rutx10)
  38. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  39. ucidef_add_switch "switch0" \
  40. "0u@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "0u@eth1" "5:wan"
  41. ;;
  42. asus,map-ac2200|\
  43. cilab,meshpoint-one|\
  44. edgecore,ecw5211|\
  45. edgecore,oap100|\
  46. openmesh,a42|\
  47. openmesh,a62)
  48. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  49. ;;
  50. asus,rt-ac58u|\
  51. mikrotik,hap-ac2|\
  52. mikrotik,hap-ac3|\
  53. p2w,r619ac-64m|\
  54. p2w,r619ac-128m|\
  55. zyxel,nbg6617)
  56. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  57. ucidef_add_switch "switch0" \
  58. "0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  59. ;;
  60. avm,fritzbox-4040|\
  61. linksys,ea6350v3|\
  62. linksys,ea8300|\
  63. linksys,mr8300)
  64. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  65. ucidef_add_switch "switch0" \
  66. "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
  67. ;;
  68. avm,fritzbox-7530)
  69. ucidef_add_switch "switch0" \
  70. "0u@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  71. ;;
  72. avm,fritzrepeater-3000)
  73. ucidef_add_switch "switch0" \
  74. "0u@eth0" "4:lan:1" "5:lan:2"
  75. ;;
  76. compex,wpj419|\
  77. compex,wpj428|\
  78. engenius,eap2200)
  79. ucidef_set_interface_lan "eth0 eth1"
  80. ;;
  81. buffalo,wtr-m2133hp)
  82. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  83. ucidef_add_switch "switch0" \
  84. "0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
  85. ;;
  86. cellc,rtl30vw)
  87. ucidef_set_interface_lan "eth0"
  88. ucidef_add_switch "switch0" \
  89. "0u@eth0" "3:lan" "4:lan"
  90. ;;
  91. devolo,magic-2-wifi-next)
  92. ucidef_set_interface_lan "eth0 eth1 eth2"
  93. ;;
  94. ezviz,cs-w3-wd1200g-eup)
  95. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  96. ucidef_add_switch "switch0" \
  97. "0u@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "0u@eth1" "5:wan"
  98. ;;
  99. glinet,gl-ap1300 |\
  100. glinet,gl-b1300 |\
  101. glinet,gl-s1300)
  102. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  103. ucidef_add_switch "switch0" \
  104. "0u@eth0" "3:lan" "4:lan"
  105. ;;
  106. mobipromo,cm520-79f)
  107. ucidef_add_switch "switch0" \
  108. "0u@eth0" "3:lan:2" "4:lan:1"
  109. ucidef_set_interface_wan "eth1"
  110. ;;
  111. netgear,rbr50|\
  112. netgear,rbs50|\
  113. netgear,srr60|\
  114. netgear,srs60)
  115. ucidef_add_switch "switch0" \
  116. "0u@eth0" "2:lan" "3:lan" "4:lan"
  117. ucidef_set_interface_wan "eth1"
  118. ;;
  119. qxwlan,e2600ac-c1 |\
  120. qxwlan,e2600ac-c2)
  121. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  122. ucidef_add_switch "switch0" \
  123. "0u@eth0" "3:lan" "4:lan" "0u@eth1" "5:wan"
  124. ;;
  125. unielec,u4019-32m)
  126. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  127. ucidef_add_switch "switch0" \
  128. "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "0u@eth1" "5:wan"
  129. ;;
  130. *)
  131. echo "Unsupported hardware. Network interfaces not initialized"
  132. ;;
  133. esac
  134. }
  135. ipq40xx_setup_macs()
  136. {
  137. local board="$1"
  138. local lan_mac=""
  139. local wan_mac=""
  140. local label_mac=""
  141. case "$board" in
  142. 8dev,habanero-dvk)
  143. label_mac=$(mtd_get_mac_binary "ART" 0x1006)
  144. ;;
  145. asus,rt-ac58u)
  146. CI_UBIPART=UBI_DEV
  147. wan_mac=$(mtd_get_mac_binary_ubi Factory 0x1006)
  148. lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006)
  149. label_mac=$wan_mac
  150. ;;
  151. cilab,meshpoint-one)
  152. label_mac=$(mtd_get_mac_binary "ART" 0x1006)
  153. ;;
  154. devolo,magic-2-wifi-next)
  155. lan_mac=$(mtd_get_mac_ascii APPSBLENV MacAddress0)
  156. label_mac=$lan_mac
  157. ;;
  158. dlink,dap-2610)
  159. lan_mac=$(mtd_get_mac_ascii bdcfg lanmac)
  160. label_mac=$lan_mac
  161. ;;
  162. engenius,eap2200|\
  163. engenius,emd1)
  164. lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
  165. label_mac=$lan_mac
  166. ;;
  167. engenius,emr3500)
  168. wan_mac=$(mtd_get_mac_ascii 0:APPSBLENV wanaddr)
  169. lan_mac=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
  170. label_mac=$wan_mac
  171. ;;
  172. engenius,ens620ext)
  173. wan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  174. lan_mac=$(macaddr_add "$wan_mac" 1)
  175. ;;
  176. ezviz,cs-w3-wd1200g-eup)
  177. label_mac=$(mtd_get_mac_binary "ART" 0x6)
  178. ;;
  179. linksys,ea6350v3)
  180. wan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
  181. lan_mac=$(macaddr_add "$wan_mac" 1)
  182. ;;
  183. mikrotik,hap-ac2|\
  184. mikrotik,hap-ac3)
  185. wan_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
  186. lan_mac=$(macaddr_add $wan_mac 1)
  187. label_mac="$wan_mac"
  188. ;;
  189. mikrotik,lhgg-60ad|\
  190. mikrotik,sxtsq-5-ac)
  191. lan_mac=$(cat /sys/firmware/mikrotik/hard_config/mac_base)
  192. label_mac="$lan_mac"
  193. ;;
  194. esac
  195. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  196. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  197. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  198. }
  199. board_config_update
  200. board=$(board_name)
  201. ipq40xx_setup_interfaces $board
  202. ipq40xx_setup_macs $board
  203. board_config_flush
  204. exit 0