Build for Linksys EA9500

It fixed the loop issue for me but only one 5 ghz band worked, the other 2 and 5 ghz bands didn't.

Hello,

now i installed openwrt on my EA9500 v1
I have som problems when run opkg update from luci or from SSH:

umount: tmpfs busy - remounted read-only
umount: can't remount tmpfs read-only
umount: proc busy - remounted read-only
Collected errors:
 * copy_file: unable to open `/etc/group-opkg.backup': Read-only file system.
 * file_copy: Failed to copy file /etc/group to /etc/group-opkg.backup.
 * backup_make_backup: Failed to copy /etc/group to /etc/group-opkg.backup
 * opkg_install_cmd: Cannot install package base-files.
 * pkg_write_filelist: Failed to open //usr/lib/opkg/info/base-files.list: Read-only file system.

The other issue is
Radio 0 / 1 are both okay. Radio 2 (5 Ghz2) is set but i only found it within 0,5m range from the router, is too weak.
Can anyone help me please? I did already factory reset, but the same issues are.
PS: i bought the router in Europe. ccode=E0

After a few days working on this. This video - helped me fixed my boot loop issue. https://m.youtube.com/watch?v=d8naQBr-hLs

Yes, it helped me as well but not for so long :slight_smile: , The only stable solution is openwrt via serial port.

I've built a fresh copy of OpenWrt 19.07.0-rc2 and set up directions to build it on my GitHub here
My builds use swconfig instead of DSA, since I was more familiar with that, and since OpenWrt's tools are made to use that.

My next question is, what would it take to get this upstreamed in time for 19.07 or even 20.01?
I've identified the following as blockers:

  • LED and switch configuration (/etc/board.d)
  • Dual-partition boot success daemon (/etc/init.d/clear_partialboot)
  • brcmfmac only working with firmware 10.10.69.69 (nice)

It would be nice to get this device upstreamed, since all the bits are in place and ready.

2 Likes

Thanks hurrian for creating a switch config based firmware for EA9500. Off lately, I haven't been able to spend time on the firmware build.

LED config from my config can directly upstreamed. clear_partialboot only resets the boot count on full boot, I'm not sure if something like this will work instead. Where we can just add panamera to the list

I set out to make DSA work on EA9500 only because it has 2 internal switches connected to each other. Without that (i.e in switch config) user will have no control over one of the switch (5 of the 8 physical ports). But, it shouldn't matter for most of the folks.

Cheers!

1 Like

I own a non-US model ea9500.
If I do a install of openwrt true the gui, it gets in a bootloop.
After a couple of reboots,it boots in the standard Linksys firmware.

I use openwrt-20190618-Non-US.img.

Any suggestions?Thanks!!

Anyone know how to get 802.11r FT and WPA3 SAE working on brcmfmac for the BCM4366C0?

I've made some builds off master and verified that FT AKMs (https://www.spinics.net/lists/linux-wireless/msg176215.html), and SAE (https://patchwork.kernel.org/patch/10748073/) are patched in on the wireless-backports drivers that OpenWrt uses.

...and btw, it's still broken while using the latest 4366c0 firmware from linux-firmware (10.10.122.x).

I posted this a couple of days ago, but I removed it. I had some time available today and I was able to play with it.My WIFI <-> LAN speed runs at 10mbps, but goes up to ~150mbps if lan port 3 is connected and up at 1gbps. However, WIFI <-> WAN (100mbps verizon fios) always maxes out my internet connection regardless of state of port3.

with lan3 down

root@homeworld:~# for i in `ifconfig |grep Link | awk '{print $1}' |grep lan` ; do echo $i; ethtool $i |grep Speed;done
br-lan
lan1
        Speed: 1000Mb/s
lan2
        Speed: 10Mb/s
lan3
        Speed: 10Mb/s
lan4
        Speed: 10Mb/s
lan5
        Speed: 10Mb/s
lan6
        Speed: 10Mb/s
lan7
        Speed: 10Mb/s
lan8
        Speed: 100Mb/s
wlan0
wlan1
wlan2
root@homeworld:~#
These are the interfaces that are always connected and up aka link.

lan1 - NAS server
lan8 - that's my stereo receiver.

speed test over wifi always maxes out my internet connection. If my laptop is connected to my wifi network and I decide a pull a file from my NAS server, I top out at 10mbps.

If I turn on the computer that is connected to lan3 port, my wifi speed goes up to ~150mbps! For testing purposes, I shutdown the computer on lan port 3 again and pulled a 1GB file. The speed was at 10mbps. Next, I turned the computer on lan port 3 back on and the speed went up to ~150mbps.

root@homeworld:~# for i in `ifconfig |grep Link | awk '{print $1}' |grep lan` ; do echo $i; ethtool $i |grep Speed;done
br-lan
lan1
        Speed: 1000Mb/s
lan2
        Speed: 10Mb/s
lan3
        Speed: 1000Mb/s
lan4
        Speed: 10Mb/s
lan5
        Speed: 10Mb/s
lan6
        Speed: 10Mb/s
lan7
        Speed: 10Mb/s
lan8
        Speed: 100Mb/s
wlan0
wlan1
wlan2
root@homeworld:~#
   1 bash
Does the wifi traffic someone run over lan port 3?

The WiFi traffic in this device passes through the CPU (since it will have to be passed through the SoC's PCIe lanes). However, the external switch being bottlenecked could be the reason traffic between LAN and WiFi is slow.
My guess is that somehow, the following code in the DTS isn't taking:

sw0_p0: port@0 {
	reg = <0>;
	label = "extsw";

	fixed-link {
		speed = <1000>;
		full-duplex;
	};

That sets port 0 on the internal BCM53012 switch to "always run at 1Gbps"; same code exists for the external BCM53125 switch port 8. npcomplete documented this on his blog here (click)

In the meantime, please try out a swconfig-based build from here (click) to see if it resolves your issue. I run most of my devices off the "external" switch's ports - I get my full line speed just fine (and local transfers work up to 1Gbps), with LAN3 not connected.

NOTE: If you are coming from npcomplete's builds, you will likely have to perform a factory reset while flashing this image.

Yes, that is a wall-mounted EA9500.

1 Like

I updated from an older OpenWRT firmware and now am on Kernel v4.19.52. You mentioned there was a known issue where ports 468 and 12356 can only talk to each other.. Has this been resolved? Is there another firmware I can downgrade to that doesn't have this issue? Are there any fixes in the works?

UPDATE: I had to go back to stock Lynksys firmware. Too many issue swith ports not talking to each other. I look forward to going back to OpenWRT once the ports issues have been resolved. Thank you for the hard work that went into this, but i need to have the ports talking to each other on my network.

Which build most work for EA9500 right now ? Thanks so much

Please check the latest build I've gone back to few earlier settings.

  1. VLAN
  2. Old wifi firmware (third access point is still misbehaving - will try to fix it)
    a. wlan0 AC (36, 40, 44, 48, 52, 56, 60, 64)
    b wlan1 (11agn)
    c wlan2 (149, 153, 157, 161) <== issues

I need some extra kernel modules (for some usb device), so I try to build one from your github fork. But failed. (got an error: /usr/include/asm-generic/int-ll64.h:31:42: error: conflicting types for '__u64')

So I followed this thread, make official master branch work, now I have 8 lan interface, and everything works verywell.

Except wireless.

They work very well with your yesterday build.

I'm still trying to solve this problem, but I don't know what should I do.

Can you please give me a help?

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '36'
        option hwmode '11a'
        option path '18000000.axi/bcma0:7/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:01.0/0000:03:00.0'
        option htmode 'VHT80'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt1'
        option encryption 'none'
{
        "radio0": {
                "up": true,
                "pending": false,
                "autostart": true,
                "disabled": false,
                "retry_setup_failed": false,
                "config": {
                        "channel": "36",
                        "hwmode": "11a",
                        "path": "18000000.axi/bcma0:7/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:01.0/0000:03:00.0",
                        "htmode": "VHT80"
                },
                "interfaces": [
                        {
                                "section": "default_radio0",
                                "ifname": "wlan0",
                                "config": {
                                        "mode": "ap",
                                        "ssid": "OpenWrt1",
                                        "encryption": "none",
                                        "network": [
                                                "lan"
                                        ],
                                        "mode": "ap"
                                }
                        }
                ]
        },
        "radio1": {
                "up": true,
                "pending": false,
                "autostart": true,
                "disabled": false,
                "retry_setup_failed": false,
                "config": {
                        "channel": "11",
                        "hwmode": "11g",
                        "path": "18000000.axi/bcma0:7/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:02.0/0000:04:00.0",
                        "htmode": "HT20",
                        "disabled": false
                },
                "interfaces": [
                        {
                                "section": "default_radio1",
                                "ifname": "wlan1",
                                "config": {
                                        "mode": "ap",
                                        "ssid": "OpenWrt2",
                                        "encryption": "none",
                                        "network": [
                                                "lan"
                                        ],
                                        "mode": "ap"
                                }
                        }
                ]
        },
        "radio2": {
                "up": true,
                "pending": false,
                "autostart": true,
                "disabled": false,
                "retry_setup_failed": false,
                "config": {
                        "channel": "36",
                        "hwmode": "11a",
                        "path": "18000000.axi/bcma0:8/pci0001:00/0001:00:00.0/0001:01:00.0",
                        "htmode": "VHT80",
                        "disabled": false
                },
                "interfaces": [
                        {
                                "section": "default_radio2",
                                "ifname": "wlan2",
                                "config": {
                                        "mode": "ap",
                                        "ssid": "OpenWrt3",
                                        "encryption": "none",
                                        "network": [
                                                "lan"
                                        ],
                                        "mode": "ap"
                                }
                        }
                ]
        }
}

Hi there,

Thanks a lot for all the work you've put into this project. I've installed Lede on my EA9500 through Linksys GUI (figured I could always recover by booting from first partiton if needed. Left the first partition untouched for that reason. After that I booted the router in OpenWRT and everything seemed to work rather well. Had some issues with LAN and WAN speeds I couldn't figure out, so did the partial reboot to boot back to stock firmware and flashed OpenWRT again from the linksys GUI. OpenWRT works fine (as far as I can tell), although the LAN and WAN speed issues persist. However, since then I'm unable to reboot into the factory firmware using the 3 times partial boot trick. The router just boots back to OpenWRT every single time.
Any idea what causes this?
Thanks!

@Spawny did you try to apply the factory image?

Wifi Instructions:

  • Make sure to set country code: United States: US, World: EU
  • 5Ghz channels radio0 and radio2 stick to 40Mhz bandwidth
  • radio0 stick to lower bands (36, 40, 44, 48, 52, 56, 60, 64)
  • radio2 stick to higher bands (136,140,144,153,157,161,165)

Thanks for the suggestions. Haven't tried flashing the factory image through the gui yet. From what I read, if it isn't a sysupdate it won't work. If you think it's ok to try, I will.

I'm from EU, I used the country code specific for my country. Running radio0 on 36, 40Mhz. Will see if the higher bands work or not.
I'll post update when I've tried.

Update
Can't get radio2 to work on any channel with 40Mhz. Only on 1 or 2 channels in 20Mhz. radio0 runs on channel 36 with 40Mhz and gives me these read-writes over wifi (test started from laptop on wifi reading and writing to networkfolder on wired pc).

try flashing factory from ssh

mtd write /tmp/EA9500_Factory.trx firmware
mtd write /tmp/EA9500_Factory.trx failsafe

I'll give that a try later tonight. Can't risk ruining the router while my wife is working :grinning: