02_network 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. . /lib/functions/system.sh
  2. . /lib/functions/uci-defaults.sh
  3. ath79_setup_interfaces()
  4. {
  5. local board="$1"
  6. case "$board" in
  7. buffalo,whr-g301n)
  8. ucidef_set_interface_wan "eth0"
  9. ucidef_add_switch "switch0" \
  10. "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  11. ;;
  12. dlink,dap-1720-a1|\
  13. engenius,eap350-v1|\
  14. engenius,ecb350-v1|\
  15. pqi,air-pen|\
  16. tplink,re355-v1|\
  17. tplink,re450-v1|\
  18. tplink,re450-v2|\
  19. tplink,tl-mr10u|\
  20. tplink,tl-mr3020-v1|\
  21. tplink,tl-mr3040-v2|\
  22. tplink,tl-wa701nd-v1|\
  23. tplink,tl-wa730re-v1|\
  24. tplink,tl-wa801nd-v1|\
  25. tplink,tl-wa801nd-v3|\
  26. tplink,tl-wa801nd-v4|\
  27. tplink,tl-wa830re-v1|\
  28. tplink,tl-wa850re-v1|\
  29. tplink,tl-wa850re-v2|\
  30. tplink,tl-wa860re-v1|\
  31. tplink,tl-wa901nd-v1|\
  32. tplink,tl-wa901nd-v2|\
  33. tplink,tl-wa901nd-v3|\
  34. tplink,tl-wa901nd-v4|\
  35. tplink,tl-wa901nd-v5|\
  36. tplink,tl-wr703n|\
  37. tplink,tl-wr802n-v1|\
  38. tplink,tl-wr802n-v2|\
  39. ubnt,bullet-m-ar7240|\
  40. ubnt,bullet-m-ar7241|\
  41. ubnt,nanobridge-m|\
  42. ubnt,picostation-m|\
  43. ubnt,nanostation-loco-m)
  44. ucidef_set_interface_lan "eth0"
  45. ;;
  46. dlink,dir-615-e4|\
  47. netgear,wnr1000-v2|\
  48. netgear,wnr2000-v3|\
  49. netgear,wnr612-v2|\
  50. on,n150r|\
  51. tplink,tl-wr740n-v1|\
  52. tplink,tl-wr740n-v3|\
  53. tplink,tl-wr741-v1|\
  54. tplink,tl-wr743nd-v1|\
  55. tplink,tl-wr841-v5|\
  56. tplink,tl-wr941-v4)
  57. ucidef_set_interface_wan "eth0"
  58. ucidef_add_switch "switch0" \
  59. "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
  60. ;;
  61. dlink,dir-859-a1|\
  62. dlink,dir-859-a3|\
  63. dlink,dir-869-a1)
  64. ucidef_add_switch "switch0" \
  65. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
  66. ;;
  67. engenius,enh202-v1)
  68. ucidef_set_interface_lan "eth0"
  69. ucidef_add_switch "switch0" \
  70. "0@eth1" "4:lan:1"
  71. ;;
  72. nec,wf1200hp|\
  73. nec,wf1200hp2)
  74. ucidef_set_interface_wan "eth1"
  75. ucidef_add_switch "switch0" \
  76. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
  77. ;;
  78. nec,wg600hp|\
  79. nec,wr8750n|\
  80. nec,wr9500n|\
  81. tplink,tl-wr941n-v7-cn)
  82. ucidef_add_switch "switch0" \
  83. "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
  84. ;;
  85. tplink,tl-mr3220-v1|\
  86. tplink,tl-mr3420-v1|\
  87. tplink,tl-mr3420-v3|\
  88. tplink,tl-wr841-v7|\
  89. tplink,tl-wr841-v9|\
  90. tplink,tl-wr841-v10|\
  91. tplink,tl-wr841-v11|\
  92. tplink,tl-wr841-v12|\
  93. tplink,tl-wr940n-v3|\
  94. tplink,tl-wr940n-v4|\
  95. tplink,tl-wr940n-v6|\
  96. tplink,tl-wr941nd-v6)
  97. ucidef_set_interface_wan "eth1"
  98. ucidef_add_switch "switch0" \
  99. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  100. ;;
  101. tplink,tl-mr3420-v2|\
  102. tplink,tl-wr740n-v4|\
  103. tplink,tl-wr740n-v5|\
  104. tplink,tl-wr741nd-v4|\
  105. tplink,tl-wr841-v8|\
  106. tplink,tl-wr941nd-v5)
  107. ucidef_set_interface_wan "eth1"
  108. ucidef_add_switch "switch0" \
  109. "0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
  110. ;;
  111. tplink,tl-wpa8630p-v2-int|\
  112. tplink,tl-wpa8630p-v2.0-eu|\
  113. tplink,tl-wpa8630p-v2.1-eu)
  114. # port 5 (internal) is the power-line port
  115. ucidef_add_switch "switch0" \
  116. "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
  117. ;;
  118. tplink,tl-wr941-v2)
  119. ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
  120. ;;
  121. ubnt,airrouter)
  122. ucidef_set_interface_wan "eth1"
  123. ucidef_add_switch "switch0" \
  124. "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
  125. ;;
  126. ubnt,nanostation-m)
  127. ucidef_set_interfaces_lan_wan "eth1" "eth0"
  128. ;;
  129. *)
  130. ucidef_set_interfaces_lan_wan "eth0" "eth1"
  131. ;;
  132. esac
  133. }
  134. ath79_setup_macs()
  135. {
  136. local board="$1"
  137. case "$board" in
  138. dlink,dir-615-e4)
  139. lan_mac=$(mtd_get_mac_ascii "nvram" "lan_mac")
  140. wan_mac=$(mtd_get_mac_ascii "nvram" "wan_mac")
  141. label_mac=$wan_mac
  142. ;;
  143. dlink,dir-859-a1|\
  144. dlink,dir-869-a1)
  145. lan_mac=$(mtd_get_mac_text "devdata" 0xc9)
  146. wan_mac=$(mtd_get_mac_text "devdata" 0x79)
  147. ;;
  148. dlink,dir-859-a3)
  149. lan_mac=$(get_mac_label)
  150. wan_mac=$(macaddr_add "$lan_mac" 3)
  151. ;;
  152. engenius,enh202-v1)
  153. label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
  154. ;;
  155. nec,wg600hp|\
  156. nec,wr8750n|\
  157. nec,wr9500n)
  158. wan_mac=$(mtd_get_mac_binary config 0xc)
  159. label_mac=$wan_mac
  160. ;;
  161. tplink,tl-wr941-v2|\
  162. tplink,tl-wr941n-v7-cn)
  163. base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
  164. wan_mac=$(macaddr_add "$base_mac" 1)
  165. ;;
  166. esac
  167. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  168. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  169. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  170. }
  171. board_config_update
  172. board=$(board_name)
  173. ath79_setup_interfaces $board
  174. ath79_setup_macs $board
  175. board_config_flush
  176. exit 0