On Wed, Oct 11, 2023, at 20:13, Philipp Hortmann wrote: > On 10/10/23 17:27, Arnd Bergmann wrote: >> From: Arnd Bergmann <arnd@xxxxxxxx> While looking at the old drivers >> using the obsolete .ndo_do_ioctl() callback, I found a number of network >> drivers that are especially obsolete, in particular for 802.11b >> (11Mbit/s) or even older wireless networks, using non-busmaster >> ISA/PCMCIA style bus interfaces, and using the legacy wireless extension >> ioctls rather than the netlink interfaces that were meant to replace >> them in 2007. All of these drivers are obsolete or orphaned. We had >> previously discussed this topic, but nobody ever moved the files, so I >> now went through the list to my best knowledge. These are the drivers >> that I would classify as "probably unused" by now: > > I found a USB WLAN Stick with a rtl8192u. I got it last Saturday and > found out that the firmware is missing in my ubuntu 20.04. I found it on > the web and fixed it. When I started the driver my computer crashed. The > missing part was: priv->priv_wq = alloc_workqueue("priv_wq", 0, 0); > Fixing this the next error was a network = kzalloc(sizeof(*network), > GFP_KERNEL); in wrong context with leads to a crash of my computer. > Fixing this leads to another issue which lets my computer crash. > > For me the firmware of rtl8192u was intentionally missing because of the > issues with the driver. > > What this has to do with your question? > Can we check for missing firmware in main distributions to know which > drivers are considered to be old and unused? Nice, thanks so much for testing. I see the two bugs were introduced in 2016 by commit 1761a85c3bed3 ("staging: rtl8192u: Remove create_workqueue()") and in 2021 by commit 061e390b7c87f ("staging: rtl8192u: ieee80211_softmac: Move a large data struct onto the heap"), so it's been broken for a while. I also checked rtl8192e for the same bugs, but that driver managed to avoid this even though it had the same code originally. Regarding the firmware files, I found: - rtl8192e, rtl7812 and rtl8723bs are all in the linux-firmware package, unlike rtl8192u - atmel firmware is not in upstream linux-firmware, but Debian has an atmel-firmware package for it - I could not find a Debian package for ks7010sd.rom - vt6656/vntwusb.fw is in firmware-misc-nonfree - orinoco has multiple firmware files, but only agere_sta_fw.bin and agere_ap_fw.bin are in Debian and linux-firmware. Arnd