I am running 22.03 on an x86-64 device (Sophos XG 86w) and have a curious behaviour that I wish to correct, but I am not familiar enough with the internals to know how.
At present, my WAN is running PPPoE, directly connected to eth0 (the router does not have a switch), which is directly connected to an NTT FTTH ONT:
config interface 'wan'
option device 'eth0'
option proto 'pppoe'
(credentials skipped)
The issue I'm having is that if the wan (PPPoE) interface is disconnected (either through ifup wan
or if the other side of the connection temporarily buggers up, which occasionally happens), it causes the eth0 device, the actual physical port, to go down. The resulting song and dance that repeats until the PPPoE connection becomes available again is as follows:
daemon.warn pppd[16211]: Timeout waiting for PADO packets
daemon.err pppd[16211]: Unable to complete PPPoE Discovery
daemon.info pppd[16211]: Exit.
daemon.notice netifd: Interface 'wan' is now down
kern.info kernel: [ 3310.791658] r8169 0000:02:00.0 eth0: Link is Down
daemon.notice netifd: Interface 'wan' is disabled
kern.info kernel: [ 3310.842747] Generic FE-GE Realtek PHY r8169-0-200:00: attached PHY driver [Generic FE-GE Realtek PHY] (mii_bus:phy_addr=r8169-0-200:00, irq=IGNORE)
daemon.notice netifd: Interface 'wan' is enabled
daemon.notice netifd: Interface 'wan' is setting up now
It's port goes up, port goes down until the PPPoE connection is reestablished. I can actually see the ports physically going up and down on both sides of the ethernet cable.
My question would now be: Is there any way to "decouple" the pppoe interface from the physical eth0 port, so it doesn't constantly re-negotiate the physical connection?
I'm also not quite sure if I just didn't observe it with my other X86 routers which have Intel ethernet ports, or it actually does not happen there ... is this a Realtek thing?
Edit/addendum: it feels related that when wan goes down in this manner following a PPPoE failure, netifd throws an error/warning in the logfile:
daemon.notice netifd: wan (16118): Command failed: ubus call network.interface notify_proto { "action": 1, "command": [ "\/usr\/sbin\/pppd", "nodetach", "ipparam", "wan", "ifname", "pppoe-wan", "lcp-echo-interval", "1", "lcp-echo-failure", "5", "lcp-echo-adaptive", "nodefaultroute", "usepeerdns", "maxfail", "1", "user", "(removed)", "password", "(removed)", "ip-up-script", "\/lib\/netifd\/ppp-up", "ip-down-script", "\/lib\/netifd\/ppp-down", "mtu", "1492", "mru", "1492", "plugin", "pppoe.so", "nic-eth0" ], "interface": "wan" } (Permission denied)