realtek: skip SFP ports in PoE setup
authorPaul Spooren <mail@aparcar.org>
Sat, 30 Jul 2022 18:25:32 +0000 (20:25 +0200)
committerSander Vanheule <sander@svanheule.net>
Sat, 13 Aug 2022 17:15:46 +0000 (19:15 +0200)
The function `ucidef_set_poe` receives a list of ports to add to the PoE array.
Since switches have many ports the varibale `lan_list` is passed instead of
writing every single lan port. However, this list includes partly SFP ports
which are unrelated to PoE.

This commits adds the option to add a third parameter to manually exclide
interfaces, usually the last two.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[Replace glob by regex to be more specific about matching characters]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
target/linux/realtek/base-files/etc/board.d/02_network

index 5356bcac65d078bac2a140dd3d35f502b90f2ef2..87d772cf84029ba80b6855c49beb445d33817535 100644 (file)
@@ -8,6 +8,9 @@ ucidef_set_poe() {
                json_add_string "budget" "$1"
                json_select_array ports
                        for port in $2; do
+                               if [ -n "$3" -a -n "$(expr "$3" : "\(.\+[[:space:]]\)\{0,1\}$port\([[:space:]].*\|\$\)")" ]; then
+                                       continue # skip ports passed via $3
+                               fi
                                json_add_string "" "$port"
                        done
                json_select ..
@@ -57,13 +60,13 @@ done
 
 case $board in
 netgear,gs110tpp-v1)
-       ucidef_set_poe 130 "$lan_list"
+       ucidef_set_poe 130 "$lan_list" "lan9 lan10"
        ;;
 netgear,gs310tp-v1)
-       ucidef_set_poe 55 "$lan_list"
+       ucidef_set_poe 55 "$lan_list" "lan9 lan10"
        ;;
 zyxel,gs1900-10hp)
-       ucidef_set_poe 77 "$lan_list"
+       ucidef_set_poe 77 "$lan_list" "lan9 lan10"
        ;;
 zyxel,gs1900-8hp-v1|\
 zyxel,gs1900-8hp-v2)
@@ -71,7 +74,7 @@ zyxel,gs1900-8hp-v2)
        ;;
 zyxel,gs1900-24hp-v1|\
 zyxel,gs1900-24hp-v2)
-       ucidef_set_poe 170 "$lan_list"
+       ucidef_set_poe 170 "$lan_list" "lan25 lan26"
        ;;
 esac