Set-wan eth0 not working in recovery

The suggested method of running “set-wan ethX” to get networking connectivity in recovery does not work, at least not for X=0. The interface is sending out DHCP Discover packets, and getting Offers back, but it just ignores the offers and keeps sending discovers:

root@recovery000afa242967:/# tcpdump -i eth0 -v port 68
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
02:57:02.982265 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0a:fa:24:29:67 (oui Unknown), length 300, xid 0x54ade32c, secs 73, Flags [none]
          Client-Ethernet-Address 00:0a:fa:24:29:67 (oui Unknown)
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 576
            Parameter-Request Option 55, length 8:
              Subnet-Mask, Default-Gateway, Domain-Name-Server, Hostname
              Domain-Name, BR, NTP, Classless-Static-Route
            Vendor-Class Option 60, length 12: "udhcp 1.31.1"
            Hostname Option 12, length 20: "recovery000afa242967"
02:57:02.985748 IP (tos 0x0, ttl 255, id 17640, offset 0, flags [none], proto UDP (17), length 343)
    192.168.42.3.67 > 192.168.42.53.68: BOOTP/DHCP, Reply, length 315, xid 0x54ade32c, secs 73, Flags [none]
          Your-IP 192.168.42.53
          Client-Ethernet-Address 00:0a:fa:24:29:67 (oui Unknown)
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.42.3
            Time-Zone Option 2, length 4: 3600
            Time-Server Option 4, length 4: 192.168.42.3
            Lease-Time Option 51, length 4: 259200
            Domain-Name-Server Option 6, length 4: 192.168.42.3
            NTP Option 42, length 4: 192.168.42.3
            SMTP Option 69, length 4: 192.168.42.3
            Subnet-Mask Option 1, length 4: 255.255.255.0
            MTU Option 26, length 2: 1500
            Default-Gateway Option 3, length 4: 192.168.42.3
            BR Option 28, length 4: 192.168.42.255
            Hostname Option 12, length 5: "dhcp3"
02:57:06.022263 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0a:fa:24:29:67 (oui Unknown), length 300, xid 0x54ade32c, secs 76, Flags [none]
          Client-Ethernet-Address 00:0a:fa:24:29:67 (oui Unknown)
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 576
            Parameter-Request Option 55, length 8:
              Subnet-Mask, Default-Gateway, Domain-Name-Server, Hostname
              Domain-Name, BR, NTP, Classless-Static-Route
            Vendor-Class Option 60, length 12: "udhcp 1.31.1"
            Hostname Option 12, length 20: "recovery000afa242967"
02:57:06.025666 IP (tos 0x0, ttl 255, id 17642, offset 0, flags [none], proto UDP (17), length 343)
    192.168.42.3.67 > 192.168.42.53.68: BOOTP/DHCP, Reply, length 315, xid 0x54ade32c, secs 76, Flags [none]
          Your-IP 192.168.42.53
          Client-Ethernet-Address 00:0a:fa:24:29:67 (oui Unknown)
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.42.3
            Time-Zone Option 2, length 4: 3600
            Time-Server Option 4, length 4: 192.168.42.3
            Lease-Time Option 51, length 4: 259200
            Domain-Name-Server Option 6, length 4: 192.168.42.3
            NTP Option 42, length 4: 192.168.42.3
            SMTP Option 69, length 4: 192.168.42.3
            Subnet-Mask Option 1, length 4: 255.255.255.0
            MTU Option 26, length 2: 1500
            Default-Gateway Option 3, length 4: 192.168.42.3
            BR Option 28, length 4: 192.168.42.255
            Hostname Option 12, length 5: "dhcp3"
^C
4 packets captured
4 packets received by filter
0 packets dropped by kernel
root@recovery000afa242967:/#

I suspect the issue is that the incoming packets get hijacked by the bridge interface or something, so that the DHCP client can’t see them.

What does work is moving the ethernet cable to port GE6. Then the network comes up autoconfigured without even having to run “set-wan”. Maybe the firmware update topic should suggest this method instead?

Thanks for your feedback on this, the forum thread here and firmware update instructions in the manual have been updated to suggest using a different port.

The long explanation is:

In recovery, eth0 is configured is the “LAN” (192.168.10.1/24) interface behind the bridge by default and the set-wan script is not sophisticated enough to properly bring it down. It’s something I plan to rewrite soon to fix this and support a few other wan types (e.g cellular)

When eth0 must be used, you can do:

ifdown lan
uci delete network.lan # just to ensure OpenWrt doesn't try to start it again
set-wan eth0