02_network 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. #!/bin/sh
  2. . /lib/functions/system.sh
  3. . /lib/functions/uci-defaults.sh
  4. . /lib/functions/k2t.sh
  5. ath79_setup_interfaces()
  6. {
  7. local board="$1"
  8. case "$board" in
  9. avm,fritz300e|\
  10. ocedo,koala|\
  11. ocedo,raccoon|\
  12. pcs,cap324|\
  13. pisen,wmm003n|\
  14. tplink,re450-v2|\
  15. tplink,tl-mr10u|\
  16. tplink,tl-mr3020-v1|\
  17. tplink,tl-mr3040-v2|\
  18. tplink,tl-wr703n|\
  19. ubnt,bullet-m|\
  20. ubnt,rocket-m|\
  21. ubnt,unifiac-lite|\
  22. ubnt,unifiac-mesh|\
  23. ubnt,unifi|\
  24. wd,mynet-wifi-rangeextender)
  25. ucidef_set_interface_lan "eth0"
  26. ;;
  27. buffalo,bhr-4grv|\
  28. buffalo,wzr-hp-g450h)
  29. ucidef_add_switch "switch0" \
  30. "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
  31. ;;
  32. buffalo,bhr-4grv2)
  33. ucidef_add_switch "switch0" \
  34. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
  35. ;;
  36. buffalo,wzr-hp-ag300h)
  37. ucidef_set_interface_wan "eth1"
  38. ucidef_add_switch "switch0" \
  39. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  40. ;;
  41. dlink,dir-825-b1)
  42. ucidef_set_interface_wan "eth1"
  43. ucidef_add_switch "switch0" \
  44. "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
  45. ;;
  46. elecom,wrc-300ghbk2-i)
  47. ucidef_add_switch "switch0" \
  48. "0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
  49. ;;
  50. embeddedwireless,dorin)
  51. ucidef_add_switch "switch0" \
  52. "0@eth0" "1:wan" "2:lan:3" "3:lan:2"
  53. ;;
  54. etactica,eg200)
  55. ucidef_set_interface_lan "eth0" "dhcp"
  56. ;;
  57. avm,fritz4020|\
  58. glinet,ar150|\
  59. glinet,ar300m)
  60. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  61. ;;
  62. iodata,etg3-r|\
  63. iodata,wn-ac1167dgr|\
  64. iodata,wn-ac1600dgr2|\
  65. pcs,cr5000)
  66. ucidef_add_switch "switch0" \
  67. "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
  68. ;;
  69. netgear,wndr3700|\
  70. netgear,wndr3700v2|\
  71. netgear,wndr3800)
  72. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  73. ucidef_add_switch "switch0" \
  74. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
  75. ucidef_add_switch_attr "switch0" "blinkrate" 2
  76. ucidef_add_switch_port_attr "switch0" 1 led 6
  77. ucidef_add_switch_port_attr "switch0" 2 led 9
  78. ucidef_add_switch_port_attr "switch0" 5 led 2
  79. ;;
  80. netgear,wnr612-v2|\
  81. on,n150r)
  82. ucidef_set_interface_wan "eth0"
  83. ucidef_add_switch "switch0" \
  84. "0@eth1" "1:lan" "2:lan" "3:lan:3" "4:lan:4"
  85. ;;
  86. pcs,cr3000)
  87. ucidef_add_switch "switch0" \
  88. "0@eth1" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
  89. ucidef_set_interface_wan "eth0"
  90. ;;
  91. phicomm,k2t)
  92. ucidef_add_switch "switch0" \
  93. "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
  94. ;;
  95. tplink,archer-c7-v1|\
  96. tplink,archer-c7-v2|\
  97. tplink,tl-wdr4900-v2)
  98. ucidef_add_switch "switch0" \
  99. "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
  100. ;;
  101. buffalo,whr-g301n|\
  102. tplink,tl-mr3220-v1|\
  103. tplink,tl-mr3420-v1|\
  104. tplink,tl-wr841-v7)
  105. ucidef_set_interface_wan "eth0"
  106. ucidef_add_switch "switch0" \
  107. "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  108. ;;
  109. tplink,tl-wdr3600|\
  110. tplink,tl-wdr4300)
  111. ucidef_add_switch "switch0" \
  112. "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
  113. ;;
  114. tplink,tl-wr1043nd-v1)
  115. ucidef_add_switch "switch0" \
  116. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
  117. ;;
  118. tplink,tl-wr1043nd-v2|\
  119. tplink,tl-wr1043nd-v3)
  120. ucidef_add_switch "switch0" \
  121. "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
  122. ;;
  123. tplink,tl-wr1043nd-v4)
  124. ucidef_add_switch "switch0" \
  125. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
  126. ;;
  127. tplink,tl-wr2543-v1)
  128. ucidef_add_switch "switch0" \
  129. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
  130. ;;
  131. tplink,tl-wr740n-v1|\
  132. tplink,tl-wr740n-v3|\
  133. tplink,tl-wr741-v1|\
  134. tplink,tl-wr743nd-v1|\
  135. tplink,tl-wr841-v5|\
  136. tplink,tl-wr941-v4)
  137. ucidef_set_interface_wan "eth0"
  138. ucidef_add_switch "switch0" \
  139. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
  140. ;;
  141. tplink,tl-wr740nd-v4|\
  142. tplink,tl-wr741nd-v4|\
  143. tplink,tl-wr841-v9|\
  144. tplink,tl-wr841-v11)
  145. ucidef_set_interface_wan "eth0"
  146. ucidef_add_switch "switch0" \
  147. "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  148. ;;
  149. tplink,tl-wr941-v2)
  150. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
  151. ;;
  152. ubnt,routerstation)
  153. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  154. ;;
  155. ubnt,routerstation-pro)
  156. ucidef_set_interface_wan "eth0"
  157. ucidef_add_switch "switch0" \
  158. "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
  159. ;;
  160. ubnt,unifiac-mesh-pro|\
  161. ubnt,unifiac-pro)
  162. ucidef_add_switch "switch0" \
  163. "0@eth0" "2:lan" "3:wan"
  164. ;;
  165. *)
  166. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  167. ;;
  168. esac
  169. }
  170. ath79_setup_macs()
  171. {
  172. local board="$1"
  173. case "$board" in
  174. avm,fritz300e)
  175. lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
  176. ;;
  177. avm,fritz4020)
  178. lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
  179. wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
  180. ;;
  181. dlink,dir-825-b1)
  182. lan_mac=$(mtd_get_mac_text "caldata" 65440)
  183. wan_mac=$(mtd_get_mac_text "caldata" 65460)
  184. ;;
  185. elecom,wrc-300ghbk2-i)
  186. wan_mac=$(macaddr_add "$(mtd_get_mac_binary ART 4098)" -2)
  187. ;;
  188. iodata,etg3-r)
  189. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  190. wan_mac=$(macaddr_add "$lan_mac" -1)
  191. ;;
  192. iodata,wn-ac1167dgr|\
  193. iodata,wn-ac1600dgr2)
  194. lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
  195. wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
  196. ;;
  197. netgear,wndr3700|\
  198. netgear,wndr3700v2|\
  199. netgear,wndr3800)
  200. lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0)")
  201. ;;
  202. phicomm,k2t)
  203. lan_mac=$(k2t_get_mac "lan_mac")
  204. wan_mac=$(k2t_get_mac "wan_mac")
  205. ;;
  206. tplink,tl-wr1043nd-v4)
  207. base_mac=$(mtd_get_mac_binary product-info 8)
  208. wan_mac=$(macaddr_add "$base_mac" 1)
  209. ;;
  210. tplink,tl-wr941-v2)
  211. base_mac=$(mtd_get_mac_binary u-boot 130048)
  212. wan_mac=$(macaddr_add "$base_mac" 1)
  213. ;;
  214. ubnt,routerstation|\
  215. ubnt,routerstation-pro)
  216. wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
  217. lan_mac=$(macaddr_add "$wan_mac" 1)
  218. ;;
  219. wd,mynet-wifi-rangeextender)
  220. lan_mac=$(nvram get et0macaddr)
  221. ;;
  222. esac
  223. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  224. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  225. }
  226. board_config_update
  227. board=$(board_name)
  228. ath79_setup_interfaces $board
  229. ath79_setup_macs $board
  230. board_config_flush
  231. exit 0