02_network 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  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. 7links,px-4885-4m|\
  9. 7links,px-4885-8m|\
  10. allnet,all0256n-4m|\
  11. allnet,all0256n-8m|\
  12. allnet,all5002|\
  13. allnet,all5003|\
  14. belkin,f7c027|\
  15. dlink,dcs-930l-b1|\
  16. dlink,dcs-930|\
  17. edimax,3g-6200nl|\
  18. hame,mpr-a1|\
  19. hame,mpr-a2|\
  20. hauppauge,broadway|\
  21. hootoo,ht-tm02|\
  22. huawei,d105|\
  23. intenso,memory2move|\
  24. netgear,wnce2001|\
  25. tenda,3g150b|\
  26. tenda,3g300m|\
  27. tenda,w150m|\
  28. trendnet,tew-714tru|\
  29. unbranded,a5-v11|\
  30. wansview,ncs601w|\
  31. zorlik,zl5900v2)
  32. ucidef_add_switch "switch0"
  33. ucidef_add_switch_attr "switch0" "enable" "false"
  34. ucidef_set_interface_lan "eth0"
  35. ;;
  36. 8devices,carambola)
  37. ucidef_add_switch "switch0" \
  38. "0:lan" "1:lan" "6@eth0"
  39. ;;
  40. accton,wr6202|\
  41. alfa-network,w502u|\
  42. argus,atp-52b|\
  43. asiarf,awm002-evb-4m|\
  44. asiarf,awm002-evb-8m|\
  45. asus,rt-n10-plus|\
  46. asus,wl-330n|\
  47. asus,wl-330n3g|\
  48. aztech,hw550-3g|\
  49. engenius,esr-9753|\
  50. jcg,jhr-n805r|\
  51. jcg,jhr-n825r|\
  52. jcg,jhr-n926r|\
  53. petatel,psr-680w|\
  54. planex,mzk-wdpr|\
  55. skyline,sl-r7205|\
  56. teltonika,rut5xx|\
  57. tenda,w306r-v2|\
  58. unbranded,xdx-rn502j|\
  59. upvel,ur-326n4g)
  60. ucidef_add_switch "switch0" \
  61. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
  62. ;;
  63. airlive,air3gii|\
  64. asus,rt-g32-b1|\
  65. asus,rt-n13u|\
  66. aximcom,mr-102n|\
  67. buffalo,whr-g300n|\
  68. dlink,dap-1350|\
  69. dlink,dir-300-b1|\
  70. dlink,dir-300-b7|\
  71. dlink,dir-320-b1|\
  72. dlink,dir-600-b1|\
  73. dlink,dir-610-a1|\
  74. dlink,dir-615-d|\
  75. dlink,dir-620-a1|\
  76. dlink,dir-620-d1|\
  77. dlink,dwr-512-b|\
  78. easyacc,wizard-8800|\
  79. edimax,3g-6200n|\
  80. fon,fonera-20n|\
  81. hilink,hlk-rm04|\
  82. mofinetwork,mofi3500-3gn|\
  83. netcore,nw718|\
  84. nexaira,bc2|\
  85. nixcore,x1-16m|\
  86. nixcore,x1-8m|\
  87. olimex,rt5350f-olinuxino|\
  88. olimex,rt5350f-olinuxino-evb|\
  89. omnima,miniembplug|\
  90. omnima,miniembwifi|\
  91. planex,mzk-w300nh2|\
  92. poray,ip2202|\
  93. poray,m3|\
  94. poray,m4-4m|\
  95. poray,m4-8m|\
  96. poray,x5|\
  97. poray,x8|\
  98. prolink,pwh2004|\
  99. ralink,v22rw-2x2|\
  100. unbranded,wr512-3gn-4m|\
  101. unbranded,wr512-3gn-8m|\
  102. upvel,ur-336un|\
  103. zyxel,keenetic|\
  104. zyxel,nbg-419n|\
  105. zyxel,nbg-419n-v2)
  106. ucidef_add_switch "switch0" \
  107. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
  108. ;;
  109. alphanetworks,asl26555-8m|\
  110. alphanetworks,asl26555-16m)
  111. ucidef_add_switch "switch0" \
  112. "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
  113. ;;
  114. arcwireless,freestation5)
  115. # FIXME: Which is the actual wan port?
  116. ucidef_add_switch "switch0" \
  117. "0:lan" "1:wan" "2:wan" "3:wan" "4:wan" "6@eth0"
  118. ;;
  119. asiarf,awapn2403)
  120. ucidef_add_switch "switch0" \
  121. "0:lan" "1:wan" "6@eth0"
  122. ;;
  123. aximcom,mr-102n|\
  124. trendnet,tew-638apb-v2)
  125. ucidef_add_switch "switch0" \
  126. "4:lan" "6@eth0"
  127. ;;
  128. belkin,f5d8235-v2)
  129. ucidef_add_switch "switch0" \
  130. "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
  131. ;;
  132. dlink,dir-615-h1)
  133. ucidef_add_switch "switch0" \
  134. "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
  135. ;;
  136. huawei,hg255d)
  137. ucidef_add_switch "switch0" \
  138. "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
  139. ;;
  140. nexx,wt1520-4m|\
  141. nexx,wt1520-8m)
  142. ucidef_add_switch "switch0" \
  143. "0:lan" "4:wan" "6@eth0"
  144. ;;
  145. planex,mzk-dp150n|\
  146. vocore,vocore-8m|\
  147. vocore,vocore-16m)
  148. ucidef_add_switch "switch0" \
  149. "0:lan" "4:lan" "6t@eth0"
  150. ;;
  151. sitecom,wl-351)
  152. ucidef_add_switch "switch0" \
  153. "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
  154. ;;
  155. sparklan,wcr-150gn)
  156. ucidef_add_switch "switch0" \
  157. "0:lan" "6t@eth0"
  158. ;;
  159. wiznet,wizfi630a)
  160. ucidef_add_switch "switch0" \
  161. "0:lan" "1:lan" "2:wan" "6@eth0"
  162. ;;
  163. zte,mf283plus)
  164. ucidef_add_switch "switch0" \
  165. "0:lan" "1:lan" "2:lan" "3:lan" "6@eth0"
  166. ;;
  167. zyxel,keenetic-lite-b|\
  168. zyxel,keenetic-start)
  169. ucidef_add_switch "switch0" \
  170. "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
  171. ;;
  172. esac
  173. }
  174. ramips_setup_macs()
  175. {
  176. local board="$1"
  177. local lan_mac=""
  178. local wan_mac=""
  179. local label_mac=""
  180. case $board in
  181. 7links,px-4885-4m|\
  182. 7links,px-4885-8m)
  183. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x28)" 1)
  184. ;;
  185. 8devices,carambola|\
  186. alfa-network,w502u|\
  187. arcwireless,freestation5|\
  188. netgear,wnce2001)
  189. wan_mac=$(mtd_get_mac_binary factory 0x2e)
  190. ;;
  191. accton,wr6202|\
  192. asiarf,awm002-evb-4m|\
  193. asiarf,awm002-evb-8m|\
  194. asus,rt-n13u|\
  195. aztech,hw550-3g|\
  196. fon,fonera-20n|\
  197. huawei,hg255d|\
  198. omnima,miniembwifi|\
  199. planex,mzk-wdpr|\
  200. poray,ip2202|\
  201. teltonika,rut5xx|\
  202. unbranded,xdx-rn502j|\
  203. zyxel,keenetic|\
  204. zyxel,nbg-419n|\
  205. zyxel,nbg-419n-v2)
  206. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
  207. ;;
  208. airlive,air3gii|\
  209. argus,atp-52b|\
  210. asus,wl-330n3g|\
  211. dlink,dir-620-d1|\
  212. edimax,3g-6200n|\
  213. edimax,3g-6200nl|\
  214. netcore,nw718|\
  215. nexx,wt1520-4m|\
  216. nexx,wt1520-8m|\
  217. nixcore,x1-16m|\
  218. nixcore,x1-8m|\
  219. omnima,miniembplug|\
  220. planex,mzk-w300nh2|\
  221. sitecom,wl-351|\
  222. trendnet,tew-714tru)
  223. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
  224. ;;
  225. asus,rt-g32-b1|\
  226. asus,rt-n10-plus)
  227. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x4)" 1)
  228. ;;
  229. belkin,f5d8235-v2)
  230. wan_mac=$(macaddr_add "$(mtd_get_mac_binary uboot 0x40004)" 1)
  231. ;;
  232. dlink,dir-300-b7|\
  233. dlink,dir-320-b1|\
  234. dlink,dir-620-a1|\
  235. engenius,esr-9753|\
  236. hame,mpr-a1|\
  237. hauppauge,broadway|\
  238. huawei,d105|\
  239. hilink,hlk-rm04|\
  240. nexaira,bc2|\
  241. olimex,rt5350f-olinuxino|\
  242. olimex,rt5350f-olinuxino-evb|\
  243. petatel,psr-680w|\
  244. skyline,sl-r7205)
  245. lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
  246. wan_mac=$(macaddr_add "$lan_mac" 1)
  247. ;;
  248. dlink,dap-1350)
  249. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x2e)" 1)
  250. ;;
  251. dlink,dir-300-b1|\
  252. dlink,dir-600-b1|\
  253. dlink,dir-610-a1)
  254. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x4004)" 1)
  255. ;;
  256. dlink,dir-615-d)
  257. label_mac=$(mtd_get_mac_binary devdata 0x4004)
  258. ;;
  259. dlink,dir-615-h1)
  260. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
  261. label_mac=$(mtd_get_mac_binary factory 0x4)
  262. ;;
  263. dlink,dwr-512-b)
  264. wan_mac=$(macaddr_add "$(mtd_get_mac_binary config 0xe07e)" 1)
  265. ;;
  266. jcg,jhr-n805r|\
  267. jcg,jhr-n825r|\
  268. jcg,jhr-n926r)
  269. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1)
  270. ;;
  271. poray,m3|\
  272. poray,m4-4m|\
  273. poray,m4-8m|\
  274. poray,x5|\
  275. poray,x8)
  276. lan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -2)
  277. ;;
  278. sparklan,wcr-150gn|\
  279. wiznet,wizfi630a)
  280. wan_mac=$(mtd_get_mac_binary factory 0x28)
  281. ;;
  282. tenda,w306r-v2)
  283. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 5)
  284. ;;
  285. upvel,ur-326n4g|\
  286. upvel,ur-336un)
  287. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4004)" 1)
  288. ;;
  289. esac
  290. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  291. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  292. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  293. }
  294. board_config_update
  295. board=$(board_name)
  296. ramips_setup_interfaces $board
  297. ramips_setup_macs $board
  298. board_config_flush
  299. exit 0