diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 20e278230..f5a57cee0 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -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 diff --git a/openmptcprouter/files/etc/uci-defaults/2060-omr-system b/openmptcprouter/files/etc/uci-defaults/2060-omr-system index ec8de8d5b..5b8162cd7 100755 --- a/openmptcprouter/files/etc/uci-defaults/2060-omr-system +++ b/openmptcprouter/files/etc/uci-defaults/2060-omr-system @@ -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 \ No newline at end of file diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index 6a0e133cd..59b22fa03 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -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 & }