mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Add a directory by kernel instead of a common root, add qnap-301w and rpi4 kernel 6.1 suppport
This commit is contained in:
parent
e910436a7a
commit
46837ec4c0
9459 changed files with 362648 additions and 116345 deletions
|
@ -0,0 +1,42 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /lib/functions/leds.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board=$(board_name)
|
||||
boardname="${board##*,}"
|
||||
|
||||
board_config_update
|
||||
|
||||
case $board in
|
||||
friendlyarm,nanopi-r2c|\
|
||||
friendlyarm,nanopi-r2s|\
|
||||
xunlong,orangepi-r1-plus|\
|
||||
xunlong,orangepi-r1-plus-lts)
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth1"
|
||||
;;
|
||||
friendlyarm,nanopi-r4s|\
|
||||
friendlyarm,nanopi-r4se|\
|
||||
sharevdi,guangmiao-g4c)
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0"
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth1"
|
||||
;;
|
||||
friendlyarm,nanopi-r5s)
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth0"
|
||||
ucidef_set_led_netdev "lan1" "LAN1" "green:lan1" "eth1"
|
||||
ucidef_set_led_netdev "lan2" "LAN2" "green:lan2" "eth2"
|
||||
;;
|
||||
friendlyarm,nanopi-r5c)
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0"
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1"
|
||||
;;
|
||||
hinlink,opc-h66k|\
|
||||
hinlink,opc-h68k)
|
||||
ucidef_set_led_netdev "wan" "WAN" "blue:net" "eth0"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,120 @@
|
|||
#!/bin/sh
|
||||
|
||||
. /lib/functions/uci-defaults.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
rockchip_setup_interfaces()
|
||||
{
|
||||
local board="$1"
|
||||
|
||||
case "$board" in
|
||||
ariaboard,photonicat|\
|
||||
ezpro,mrkaio-m68s|\
|
||||
hinlink,opc-h66k|\
|
||||
friendlyarm,nanopi-r2c|\
|
||||
friendlyarm,nanopi-r2s|\
|
||||
friendlyarm,nanopi-r4s|\
|
||||
friendlyarm,nanopi-r4se|\
|
||||
rocktech,mpc1903|\
|
||||
sharevdi,guangmiao-g4c|\
|
||||
xunlong,orangepi-r1-plus|\
|
||||
xunlong,orangepi-r1-plus-lts)
|
||||
ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
|
||||
;;
|
||||
hinlink,opc-h68k)
|
||||
ucidef_set_interfaces_lan_wan 'eth1 eth2 eth3' 'eth0'
|
||||
;;
|
||||
fastrhino,r66s|\
|
||||
firefly,rk3568-roc-pc|\
|
||||
friendlyarm,nanopi-r5c|\
|
||||
radxa,e25)
|
||||
ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
|
||||
;;
|
||||
fastrhino,r68s)
|
||||
ucidef_set_interfaces_lan_wan 'eth0 eth2 eth3' 'eth1'
|
||||
;;
|
||||
friendlyarm,nanopi-r5s)
|
||||
ucidef_set_interfaces_lan_wan "eth1 eth2" "eth0"
|
||||
;;
|
||||
*)
|
||||
ucidef_set_interface_lan 'eth0'
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
generate_mac_from_mmc_cid()
|
||||
{
|
||||
local sd_hash=$(sha256sum /sys/class/block/mmcblk*/device/cid | head -n 1)
|
||||
local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
|
||||
echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
|
||||
}
|
||||
|
||||
nanopi_r4s_get_mac()
|
||||
{
|
||||
local interface=$1
|
||||
local eeprom_path="/sys/bus/i2c/devices/2-0051/eeprom"
|
||||
local address
|
||||
|
||||
if [ -f "$eeprom_path" ]; then
|
||||
address=$(get_mac_binary "$eeprom_path" 0xfa)
|
||||
if [ "$interface" = "lan" ]; then
|
||||
address=$(macaddr_setbit_la "$address")
|
||||
fi
|
||||
else
|
||||
address=$(generate_mac_from_mmc_cid)
|
||||
if [ "$interface" = "lan" ]; then
|
||||
address=$(macaddr_add "$address" 1)
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$address"
|
||||
}
|
||||
|
||||
rockchip_setup_macs()
|
||||
{
|
||||
local board="$1"
|
||||
local lan_mac=""
|
||||
local wan_mac=""
|
||||
local label_mac=""
|
||||
|
||||
case "$board" in
|
||||
ariaboard,photonicat|\
|
||||
ezpro,mrkaio-m68s|\
|
||||
hinlink,opc-h66k|\
|
||||
hinlink,opc-h68k|\
|
||||
fastrhino,r66s|\
|
||||
fastrhino,r68s|\
|
||||
firefly,rk3568-roc-pc|\
|
||||
friendlyarm,nanopi-r2c|\
|
||||
friendlyarm,nanopi-r2s|\
|
||||
friendlyarm,nanopi-r5s|\
|
||||
friendlyarm,nanopi-r5c|\
|
||||
sharevdi,guangmiao-g4c|\
|
||||
rocktech,mpc1903)
|
||||
wan_mac=$(generate_mac_from_mmc_cid)
|
||||
lan_mac=$(macaddr_add "$wan_mac" +1)
|
||||
;;
|
||||
friendlyarm,nanopi-r4s|\
|
||||
friendlyarm,nanopi-r4se)
|
||||
wan_mac=$(nanopi_r4s_get_mac wan)
|
||||
lan_mac=$(nanopi_r4s_get_mac lan)
|
||||
;;
|
||||
xunlong,orangepi-r1-plus|\
|
||||
xunlong,orangepi-r1-plus-lts)
|
||||
lan_mac=$(cat /sys/class/net/eth1/address)
|
||||
wan_mac=$(macaddr_add "$lan_mac" -1)
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
||||
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
||||
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
|
||||
}
|
||||
|
||||
board_config_update
|
||||
board=$(board_name)
|
||||
rockchip_setup_interfaces $board
|
||||
rockchip_setup_macs $board
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ "$ACTION" = add ] || exit
|
||||
|
||||
get_device_irq() {
|
||||
local device="$1"
|
||||
local line
|
||||
local seconds
|
||||
|
||||
# wait up to 10 seconds for the irq/device to appear
|
||||
for seconds in $(seq 0 9); do
|
||||
line=$(grep -m 1 "${device}\$" /proc/interrupts) && break
|
||||
sleep 1
|
||||
done
|
||||
echo ${line} | sed 's/:.*//'
|
||||
}
|
||||
|
||||
set_interface_core() {
|
||||
local core_mask="$1"
|
||||
local interface="$2"
|
||||
local device="$3"
|
||||
|
||||
[ -z "${device}" ] && device="$interface"
|
||||
|
||||
local irq=$(get_device_irq "$device")
|
||||
|
||||
echo "${core_mask}" > /proc/irq/${irq}/smp_affinity
|
||||
}
|
||||
|
||||
case "$(board_name)" in
|
||||
fastrhino,r66s|\
|
||||
friendlyarm,nanopi-r5c|\
|
||||
firefly,rk3568-roc-pc)
|
||||
set_interface_core 2 "eth0"
|
||||
set_interface_core 4 "eth1"
|
||||
;;
|
||||
friendlyarm,nanopi-r2c|\
|
||||
friendlyarm,nanopi-r2s|\
|
||||
xunlong,orangepi-r1-plus|\
|
||||
xunlong,orangepi-r1-plus-lts)
|
||||
set_interface_core 2 "eth0"
|
||||
set_interface_core 4 "eth1" "xhci-hcd:usb3"
|
||||
;;
|
||||
friendlyarm,nanopi-r4s|\
|
||||
friendlyarm,nanopi-r4se|\
|
||||
sharevdi,guangmiao-g4c)
|
||||
set_interface_core 10 "eth0"
|
||||
set_interface_core 20 "eth1"
|
||||
;;
|
||||
friendlyarm,nanopi-r5s)
|
||||
set_interface_core 0 "eth0"
|
||||
set_interface_core 2 "eth1"
|
||||
set_interface_core 4 "eth2"
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue