Low-profile OpenWRT router with 5 ports?

Hello! I am looking for a OpenWRT router for a specific purpose: the requirement is as follows:

The router will be behind Fritzbox 7530. (connected through VDSL converter over telephone line: about 120meter)
Connected devices: two boilers and one controller for them permanently. Then I will come by with my laptop to check things and browse the internet: Wifi availability preferred, but not a must: LAN is ok.
The boilers and controller talk to each other over IP. (something called modbus)
They communicate with the server of the manufacturer of the boilers.

So in all, very low traffic.

I only know Fritzbox 4020, I have two of them (but kept as backup for ERX). But I am a bit worried, a few times they suddenly started assigning wrong IP: OpenWRT DHCP was supposed to assign 192.168.1.x, but it suddenly started giving me 192.168.178.x (native address range for fritz). As I rebooted the router, it behaved normally again.

Stability of the connection of WAN side is not very important, but the devices need to have correct IP address all the time in order to function together well. This weird behavior might not happen with a static lease, but I'm not sure.

So I feel like trying something else. I would appreciate your suggestions !

Why do you need a router and not a simple switch? Do you want to separate the boilers from the rest of the LAN?

Thank you for your reply ! I currently have a simple switch: behind ERX, over VDSL converter. But vdsl converter is not a very stable thing, and I am afraid that DHCP renewal might not be always happening in a timely manner. VDSL converter sometimes freezes, too, then I will have to come to reboot it: if DHCP renewal happens to be due meanwhile, they won't get IP till I come and fix it. I considered putting the lease time (for static lease) to infinity. But then if someone reboots a boiler while VDSL is down, it doesn't get an IP.

So, in all, it's a matter of having DHCP thing independent of VDSL converter: the internet connection will get lost if vdsl dies, but at least the devices keep talking to each other. If I happen to be away, nobody here is going to be able to troubleshoot vdsl thing (I have a raspberry pi to reboot one part of it automatically, but it doesn't always solve the problem: the other part might need to be rebooted, or power adapter fried).

Understood, that makes sense.

What about your ER-X (I assume it's a Ubiquiti ER-X), isn't that one connected over the VDSL extenders to your Fritz?

One possible solution could be a small managed, OpenWrt-supported switch like the Netgear GS308T or the ZyXEL GS1900-8. While their routing performance is bad, you could set up a DHCP server for your boiler-subnet on the switch. All routing is then performed by your main router, i.e. your main router is then configured to not provide DHCP on this specific LAN port (or VLAN).

Btw, since I'm going to buy VDSL extenders soon: How do you reboot them via your Pi?

That suggests you might be dealing with the problem of all switch ports being bridged for a short while before the switch gets properly initialized (while still in the bootloader). The easiest 'real' fix for this would be getting a device which has a dedicated network card for WAN, rather than splitting it out from a common switch. Everything else depends on the devices in question, their OEM behaviour and how long this all-bridged behaviour takes, devices with two cpu-ports might (or might not!) be better at this than devices with a single cpu-port.

1 Like

Thank you for your replies!!

No, that ERX (ubiquiti) is directly next to FB7530, and providing the internet for the house. Currently, the switch at the boiler room is also connected to this ERX over VDSL converter (120meter). At the other end of VDSL, there are only boilers and the controller.

Fritzbox 4020 costs for about 10-20 Euro used (I think there isn't any new ones, but it was like 40 euro), so I was thinking of that kind of range. ERX, managed switches etc are on a higher range for me.... On the other hand, I noticed now, ERX has gotten cheaper, may be it's also a possibility, except that it got no wifi....

As for strange IP by Fritzbox 4020,

I didn't know that such phoenomenon exists! Thank you for the explanation ! Could this happen possibly in the middle of using the router, instead of upon booting? I'm sure that the wrong IP issue was not right after rebooting, but rather while it's running. On the other hand, now, I'm looking at the log I managed to save once, it actually looks like it's my laptop that is acting weird..... perhaps because I was connecting back and forth between different wifi/router.... ?
If the problem is ports being bridged, does that mean that 192.168.178.xx address came not from the native firmware, but perhaps Fritzbox7530 that was on the wan side of FB4020? (WAN gets 192.168.178, thus it got somehow passed onto LAN port?

Sat Dec  3 11:31:30 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: authenticated
Sat Dec  3 11:31:30 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: associated (aid 1)
Sat Dec  3 11:31:30 2022 daemon.notice hostapd: wlan0: AP-STA-CONNECTED 20:c9:d0:ca:xx:yy
Sat Dec  3 11:31:30 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy WPA: pairwise key handshake completed (RSN)
Sat Dec  3 11:31:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPDISCOVER(br-16) 20:c9:d0:ca:xx:yy
Sat Dec  3 11:31:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPOFFER(br-16) 192.168.1.205 20:c9:d0:ca:xx:yy
Sat Dec  3 11:31:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPDISCOVER(br-16) 20:c9:d0:ca:xx:yy
Sat Dec  3 11:31:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPOFFER(br-16) 192.168.1.205 20:c9:d0:ca:xx:yy
Sat Dec  3 11:31:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPREQUEST(br-16) 192.168.178.201 20:c9:d0:ca:xx:yy
Sat Dec  3 11:31:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPNAK(br-16) 192.168.178.201 20:c9:d0:ca:xx:yy wrong server-ID
Sat Dec  3 11:32:19 2022 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 20:c9:d0:ca:xx:yy
Sat Dec  3 11:32:19 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: disassociated
Sat Dec  3 11:32:20 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Sat Dec  3 11:32:33 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: authenticated
Sat Dec  3 11:32:33 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: associated (aid 1)
Sat Dec  3 11:32:33 2022 daemon.notice hostapd: wlan0: AP-STA-CONNECTED 20:c9:d0:ca:xx:yy
Sat Dec  3 11:32:33 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy WPA: pairwise key handshake completed (RSN)
Sat Dec  3 11:32:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPREQUEST(br-16) 192.168.178.201 20:c9:d0:ca:xx:yy
Sat Dec  3 11:32:33 2022 daemon.info dnsmasq-dhcp[20821]: DHCPNAK(br-16) 192.168.178.201 20:c9:d0:ca:xx:yy wrong network
Sat Dec  3 11:32:37 2022 daemon.info dnsmasq-dhcp[20821]: DHCPDISCOVER(br-16) 20:c9:d0:ca:xx:yy
Sat Dec  3 11:32:37 2022 daemon.info dnsmasq-dhcp[20821]: DHCPOFFER(br-16) 192.168.1.205 20:c9:d0:ca:xx:yy
Sat Dec  3 11:32:37 2022 daemon.info dnsmasq-dhcp[20821]: DHCPREQUEST(br-16) 192.168.178.201 20:c9:d0:ca:xx:yy
Sat Dec  3 11:32:37 2022 daemon.info dnsmasq-dhcp[20821]: DHCPNAK(br-16) 192.168.178.201 20:c9:d0:ca:xx:yy wrong server-ID
Sat Dec  3 11:34:58 2022 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED 20:c9:d0:ca:xx:yy
Sat Dec  3 11:34:58 2022 daemon.info hostapd: wlan0: STA 20:c9:d0:ca:xx:yy IEEE 802.11: disassociated
Sat Dec  3 11:34:59 2022 daemon.info dnsmasq-dhcp[20821]: DHCPREQUEST(br-16) 192.168.1.205 20:c9:d0:ca:xx:yy
Sat Dec  3 11:34:59 2022 daemon.info dnsmasq-dhcp[20821]: DHCPACK(br-16) 192.168.1.205 20:c9:d0:ca:xx:yy albertus

In any case, if the wrong address might come up only at the booting if at all, then it's not so bad, perhaps I can give it a try again with fritzbox4020....

As for rebooting of VDSL using Pi, I just inserted a relay
https://www.berrybase.de/ky-019-relais-modul-5v
and wrote a script to turn it off and on: it pings three devices a few times, and if none of them comes back, then it should start the procedure of rebooting, it tries twice, if it still doesn't work, it will send me an SMS. GPIO-controll requires sudo, so it has to be put to sudo crontab -e.

If I get a router on that end, I would just let it pin the router. Right now there is nothing other than boilers etc themselves to ping....

#!/bin/sh

#VDSL2 for Heizung retart automatically
#
# on PiOS execute with bash vdsl-restart.sh  under root. If not root, sudo bash
# set it to be at the start up at cron
# to kill the process: pgrep -f vdsl_auto_restart_test12.sh
# kill -9 PID
# it takes about 30 sec for VDSL to restart and open to traffic. 
#The full syntax would be:
#"if command1 || command2 || command3; then echo $?; fi"

PATH=/usr/bin:/usr/sbin:/bin:/sbin:/etc/config/bin:/home/pi/vdsl-restart
export PATH

# I use GPIO 25 =Pin 22 for this
# For relay: Power supply 5V: pin 4, Ground: pin 20

#   Exports pin to userspace

# Sets pin 25 as an output
#echo "out" > /sys/class/gpio/gpio25/direction

####### notes #########
# Sets pin 1 to high (TURN IT OFF)
#echo "1" > /sys/class/gpio/gpio1/value
# Sets pin 1 to low (TURN IT ON)
#echo "0" > /sys/class/gpio/gpio1/value 
#remove gpio instance
#echo "25" > /sys/class/gpio/unexport
#
#while true
#do

echo "25" > /sys/class/gpio/export 
echo "out" > /sys/class/gpio/gpio25/direction
#
ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || \
ping -c1 -W1 192.168.1.42 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 \
ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.42 >/dev/null 2>&1
 if [ $? -ne 0 ]
      then sleep 40
###### ping once more ######
ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || \
ping -c1 -W1 192.168.1.42 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 \
ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.42 >/dev/null 2>&1
   if [ $? -ne 0 ]
      then sleep 40
###### ping once more ######
ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || \
ping -c1 -W1 192.168.1.42 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 \
ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.42 >/dev/null 2>&1
          if [ $? -ne 0 ]
          then
             ping -c1 -W1 192.168.1.1 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.1 >/dev/null 2>&1
              if [ $? -eq 0 ] 
                then
                   if [ ! -f /tmp/gaveupVDSL ] 
                   then  ###### restart VDSL for the first time ######
                     echo "1" > /sys/class/gpio/gpio25/value
                     sleep 5
                     echo "0" > /sys/class/gpio/gpio25/value
#                     echo "Subject: VDSL-Conv für Heizung restarted #1" | msmtp sxxxxxx@yyyy.com 
 echo "Subject: VDSL-Conv für Heizung restarted #1" | msmtp dxxx@gmail.com
                     echo "Subject: VDSL-Conv für Heizung restarted #1"
                     sleep 40
                    ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || \
ping -c1 -W1 192.168.1.42 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 \
ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.42 >/dev/null 2>&1
                       if [ $? -ne 0 ]
                       then  
                         ping -c1 -W1 192.168.1.1 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.1 >/dev/null 2>&1
                           if [ $? -eq 0 ] 
                           then
###### restart VDSL for the second time ######
                             echo "1" > /sys/class/gpio/gpio25/value
                             sleep 5
                             echo "0" > /sys/class/gpio/gpio25/value
#                             echo "Subject: VDSL-Conv für Heizung restarted #2" | msmtp sxxxxxx@yyyy.com
echo "Subject: VDSL-Conv für Heizung restarted #2" | msmtp doxxxxx@gmail.com 
                            echo "Subject: VDSL-Conv für Heizung restarted #2" 
                             sleep 45
                            ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || \
ping -c1 -W1 192.168.1.42 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.40 >/dev/null 2>&1 \
ping -c1 -W1 192.168.1.41 >/dev/null 2>&1 || ping -c1 -W1 192.168.1.42 >/dev/null 2>&1
                                if [ $? -ne 0 ]
                                then
                                  touch /tmp/gaveupVDSL
                                  echo "Subject:VDSL:Es ging nicht." | msmtp sxxxxxx@yyyy.com 
echo "Subject:Es ging nicht." | msmtp doxxxxx@gmail.com
                                  echo "Es ging nicht."  
                                else
#                                  echo "Subject:Jetzt geht es nach 2.Mal." | msmtp sxxxxxx@yyyy.com 
echo "Subject:Jetzt geht es nach 2.Mal." | msmtp doxxxxx@gmail.com 
                                 echo "Subject:Jetzt geht es nach 2.Mal." 
                                fi
##############################if ping to the router doesn't work, then don't do anything.########
                             fi
                        else
#                          echo "Subject:VDSL für Heizung on-line nach 1.Mal." | msmtp sxxxxxx@yyyy.com 
echo "Subject:VDSL für Heizung on-line nach 1.Mal." | msmtp doxxxxx@gmail.com 
                         echo "Subject:VDSL für Heizung on-line nach 1.Mal."   
                        fi   
                   fi         
              fi 
          else 
             if [ -f /tmp/gaveupVDSL ]
             then 
#                echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" | msmtp sxxxxxx@yyyy.com 
echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" | msmtp doxxxxx@gmail.com 
               echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" 
                rm /tmp/gaveupVDSL 
             fi
          fi
  else
       if [ -f /tmp/gaveupVDSL ]
             then 
#                echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" | msmtp sxxxxxx@yyyy.com 
echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" | msmtp doxxxxx@gmail.com 
               echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" 
                rm /tmp/gaveupVDSL 
        fi
   fi
 else
       if [ -f /tmp/gaveupVDSL ]
             then 
#                echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" | msmtp sxxxxxx@yyyy.com 
echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" | msmtp doxxxxx@gmail.com 
               echo "Subject: VDSL für Heizung jetzt on-line. Nichts gemacht" 
                rm /tmp/gaveupVDSL 
       fi
  fi
  #
echo "25" > /sys/class/gpio/unexport
# wait
# done


@andyboeh
The VDSL converters I use are all bought around 2014, called planet vc-201A, and are not reliable: for a normal internet usage it freezes about once a month or two (for the boilers, about once in 4-5 months), three pieces died so far (the actual devices), and 4 power adapters died: 2 of them died in the boiler room, that's hot, but the other two in room temperature. Could you tell me which VDSL extenders you are getting? I'm interested in finding out a possible replacement. I also saw wantec

but unfortunately it does not work well with VDSL contract (they told me so as I called them up.) : it seems, like powerline, there is a conflict in used frequencies.

For now I have quite a few spares, because I got rid of three VDSL connections, but the death-rate is not very small, it will be nice if I can find out what to get next.

No, this issue would be (a short time span) during early (re-)boot.

Thanks for sharing! I thought that there is maybe a reset command, similar to the one for my powerline adapters. They would also stop transmitting after a while, but a reset via the network works reliably.

I will go with programmable WiFi plugs then.

I thought of getting either a Planet VC231G or the AllNet equivalent. AFAICT most use the same Metanoia VDSL chip anyway (there is a thread about them, somewhere in this Forum, I can't find it right now).

If you don't need telephony features of the Fritz, you could install OpenWrt and turn it into your main router - your ER-X is available :slight_smile:

IIRC, a bootloader update for the ER-X fixes lan port leaking. There should be a thread about LAN-WAN leakage, too.

Interestingly, power cycling using the end of the plug to the outlet didn't work:) I had to pull the plug to the device out to fix it:) Perhaps there wasn't enough shock if you do it on the other end. The relay-reboot works very well. within the past 1 year, there was, I think, 3 times, where the VDSL froze, Raspi did it alone successfully.

As for the power adapter, I got a larger one: a universal adapter, 12V adjustable to 5V, up to 5A. This one doesn't die also in the boiler room, and I feel that the body of the device is not hot anymore. The electrician at the local shop said that the included adapter is too small for 2A.

My Fritz 7530 is AX: so not supported by OpenWRT, unfortunately. On the other hand, I have Fritz 7360 as a spare modem-router, but I have another spare: speedport entry2. I wonder if it's better than FB4020 ? @slh? Or the same problem?

You can easily try it out: Connect two devices to it, one to WAN, one to LAN and assign static IPs and start a Ping. If the devices can reach each other while the switch is booting, it's leaking.

I was going to try it out.... but, I can't flash fb7360. I can't make ftp work to start with;;;;

There are many inexpensive OpenWRT compatible TP-Link routers. Like Archer Ax, or Cx. Are they good/reliable?? (Wifi quality is not important, but it's better if it's there, since ethernet port of my laptop is broken: I don't already have USB-adapter around.)?

Meanwhile, I realized that the heat resilience is the biggest concern. A technician from the manufacturer of the boilers came and recommended me MikroTik RB750R2. This is tested under up to 70 Celcius, that's pretty good. I'm now debating whether to learn RouterOS, or just live with snapshot of OpenWRT 19.x.x (if I ever succeed in installation), or yet look for another heat-proof router with regular OpenWRT support..... But thanks a lot for your infos!!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.