realtek: add ZyXEL GS1900-24HP v1 support
[openwrt/openwrt.git] / target / linux / realtek / base-files / etc / board.d / 02_network
index 4eeb5768e35c823935af9ea9ca56101e90aa87c2..af9db848dd8ad91da0ba83589dadb7be5dcae3b4 100644 (file)
@@ -17,19 +17,19 @@ ucidef_set_poe() {
 board=$(board_name)
 board_config_update
 
-lan_list=""
-for lan in /sys/class/net/lan*; do
-       lan_list="$lan_list $(basename $lan)"
-done
+lan_list=$(ls -1 -v -d /sys/class/net/lan* | xargs -n1 basename | xargs)
 ucidef_set_bridge_device switch
 ucidef_set_interface_lan "$lan_list"
 
 lan_mac=""
+lan_mac_end=""
 label_mac=""
 case $board in
 *)
-       lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
-       label_mac=$lan_mac
+       lan_mac=$(mtd_get_mac_ascii u-boot-env2 mac_start)
+       lan_mac_end=$(mtd_get_mac_ascii u-boot-env2 mac_end)
+       label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
+       [ -z "$lan_mac" ] && lan_mac=$label_mac
        ;;
 esac
 
@@ -38,7 +38,7 @@ ucidef_set_bridge_mac "$lan_mac"
 ucidef_set_network_device_mac eth0 $lan_mac
 for lan in $lan_list; do
        ucidef_set_network_device_mac $lan $lan_mac
-       lan_mac=$(macaddr_setbit_la $lan_mac)
+       [ -z "$lan_mac_end" ] || [ "$lan_mac" == "$lan_mac_end" ] && lan_mac=$(macaddr_setbit_la $lan_mac)
        lan_mac=$(macaddr_add $lan_mac 1)
 done
 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
@@ -57,6 +57,7 @@ zyxel,gs1900-8hp-v1|\
 zyxel,gs1900-8hp-v2)
        ucidef_set_poe 70 "$lan_list"
        ;;
+zyxel,gs1900-24hp-v1|\
 zyxel,gs1900-24hp-v2)
        ucidef_set_poe 170 "$lan_list"
        ;;