02_network 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  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-4g-b)
  168. ucidef_add_switch "switch0" \
  169. "0:lan:1" "1:lan:0" "4:wan" "6@eth0"
  170. ;;
  171. zyxel,keenetic-lite-b|\
  172. zyxel,keenetic-start)
  173. ucidef_add_switch "switch0" \
  174. "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
  175. ;;
  176. esac
  177. }
  178. ramips_setup_macs()
  179. {
  180. local board="$1"
  181. local lan_mac=""
  182. local wan_mac=""
  183. local label_mac=""
  184. case $board in
  185. 7links,px-4885-4m|\
  186. 7links,px-4885-8m)
  187. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x28)" 1)
  188. ;;
  189. 8devices,carambola|\
  190. alfa-network,w502u|\
  191. arcwireless,freestation5|\
  192. netgear,wnce2001)
  193. wan_mac=$(mtd_get_mac_binary factory 0x2e)
  194. ;;
  195. accton,wr6202|\
  196. asiarf,awm002-evb-4m|\
  197. asiarf,awm002-evb-8m|\
  198. asus,rt-n13u|\
  199. aztech,hw550-3g|\
  200. fon,fonera-20n|\
  201. huawei,hg255d|\
  202. omnima,miniembwifi|\
  203. planex,mzk-wdpr|\
  204. poray,ip2202|\
  205. teltonika,rut5xx|\
  206. unbranded,xdx-rn502j|\
  207. zyxel,keenetic|\
  208. zyxel,nbg-419n|\
  209. zyxel,nbg-419n-v2)
  210. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
  211. ;;
  212. airlive,air3gii|\
  213. argus,atp-52b|\
  214. asus,wl-330n3g|\
  215. dlink,dir-620-d1|\
  216. edimax,3g-6200n|\
  217. edimax,3g-6200nl|\
  218. netcore,nw718|\
  219. nexx,wt1520-4m|\
  220. nexx,wt1520-8m|\
  221. nixcore,x1-16m|\
  222. nixcore,x1-8m|\
  223. omnima,miniembplug|\
  224. planex,mzk-w300nh2|\
  225. sitecom,wl-351|\
  226. trendnet,tew-714tru)
  227. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
  228. ;;
  229. asus,rt-g32-b1|\
  230. asus,rt-n10-plus)
  231. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devconf 0x4)" 1)
  232. ;;
  233. belkin,f5d8235-v2)
  234. wan_mac=$(macaddr_add "$(mtd_get_mac_binary uboot 0x40004)" 1)
  235. ;;
  236. dlink,dir-300-b7|\
  237. dlink,dir-320-b1|\
  238. dlink,dir-620-a1|\
  239. engenius,esr-9753|\
  240. hame,mpr-a1|\
  241. hauppauge,broadway|\
  242. huawei,d105|\
  243. hilink,hlk-rm04|\
  244. nexaira,bc2|\
  245. olimex,rt5350f-olinuxino|\
  246. olimex,rt5350f-olinuxino-evb|\
  247. petatel,psr-680w|\
  248. skyline,sl-r7205)
  249. lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
  250. wan_mac=$(macaddr_add "$lan_mac" 1)
  251. ;;
  252. dlink,dap-1350)
  253. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x2e)" 1)
  254. ;;
  255. dlink,dir-300-b1|\
  256. dlink,dir-600-b1|\
  257. dlink,dir-610-a1)
  258. wan_mac=$(macaddr_add "$(mtd_get_mac_binary devdata 0x4004)" 1)
  259. ;;
  260. dlink,dir-615-d)
  261. label_mac=$(mtd_get_mac_binary devdata 0x4004)
  262. ;;
  263. dlink,dir-615-h1)
  264. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 1)
  265. label_mac=$(mtd_get_mac_binary factory 0x4)
  266. ;;
  267. dlink,dwr-512-b)
  268. wan_mac=$(macaddr_add "$(mtd_get_mac_binary config 0xe07e)" 1)
  269. ;;
  270. jcg,jhr-n805r|\
  271. jcg,jhr-n825r|\
  272. jcg,jhr-n926r)
  273. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2e)" 1)
  274. ;;
  275. poray,m3|\
  276. poray,m4-4m|\
  277. poray,m4-8m|\
  278. poray,x5|\
  279. poray,x8)
  280. lan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -2)
  281. ;;
  282. sparklan,wcr-150gn|\
  283. wiznet,wizfi630a)
  284. wan_mac=$(mtd_get_mac_binary factory 0x28)
  285. ;;
  286. tenda,w306r-v2)
  287. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x28)" 5)
  288. ;;
  289. upvel,ur-326n4g|\
  290. upvel,ur-336un)
  291. wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4004)" 1)
  292. ;;
  293. esac
  294. [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
  295. [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
  296. [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
  297. }
  298. board_config_update
  299. board=$(board_name)
  300. ramips_setup_interfaces $board
  301. ramips_setup_macs $board
  302. board_config_flush
  303. exit 0