Belkin RT3200/Linksys E8450 WiFi AX discussion

Ok, do I have to buy an "usb to serial" cable ? Is there any guide to follow ?

Yes, you need USB to serial for 3.3V TTL level. Usually those come with FTDI FT232L, Prolific PL2303 or Silicon Labs CP210x chip. Do not buy an adapter which has DB9 plug, that's inverting (rather than TTL) and way too high voltage.
Also, due to the global supply shortage, I've heard that many of the FTDI chips these days are counterfeit/fake and don't work well. So better stick with PL2303 or Si CP210x ones, this one is nice for example:

Inside the router you find a JST PH 2.0mm 6-pin socket, so the best is to find this plug to connect to that:
jst-ph20-6pin

(if you find some old CDROM audio cables, those had JST PH 2.0mm 4-pin plug which also works as all relevant signals are within the first 4 pins)

The pin-out is documented in the Wiki: https://openwrt.org/toh/linksys/e8450#serial

Once you are connected (115200 baud, 8N1) you can select to load firmware via TFTP in the bootmenu of the stock loader.

2 Likes

Thanks Daniel, I'm going to try !

I'm more than happy to be wrong about HE160. :slight_smile: I'm curious if any ODM company has designed a board with HE160 in mind with that chipset.

is there any example configuration for usteer?
steered roaming is good, i want this between two rt3200

I'm curious as well, what would be needed to do this 'right' on E8450.

There seems to be a lot of packages that almost do the same thing, except not directly overlapping, unless I'm looking in the wrong places.

There are:
usteer
openwrt-rrm-nr-distributor
mesh11sd
dawn

I'm honestly not sure which one works best for a simple 2 AP mesh. I'd love to know what people are using out there to do this, or do they just let roaming happen and gave up on mesh?

1 Like

I gave up on mesh because it broke in snapshots from last October or so. Maybe it's working again?

WDS works perfectly with FT between my three nodes. I guess I could mess about with steering but my Google Pixel 3a transitions fine and everything works great. You can enable higher level logging to verify or use the Ubiquiti WifiMan app.

@daniel please can you consider putting in a warning at the top here right after the heading:

WARNING: many users have managed to brick their device in endeavouring to follow the procedure below. Avoid unless strictly necessary and be prepared to have to use a serial console to restore your device. You have been warned.

Or something, because the warning in the note below is not extreme enough - as evidenced by the posts on this thread and my own experience.

p.s. please!

The term "mesh" is now used for many different things which have not much to do with each other, but can be used together. The term "mesh" was originally used as in "mesh routing", meaning protocols used for mobile Ad-Hoc (wireless) networks. Today, the most popular protocols for that are batman-advanced and HWMP which is part of 802.11s if it comes to layer-2 mesh (on layer-3 there are many more, babel, OLSR, bmx6/7, ...).
The problem is that the WiFi Alliance has since started to advertise various other things as mesh which have nothing to do with that original definition. "EasyMesh" is basically just AP-STA links in WDS/4-addr mode provisioned using WPS Push-Button -- no routing protocol anywhere to be found in that setup.
Most people hence started to actually mean "something like a repeater" when they say mesh.
To make roaming smoother, there are also additional other enhancements to WiFi like 802.11r (aka. Fast Transision), also that is often put into the mix when people talk about mesh...

And well, wired Ethernet (with ARP and ND, and with STP enabled) is also kind of a layer-2 mesh :smile: In the original sense though, not in the sense of WiFi Alliance EasyMesh...

So when people ask "how to build mesh", first I need to understand what they actually want. An ad-Hoc routing protocol? Wireless network extensions, itself over wireless (as in "a repeater")? Fast roaming? Common provisioning/configuration of multiple devices? All of that together?

I will increase the font size of the existing warning :stuck_out_tongue_winking_eye:
I thought letting people type the word i_want_a_brick is more than clear.... In proportion to the access/download numbers I see on that github repo things are not that bad though. I know of only a hand full of people who managed to brick their device, out of which at least 2 had made mistakes or used their own (broken) builds of the installer. And up to now everybody managed to restore using the serial wire afaik.

1 Like

@Sela69 would my proposed warning above have made a difference or not?

I was perfectly aware about the risk , maybe could help to document better how to unbrick , Daniel wrote something about which USB to Serial device to get and there are also some youtube videos made by OneMarcFifty ( how to open the device and how to unbrick).

I struggle to find out where this change is implemented. Is this in the 22.03 snapshot branch? Is there a way to see if its been applied?

It's only in the latest snapshot as 22.03 branched off from snapshot in March.

You can check how the config looks for 22.03-snapshot in the file linked below:

Been noticing a strange interaction with a spare usb radio and this device. The snapshots are working just fine for me (thanks for everyone's hard work) with just the RT3200. Similarly, my mt76x2u based usb radio works just fine with a spare R7800. However when using both together, luci crashes out on login.

I've since disabled uhttpd and gone about my business, but was wondering if anyone had any suggestions. Logs are below.

Fri Apr 15 05:41:42 2022 user.info : luci: accepted login on / for root from 192.168.7.102
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.599082] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x84700 phys_seg 30 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.610187] blk_update_request: I/O error, dev mtdblock2, sector 264 op 0x0:(READ) flags 0x84700 phys_seg 29 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.621301] blk_update_request: I/O error, dev mtdblock2, sector 272 op 0x0:(READ) flags 0x84700 phys_seg 28 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.632440] blk_update_request: I/O error, dev mtdblock2, sector 280 op 0x0:(READ) flags 0x84700 phys_seg 27 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.643623] blk_update_request: I/O error, dev mtdblock2, sector 288 op 0x0:(READ) flags 0x84700 phys_seg 26 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.654805] blk_update_request: I/O error, dev mtdblock2, sector 296 op 0x0:(READ) flags 0x84700 phys_seg 25 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.665931] blk_update_request: I/O error, dev mtdblock2, sector 304 op 0x0:(READ) flags 0x84700 phys_seg 24 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.677080] blk_update_request: I/O error, dev mtdblock2, sector 312 op 0x0:(READ) flags 0x84700 phys_seg 23 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.688209] blk_update_request: I/O error, dev mtdblock2, sector 320 op 0x0:(READ) flags 0x84700 phys_seg 22 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.699352] blk_update_request: I/O error, dev mtdblock2, sector 328 op 0x0:(READ) flags 0x84700 phys_seg 22 prio class 0
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.718187] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.725756] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.733312] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.740972] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.748599] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.756266] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.763888] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.771536] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.779160] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Fri Apr 15 05:41:42 2022 kern.err kernel: [ 2484.786849] Buffer I/O error on dev mtdblock2, logical block 32, async page read

Can you try if calling iwinfo when connecting to the router via SSH has similar effects? I suspect it could be iwinfo trying to identify the radio (which still shouldn't crash, but that be the point to start).

1 Like

Yup, you're correct - iwinfo also exhibits the same behavior. The command hangs after printing the following for the radio in question:

wlan2     ESSID: "REDACTED"
          Access Point: 00:C0:CA:B0:46:1F
          Mode: Client  Channel: 36 (5.180 GHz)
          Center Channel 1: 42 2: unknown

Doesn't seem to crash the router (afaik neither did luci) but the same Buffered I/O error on dev mtdblock2 and blk_update_request: I/O error, dev mtdblock2 logs are printed onto syslog.

Whats the simplest home 'mesh' setup one could use this with lets say two of the E8450/RT3200 ? One being the one connected to internet and the other one either via wireless as a mesh node or via wired backhaul if that is available? And what if you want to add an older openwrt wifi router as a mesh node later?

1 Like

Anyone here try a custom build yet from master with the 5.15 testing kernel enabled?

Yes, I am currently using master builds with the 5.15 kernel, wed enabled and a modified 650-netfilter-add-xt_FLOWOFFLOAD-target.patch in order for HW offloading to work with PPPoE connections. Also still on firewall3 (until miniupnpd will work with fw4). I have no issues.

1 Like