There is this key concept of x86 images that makes setting up x86 OpenWRT devices very easy and user-friendly:
The first user friendly key design part of x86 images is that the ~15 typical network PCI card kernel modules are all already included into default images.
The second user-friendly design part of x86 images is that OpenWRT would initialize x86 devices in a certain way on first boot:
- it would identify all available network interfaces on the first boot and auto-assign the LAN interface to the first found port
- if more network ports are found, WAN interface would automatically be assigned to the second found port
- x86 would automatically add any additional network ports to the device list, but not default-assign further ports to the LAN interface bridge.
This behaviour ensures that you have a minimum viable x86 system being able to easily bootstrap and admin-connect and that is able to load more optional packages within seconds after booting and with no tedious manual preparation effort.
Now in contrast, I recently tried OpenWRT on both Raspberry 4 and Raspberry Zero and I really miss a similar concept for Raspberry devices: Both device types suffer a lot from the fact that typical kernel modules for USB network adapters seem not included into the OpenWRT default images. The missing device init prep step then prevents further preinitializing the network config as known from x86 systems.
Especially to get a Raspberry Zero (which has no vendor-built-in network card) into a working network device state, where you can both connect as admin to LuCi and are then able to download and add additional packages, feels difficult on a borderline level. Also though Raspberry Zero W has built-in Wifi 2.4, this Wifi module cannot work as client and AP station at the same time due to limitations of Broadcom, so you cannot even use Wifi workarounds, to simplify the manual network bootstrapping comfig work.
A x86 typically has sufficient RAM and disk space, so aiming at space-preserving 4MB images on x86 was never made any key priority so far.
Now even a small Rasperry Zero has generous 512MB RAM and all Raspberries use an SD card, which can provide beyond 2 digit GBytes storage, so wasting disk space does not seem like a problem either on Raspberry.
So my feature request question would be:
The current OpenWRT Raspberry image state feels difficult, time consuming and not at all fun to use.
Couldn‘t e.g. the x86 OpenWRT PCI network card concept and init behavior be simply reused for initializing USB-based network adapters on Raspberry-like devices? Shouldn‘t that be part of default images?
(or did I maybe miss to understand important design decisions of OpenWRT images for Raspberry-like devices?