Linksys E2000 problem de-bricking

The problem is the Ethernet interface is not communicating. I bricked it and have successfully installed 22.03.5, r20134-5f15225c1e along with soldering to the motherboard a serial/USB connection. I know there is no hardware failure with the network since I can talk to it in fail safe mode.

paroot@OpenWrt:/etc# ifconfig -a
br-lan    Link encap:Ethernet  HWaddr C0:C1:C0:42:B7:94
          inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd8f:b340:dc9c::1/60 Scope:Global
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr C0:C1:C0:42:B7:94
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:342 (342.0 B)  TX bytes:3150 (3.0 KiB)
          Interrupt:4

eth0.1    Link encap:Ethernet  HWaddr C0:C1:C0:42:B7:94
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0.2    Link encap:Ethernet  HWaddr C0:C1:C0:42:B7:94
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:320 errors:0 dropped:0 overruns:0 frame:0
          TX packets:320 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25416 (24.8 KiB)  TX bytes:25416 (24.8 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:01:36:22:7F:1F
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

But this shows br-lan DOWN.

root@OpenWrt:/etc# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN qlen 1000
    link/ether c0:c1:c0:42:b7:94 brd ff:ff:ff:ff:ff:ff
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:01:36:22:7f:1f brd ff:ff:ff:ff:ff:ff
8: br-lan: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether c0:c1:c0:42:b7:94 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.200/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd8f:b340:dc9c::1/60 scope global tentative noprefixroute
       valid_lft forever preferred_lft forever
9: eth0.1@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop master br-lan state DOWN qlen 1000
    link/ether c0:c1:c0:42:b7:94 brd ff:ff:ff:ff:ff:ff
10: eth0.2@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether c0:c1:c0:42:b7:94 brd ff:ff:ff:ff:ff:ff

And then this:

root@OpenWrt:/etc# ifconfig -a eth0 up
ifconfig: SIOCSIFFLAGS: Out of memory
root@OpenWrt:/etc# ifconfig eth0 192.168.1.201
ifconfig: SIOCSIFFLAGS: Out of memory
root@OpenWrt:/etc# dmesg | tail
[   19.540312] kmodloader: done loading kernel modules from /etc/modules.d/*
[   19.722078] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   56.620912] br-lan: port 1(eth0.1) entered blocking state
[   56.626604] br-lan: port 1(eth0.1) entered disabled state
[   56.633090] device eth0.1 entered promiscuous mode
[10048.831890] device eth0.1 left promiscuous mode
[10048.836779] br-lan: port 1(eth0.1) entered disabled state
[10061.211135] br-lan: port 1(eth0.1) entered blocking state
[10061.216805] br-lan: port 1(eth0.1) entered disabled state
[10061.223254] device eth0.1 entered promiscuous mode
root@OpenWrt:/etc# uci export network
package network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd8f:b340:dc9c::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0.1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.200'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option device 'eth0.2'
        option proto 'dhcp'

config interface 'wan6'
        option device 'eth0.2'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '1 2 3 4 8t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '0 8t'

I am at a loss as what to do next so any help would be appreciated.

this seems to be pretty self explanitory.
The E2000 only has 32MB of RAM. That is not enough for OpenWrt 22.03. The only reason it is working in failsafe mode is that it is booting a very minimal set of features... dnsmasq (DHCP) isn't even running. Once you run the full OS, you will run out of memory.

Time for new hardware (note the 32MB warning at the top of the device page)

EDIT: I'm not even sure why 22.03 still builds for this device. If you must use the E2000, you should consider building a custom image with as many features removed as possible to reduce the memory footprint. Removing LuCI may be a good start.

1 Like

Thanks, I was hoping that was not the case. This was just meant to be used as a switch anyway. I guess I need to learn some more stuff then by building my own version.

Instead of building an image, shouldn't I be able to just delete some packages?

No, deleting doesn't alter the image, it just marks files as deleted. So despite the counter-intuitive nature of the idea, deleting actually takes more space.

You'll need to e.g. make a custom image with the Firmware Selector.

1 Like

You can probably build an 21.02.7 image here

If you plan to use it as a switch with LuCI, you can do it with the following packages (click on customize):

base-files busybox ca-bundle dropbear firewall fstools iptables kmod-b43 kmod-gpio-button-hotplug kmod-ipt-offload kmod-leds-gpio libc libgcc libustream-wolfssl logd mtd netifd nvram opkg otrx procd swconfig uci uclient-fetch urandom-seed urngd luci
1 Like

If you are using it purely as a switch, you can probably safely run OpenWrt 19.07 -- this version is EOL and unsupported and does have security issues that will remain unpatched. However, if it is already behind another gateway/firewall on a trusted network and the device is not used as a gateway (i.e. not directly connected to the internet), and as long as wifi is off... the actual probability of an exploit affecting your environment is quite low.

1 Like

Unfortunately, this did not work. I can move this to a new thread if you prefer.

_tftpd_open(): retries=2/10
.. 4853792 bytes read

### Start=76320734 E=-944770591 Delta=-1021091325 ###
Entry at 0x807a1350
CMD: [boot -raw -z -addr=0x80001000 -max=0x185ecb0 -fs=memory :0x807a1350]
Loader:raw Filesys:memory Dev:eth0 File::0x807a1350 Options:(null)
Loading: . 0 bytes read

### Start=-938038881 E=-936276711 Delta=1762170 ###
Failed.
Could not load :0x807a1350: Error
CFE>

When I did the customize there were a lot of: WARNING: maxlen exceeds default maximum! Beware of overwriting nvram! messages in the STDERR.

Also, the "Installed Packages" section show after the customization shows:

base-files busybox ca-bundle dnsmasq dropbear firewall fstools ip6tables iptables kmod-b43 kmod-gpio-button-hotplug kmod-ipt-offload kmod-leds-gpio libc libgcc libustream-wolfssl logd mtd netifd nvram odhcp6c odhcpd-ipv6only opkg otrx ppp ppp-mod-pppoe procd swconfig uci uclient-fetch urandom-seed urngd wpad-basic-wolfssl

What did I do wrong?

Never mind. This can be closed. I ended up installing DD-WRT. I had to use the CFE> upgrade code.bin command documented at https://openwrt.org/docs/techref/bootloader/cfe.

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