mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-10-15 02:15:50 +00:00
Hardware information: --------------------- - RTL8380 SoC - 8 Gigabit RJ45 PoE ports (built-in RTL8218B) - 2 SFP ports (built-in SerDes) - RJ45 RS232 port on front panel - 32 MiB NOR Flash - 128 MiB DDR3 DRAM - PT7A7514 watchdog - PoE chip - Fanless Known issues: --------------------- - PoE LEDs are uncontrolled. (Manual taken fromf2f09bc
) Booting initramfs image: ------------------------ - Prepare a FTP or TFTP server serving the OpenWrt initramfs image and connect the server to a switch port. - Connect to the console port of the device and enter the extended boot menu by typing Ctrl+B when prompted. - Choose the menu option "<3> Enter Ethernet SubMenu". - Set network parameters via the option "<5> Modify Ethernet Parameter". Enter the FTP/TFTP filename as "Load File Name" ("Target File Name" can be left blank, it is not required for booting from RAM). Note that the configuration is saved on flash, so it only needs to be done once. - Select "<1> Download Application Program To SDRAM And Run". Initial installation: --------------------- - Boot an initramfs image as described above, then use sysupgrade to install OpenWrt permanently. After initial installation, the bootloader needs to be configured to load the correct image file - Enter the extended boot menu again and choose "<4> File Control", then select "<2> Set Application File type". - Enter the number of the file "openwrt-kernel.bin" (should be 1), and use the option "<1> +Main" to select it as boot image. - Choose "<0> Exit To Main Menu" and then "<1> Boot System". NOTE: The bootloader on these devices can only boot from the VFS filesystem which normally spans most of the flash. With OpenWrt, only the first part of the firmware partition contains a valid filesystem, the rest is used for rootfs. As the bootloader does not know about this, you must not do any file operations in the bootloader, as this may corrupt the OpenWrt installation (selecting the boot image is an exception, as it only stores a flag in the bootloader data, but doesn't write to the filesystem). Example PoE config file (/etc/config/poe): --------------------- config global option budget '65' config port option enable '1' option id '1' option name 'lan8' option poe_plus '1' option priority '2' config port option enable '1' option id '2' option name 'lan7' option poe_plus '1' option priority '2' config port option enable '1' option id '3' option name 'lan6' option poe_plus '1' option priority '2' config port option enable '1' option id '4' option name 'lan5' option poe_plus '1' option priority '2' config port option enable '1' option id '5' option name 'lan4' option poe_plus '1' option priority '2' config port option enable '1' option id '6' option name 'lan3' option poe_plus '1' option priority '2' config port option enable '1' option id '7' option name 'lan2' option poe_plus '1' option priority '2' config port option enable '1' option id '8' option name 'lan1' option poe_plus '1' option priority '2' Signed-off-by: Kevin Jilissen <info@kevinjilissen.nl> (cherry picked from commitf4ee08677c
)
99 lines
2.5 KiB
Plaintext
99 lines
2.5 KiB
Plaintext
|
|
. /lib/functions.sh
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/system.sh
|
|
|
|
ucidef_set_poe() {
|
|
json_select_object 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 ..
|
|
json_select ..
|
|
}
|
|
|
|
board=$(board_name)
|
|
board_config_update
|
|
|
|
lan_list=$(ls -1 -v -d /sys/class/net/lan* | xargs -n1 basename | xargs)
|
|
lan_list_rev=$(ls -1 -v -d -r /sys/class/net/lan* | xargs -n1 basename | xargs)
|
|
ucidef_set_bridge_device switch
|
|
ucidef_set_interface_lan "$lan_list"
|
|
|
|
lan_mac=""
|
|
lan_mac_start=""
|
|
lan_mac_end=""
|
|
label_mac=""
|
|
case $board in
|
|
hpe,1920-8g|\
|
|
hpe,1920-8g-poe-65w|\
|
|
hpe,1920-8g-poe-180w|\
|
|
hpe,1920-16g|\
|
|
hpe,1920-24g)
|
|
label_mac=$(mtd_get_mac_binary factory 0x68)
|
|
lan_mac=$label_mac
|
|
mac_count1=$(hexdump -v -n 4 -s 0x110 -e '4 "%d"' $(find_mtd_part factory) 2>/dev/null)
|
|
mac_count2=$(hexdump -v -n 4 -s 0x114 -e '4 "%d"' $(find_mtd_part factory) 2>/dev/null)
|
|
lan_mac_start=$(macaddr_add $lan_mac 2)
|
|
lan_mac_end=$(macaddr_add $lan_mac $((mac_count2-mac_count1)))
|
|
;;
|
|
tplink,sg2008p-v1|\
|
|
tplink,sg2210p-v3|\
|
|
tplink,sg2452p-v4)
|
|
label_mac=$(get_mac_label)
|
|
lan_mac="$label_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
|
|
|
|
ucidef_set_interface_macaddr "lan" $lan_mac
|
|
ucidef_set_bridge_mac "$lan_mac"
|
|
ucidef_set_network_device_mac eth0 $lan_mac
|
|
[ -z "$lan_mac_start" ] && lan_mac_start=$lan_mac
|
|
for lan in $lan_list; do
|
|
ucidef_set_network_device_mac $lan $lan_mac_start
|
|
[ -z "$lan_mac_end" ] || [ "$lan_mac_start" == "$lan_mac_end" ] && lan_mac_start=$(macaddr_setbit_la $lan_mac_start)
|
|
lan_mac_start=$(macaddr_add $lan_mac_start 1)
|
|
done
|
|
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
|
|
|
|
case $board in
|
|
hpe,1920-8g-poe-65w)
|
|
ucidef_set_poe 65 "$lan_list_rev" "lan9 lan10"
|
|
;;
|
|
hpe,1920-8g-poe-180w)
|
|
ucidef_set_poe 180 "$lan_list_rev" "lan9 lan10"
|
|
;;
|
|
netgear,gs110tpp-v1)
|
|
ucidef_set_poe 130 "$lan_list" "lan9 lan10"
|
|
;;
|
|
netgear,gs310tp-v1)
|
|
ucidef_set_poe 55 "$lan_list" "lan9 lan10"
|
|
;;
|
|
zyxel,gs1900-10hp)
|
|
ucidef_set_poe 77 "$lan_list" "lan9 lan10"
|
|
;;
|
|
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" "lan25 lan26"
|
|
;;
|
|
esac
|
|
|
|
board_config_flush
|
|
|
|
exit 0
|