1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Fix network, fix modems and add modems LEDs for ZBT Z8102AX

This commit is contained in:
Ycarus (Yannick Chabanois) 2023-11-10 10:14:34 +01:00
parent f358304707
commit c7f53f2840
3 changed files with 95 additions and 9 deletions

View file

@ -85,6 +85,8 @@ fi
lanif="eth0"
if [ "$(grep rockchip /etc/os-release)" != "" ]; then
lanif="eth1"
elif [ "$(grep filogic /etc/os-release)" != "" ]; then
lanif="eth1"
elif [ -d /sys/class/net/lan0 -o -n "$(ip link | grep ' lan0')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then
lanif="wan"
elif [ -d /sys/class/net/lan1 -o -n "$(ip link | grep ' lan1')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then
@ -273,6 +275,19 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get
_setup_macvlan wan1
_setup_macvlan wan2
fi
elif [ -d /sys/class/net/lan1 -o -n "$(ip link | grep ' lan1')" ] && [ -d /sys/class/net/lan2 -o -n "$(ip link | grep ' lan2')" ] && [ -d /sys/class/net/lan3 -o -n "$(ip link | grep ' lan3')" ] && [ -d /sys/class/net/lan4 -o -n "$(ip link | grep ' lan4')" ]; then
_setup_wan_interface wan1 lan1 master
_setup_wan_interface wan2 lan2 on
_macaddr=$(uci -q get "network.lan1.macaddr")
_setup_macaddr "wan1" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
_macaddr=$(uci -q get "network.lan2.macaddr")
_setup_macaddr "wan2" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
_setup_wan_interface wan3 lan3 on
_macaddr=$(uci -q get "network.lan3.macaddr")
_setup_macaddr "wan3" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
_setup_wan_interface wan4 lan4 on
_macaddr=$(uci -q get "network.lan4.macaddr")
_setup_macaddr "wan4" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}"
elif [ -d /sys/class/net/wan1 ] || [ -n "$(ip link | grep ' wan1')" ]; then
if [ -d /sys/class/net/wan2 ] || [ -n "$(ip link | grep ' wan2')" ]; then
_setup_wan_interface wan1 wan1 master
@ -412,7 +427,39 @@ if ([ "$board" = "teltonika,rutx" ] || [ "$board" = "teltonika,rutx12" ] || [ "$
EOF
fi
if [ "$board" = "z8102ax" ]; then
uci -q batch <<-EOF
set network.modem1=interface
set network.modem1.proto='modemmanager'
set network.modem1.apn=''
set network.modem1.auth='none'
set network.modem1.iptype='ipv4v6'
set network.modem1.addlatency='0'
set network.modem1.force_link='1'
set network.modem1.device='/sys/devices/platform/11200000.usb/usb1/1-1/1-1.1'
set network.modem1.peerdns='0'
set network.modem1.multipath='oncd'
set network.modem1.defaultroute='0'
set network.modem2=interface
set network.modem2.proto='modemmanager'
set network.modem2.apn=''
set network.modem2.auth='none'
set network.modem2.iptype='ipv4v6'
set network.modem2.addlatency='0'
set network.modem2.force_link='1'
set network.modem2.device='/sys/devices/platform/11200000.usb/usb1/1-1/1-1.2'
set network.modem2.peerdns='0'
set network.modem2.multipath='on'
set network.modem2.defaultroute='0'
commit network
add_list firewall.@zone[1].network='modem1'
add_list firewall.@zone[1].network='modem2'
commit firewall
EOF
# /sys/bus/devices/1-1.1
fi
# set network.lan.ipaddr='192.168.5.10'
# set network.lan.gateway='192.168.5.1'
uci -q commit macvlan
uci -q commit network

View file

@ -127,6 +127,28 @@ elif [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep rutx)"
EOF
fi
elif [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep z8102ax)" ] && [ -z "$(uci show system | grep modem1)" ]; then
uci -q batch <<-EOF >/dev/null
add system led
set system.@led[-1].name='modem1'
set system.@led[-1].sysfs='4g:status'
set system.@led[-1].trigger='netdev'
set system.@led[-1].dev='wwan0'
add_list system.@led[-1].mode='link'
add_list system.@led[-1].mode='tx'
add_list system.@led[-1].mode='rx'
add system led
set system.@led[-1].name='modem2'
set system.@led[-1].sysfs='4g2:status'
set system.@led[-1].trigger='netdev'
set system.@led[-1].dev='wwan1'
add_list system.@led[-1].mode='link'
add_list system.@led[-1].mode='tx'
add_list system.@led[-1].mode='rx'
commit system
EOF
fi
#sed -i 's/^\tlogger -t/\t[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] \&\& logger -t/g' /usr/share/ModemManager/modemmanager.common
exit 0

View file

@ -1,5 +1,6 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2013 OpenWrt.org
# Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter
START=58
USE_PROCD=1
@ -10,21 +11,37 @@ log() {
start_service()
{
i=459
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "1" > /sys/class/gpio/gpio${i}/value
i=460
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "1" > /sys/class/gpio/gpio${i}/value
# sim 1
i=461
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
# sim 2
i=462
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
# stop modem 1
i=459
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
# stop modem 2
i=460
echo $i > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${i}/direction
echo "0" > /sys/class/gpio/gpio${i}/value
sleep 1
# run modem 1
i=459
echo "1" > /sys/class/gpio/gpio${i}/value
sleep 3
# run modem 2
i=460
echo "1" > /sys/class/gpio/gpio${i}/value
# watchdog
/usr/lib/custom/wdg.sh &
}