Continuing the discussion from Linksys MR8300 AC2200 Tri Band:
https://openwrt.org/docs/techref/targets/ipq40xx would be the place to document the general support status of the ipq40xx target.
I encourage everybody to look through the other target pages listed on https://openwrt.org/docs/techref/targets/start and update the general OpenWrt support status, or share otherwise helpful knowledge about a target.
- Are there any functional restrictions which are inherent to the target, not a specific device?
- e.g. bcm63xx -> DSL will not work
- Is there anything else worth knowing about a target?
When talking about "currently", please always add a date, e.g. "currently (August 2021)...".
The "Current status" is true at the time of writing, but might not be true in 1 year.
Your contributions to the wiki are welcome!
In general, ipq40xx works very well and is fully supported - with one caveat, VLANs. Basically IPQ40xx Switch Config "Strangeness" is still correct, you can use VLANs, but there are a couple of constraints around that (courtesy of the swconfig driver, which exposes two virtual ethernet interfaces to the system, while there is only a single physical one - with hardcoded VID mappings distinguishing between them). A DSA based driver (ipqess) is kind of under development, but it's going to be a long walk to get that functional, as the hardware is quite 'special' and un(der)documented.
Patches to the existing swconfig drivers exist and have been tried, with serious performance implications - so it's back to the 'strange' state we have, until the DSA driver solves the issue once and for all.
tl;dr, this target works great, unless you want multiple VLANs - you can still get the later working, but will need quite some head scratching to get it working the way you need it. This indeed affects the target as a whole, given that the switch (at least the parts responsible for these issues) is part of the SOC.
That's valuable information!
Would you be willing to update the ipq40xx page linked above?
I'm not quite sure when I'd get to that, probably the weekend at the earliest - so if anyone beats me to it…
Any contributions are appreciated!
Reviving this thread...
First the idea/question:
Would it make sense to have information about DSA vs swconfig (maybe also vs "routed port" included in the general support status on each device page (for 21.02 and newer)?
When helping people determine if they should be using swconfig or DSA syntax, I often have to look back and forth between the device page for the chipset info and the 21.02 release notes to know which targets have been migrated to DSA and which still use swconfig. In fact, there are some devices out there like the TL-WR902ACv3 that have only a single ethernet port but actually contain a switch in the architecture.
I could envision this as an additional field like "switch port configuration method: < DSA / swconfig / routed port >" possibly with a link to the wiki page for the respective method. It might also be useful to have a "DSA supported since: < OpenWrt version >" field because the new method is rolling out over at least 21.02 - 22.x (if not a longer horizon?)
And, with all of that, can this be automated by some script that crawls through the device pages and updates appropriately. If not, this might represent a lot of work... but a script could make this fairly simple.
I understand the reasoning for this, but I'm a little wary about the efforts involved…
While some targets are more uniform than others, I don't really see this to be answered (in a scripted way) for complete (sub-)targets, so it would have to be added (at least audited) manually on a per-device basis - and might change rather quickly (for master) as well. Looking at e.g. ath79, we're seeing quite a few different hardware designs within the same target. Right now, it's still all-swconfig (aside from the tl-wr941nd v2/ v3 in ath79-tiny, which has been DSA for a couple of years already), but patches for a large percentage of devices migrating to dsa are on the doorstep - however these only apply to a subset of the target as a whole (ar9331 comes with a different switch hardware, not covered by these efforts 'soon'), that's ignoring the devices which added non QCA switches (e.g. tl-wr1043ndv1) or the case where WAN is a dedicated device (WNDR3700/ WNDR3800). Lantiq (xrx200) has migrated from swconfig to dsa between openwrt-21.02 and current master, patches for ipq806x (functional, ready to be merged, but regressing performance a bit), ath79 (for a subset of the target, requiring swconfig/ DTS to not break interoperability, but already working and faster than swconfig) and ipq40xx (not quite ready to be merged yet, but close) exist, so for many users DSA will be the default soon (perhaps not always in time for 22.xx.y) --> needing per-device wiki changes again. And specialties like NSS-DP on ipq807x (or the NSS enabled ipq806x community builds) require yet another approach; DSA support for ipq807x is not in sight so far (possible, long term, but lots of work involved).
For practical purposes (and wiki maintenance), the question "do you see a switch tab in luci" is perhaps the only reasonable way - also with community builds in mind, which may provide images with pending DSA support.
Thanks for this response. I had hoped that it would be easy to have a script run over the device database, but clearly it is much more complex than that.
Unless someone has a way of addressing the complexity that @slh has described to actually develop a scriptable way to update the pages, it sounds like this is just not particularly feasible. Oh well.
I added cortex-a53 and copied the instruction set details.