Tiny Core Extensions > TCE Talk
RTL8822be driver not found in Tinycore64 11.x
mrjake2:
--- Quote from: Rich on March 03, 2020, 05:01:54 PM ---Something else needs to be present before loading that. Try creating a dependency file containing wireless-KERNEL and
firmware-rtlwifi.tcz
--- End quote ---
Hmm, I think it's actually the other way around, i.e. wireless-KERNEL relies on my code (wifi-rtw88.tcz) already being loaded. If I try loading wireless-KERNEL first (or wifi.tcz, which first loads wireless-KERNEL), then I get a bunch of errors and wifi won't start:
--- Code: ---tc@box:~$ tce-load -il wifi
libiw.tcz OK
wireless-5.4.3-tinycore64.tcz: OK
wireless_tools.tcz: OK
ncursesw.tcz: OK
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
readline.tcz: OK
cfg80211: failed to load regulatory.db
rtw_pci 0000:02:00.0: Direct firmware load for rtw88/rtw8822b_fw.bin failed with error -2
rtw_pci 0000:02:00.0: Falling back to sysfs fallback for: rtw88/rtw8822b_fw.bin
rtw_pci 0000:02:00.0: failed to request firmware
rtw_pci 0000:02:00.0: failed to load firmware
rtw_pci 0000:02:00.0: failed to setup chip efuse info
rtw_pci 0000:02:00.0: failed to setup chip information
attr.tcz: OK
rtw_pci: probe of 0000:02:00.0 failed with error -22
--- End code ---
Rich:
Hi mrjake2
--- Quote ---
--- Code: ---rtw88: Unknown symbol ieeee80211_start_tx_ba_cb_irqsafe (err -2)
--- End code ---
--- End quote ---
The symbol ieee80211_start_tx_ba_cb_irqsafe is provided by mac80211.ko.gz. (there are 3 es in ieee, not 4)
mac80211.ko.gz is provided by wireless-KERNEL.tcz.
This is the dependency file for wireless-rtl8822be-4.19.10-tinycore.tcz created by Juanito:
--- Code: ---firmware-rtlwifi.tcz
wireless-KERNEL.tcz
--- End code ---
found here:
http://tinycorelinux.net/10.x/x86/tcz/wireless-rtl8822be-4.19.10-tinycore.tcz.dep
--- Quote ---
--- Code: ---rtw_pci 0000:02:00.0: Direct firmware load for rtw88/rtw8822b_fw.bin failed with error -2
--- End code ---
--- End quote ---
Error -2 == No such file or directory.
--- Quote ---
--- Code: ---rtw_pci: probe of 0000:02:00.0 failed with error -22
--- End code ---
--- End quote ---
Error -22 == Invalid argument.
mrjake2:
I tried, and that doesn't work. The whole package structure for rtlwifi_new changed in the last year since Juanito last compiled it, so I'm not surprised that the dependencies have changed. If you load wireless-KERNEL before wifi-rtw88, it definitely fails with the errors in my last post (I have verified this). But if you run wireless-KERNEL *after* you load my extension, then you get the tainted kernel warnings but wireless-KERNEL does load the firmware (and you are then able to use wifi).
firmware-rtlwifi doesn't seem to make a difference one way or the other. This isn't surprising, as my code is really just a separate branch of rtlwifi_new that builds a different set of drivers in the same family as that package.
Interestingly, while loading wireless-KERNEL first and wifi-rtw88 second makes it so the firmware isn't loaded properly, it *does* get rid of the taint warnings. Is it possible that mac80211.ko.gz from wireless-KERNEL is needed to prevent the taint warnings, but then wireless-KERNEL as a package needs the firmware loaded first before it can set up the drivers? If so, this would create a circular dependency between the two packages that I'm not sure how to resolve.
Juanito:
I believe that the wireless driver for your hardware loads the firmware - you can check this in dmesg, for example:
--- Code: ---$ dmesg
...
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
cfg80211: failed to load regulatory.db
Intel(R) Wireless WiFi driver for Linux
Copyright(c) 2003- 2015 Intel Corporation
iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7260-17.ucode failed with error -2
iwlwifi 0000:02:00.0: Falling back to sysfs fallback for: iwlwifi-7260-17.ucode
iwlwifi 0000:02:00.0: loaded firmware version 17.459231.0 op_mode iwlmvm
iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x14
--- End code ---
i.e. the iwlwifi driver from wireless-KERNEL loads the firmware.
Since you are not using a driver from wireless-KERNEL, it should be your RTL8822be driver that loads the firmware.
mrjake2:
Hi Juanito - it sounds like you are saying that i should be able to load wireless-KERNEL before my RTL8822be driver because wireless-KERNEL is not actually loading the firmware. Am I understanding you correctly? That's not quite what I'm seeing when I load wireless-KERNEL:
--- Code: ---> tce-load -il wireless-5.4.3-tinycore64
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
cfg80211: failed to load regulatory.db
rtw_pci 0000:02:00.0: Direct firmware load for rtw88/rtw8822b_fw.bin failed with error -2
rtw_pci 0000:02:00.0: Falling back to sysfs fallback for: rtw88/rtw8822b_fw.bin
rtw_pci 0000:02:00.0: failed to request firmware
rtw_pci 0000:02:00.0: failed to load firmware
rtw_pci 0000:02:00.0: failed to setup chip efuse info
rtw_pci 0000:02:00.0: failed to setup chip information
rtw_pci: probe of 0000:02:00.0 failed with error -22
--- End code ---
You can see above that it's failing because it is looking for rtw88/rtw8822b_fw.bin and not finding it - that's because that is the directory and firmware file that my driver code loads.
But if load my driver first and then wireless-KERNEL, I get the taint messages followed by the firmware being loaded as expected:
--- Code: ---> tce-load -il wifi-rtw88
rtw88: loading out-of-tree module taints kernel.
rtw88: Unknown symbol ieee80211_start_tx_ba_cb_irqsafe (err -2)
rtw88: Unknown symbol ieee80211_txq_get_depth (err -2)
...
>tce-load -il wireless-5.4.3-tinycore64
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
cfg80211: failed to load regulatory.db
rtw_pci 0000:02:00.0: Direct firmware load for rtw88/rtw8822b_fw.bin failed with error -2
rtw_pci 0000:02:00.0: Falling back to sysfs fallback for: rtw88/rtw8822b_fw.bin
rtw_pci 0000:02:00.0: Firmware version 27.2.0, H2C version 13
--- End code ---
I'm not 100% clear what wireless-KERNEL does, but from the above it looks like it finds and uses (or maybe sets up) Firmware version 27.2.0, H2C version 13. But it only does that if I load wifi-rtw88.tcz first.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version