morrownr / 88x2bu-20210702

Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets - v5.13.1
Other
977 stars 177 forks source link

Driver install not working on TrueNAS Cobia 22.22 #180

Open Weasy666 opened 1 year ago

Weasy666 commented 1 year ago

I have successfully installed and run this driver on TrueNAS Angelfish and Bluefin, but after updating to TrueNAS Cobia the installation will fail.

This is the output of the install command:

root@truenas[~/88x2bu-20210702]# sudo ./install-driver.sh 
: ---------------------------
: install-driver.sh v20230830
: x86_64 (kernel architecture)
: x86_64 (architecture to send to gcc)
: 24/24 (in-use/total processing units)
: 65499072 (total system memory)
: 6.1.55-production+truenas (kernel version)
: gcc (version of gcc used to compile the kernel)
: gcc (Debian 12.2.0-14) 12.2.0
: dkms-3.0.10
EFI variables are not supported on this system
EFI variables are not supported on this system
EFI variables are not supported on this system
: ---------------------------

Checking for previously installed drivers...
Finished checking for and removing previously installed drivers.
: ---------------------------

Starting installation.
Installing 88x2bu.conf to /etc/modprobe.d
The dkms installation routines are in use.
Copying source files to /usr/src/rtl88x2bu-5.13.1
Creating symlink /var/lib/dkms/rtl88x2bu/5.13.1/source -> /usr/src/rtl88x2bu-5.13.1
The driver was added to dkms successfully.
: ---------------------------

Sign command: /usr/lib/linux-kbuild-6.1/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
./dkms-make.sh......(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.55-production+truenas (x86_64)
Consult /var/lib/dkms/rtl88x2bu/5.13.1/build/make.log for more information.
An error occurred. dkms build error:  10
Please report this error.
Please copy all screen output and paste it into the problem report.
Run the following before reattempting installation.
$ sudo ./remove-driver.sh

and here is the content of the log file:

log content (click to reveal) ``` DKMS make.log for rtl88x2bu-5.13.1 for kernel 6.1.55-production+truenas (x86_64) Sun Oct 29 20:11:07 CET 2023 make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.55-production+truenas/build M=/var/lib/dkms/rtl88x2bu/5.13.1/build modules make[1]: Entering directory '/usr/src/linux-headers-6.1.55-production+truenas' CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_cmd.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_security.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_debug.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_io.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_ioctl_query.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_ioctl_set.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_ieee80211.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_mlme.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_mlme_ext.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_mi.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_wlan_util.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_vht.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_pwrctrl.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_rf.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_chplan.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/monitor/rtw_radiotap.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_recv.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_sta_mgt.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_ap.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/wds/rtw_wds.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/mesh/rtw_mesh.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/mesh/rtw_mesh_pathtbl.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/mesh/rtw_mesh_hwmp.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_xmit.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_p2p.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_rson.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_tdls.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_br_ext.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_iol.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_sreset.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_btcoex_wifionly.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_btcoex.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_beamforming.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_odm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_rm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_rm_fsm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_ft.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_wnm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_mbo.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_rm_util.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/efuse/rtw_efuse.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_roch.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-internal.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-internal-enc.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-gcm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-ccm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-omac1.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/ccmp.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/gcmp.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-siv.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/aes-ctr.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/sha256-internal.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/sha256.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/sha256-prf.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/crypto/rtw_crypto_wrap.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/core/rtw_swcrypto.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/osdep_service.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/usb_intf.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/usb_ops_linux.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_linux.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/xmit_linux.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/mlme_linux.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/recv_linux.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_cfgvendor.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/wifi_regd.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_android.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_proc.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/nlrtw.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_rhashtable.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_intf.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_com.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_com_phycfg.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_phy.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_dm.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_dm_acs.o CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_btcoex_wifionly.o /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.c: In function 'rtw_ethtool_get_drvinfo': /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.c:2057:21: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 2057 | wdev = dev->ieee80211_ptr; | ^~~~~~~~~~~~~ | ieee802154_ptr /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.c: In function 'rtw_ndev_destructor': /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.c:4499:19: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 4499 | if (ndev->ieee80211_ptr) | ^~~~~~~~~~~~~ | ieee802154_ptr In file included from /var/lib/dkms/rtl88x2bu/5.13.1/build/include/drv_types.h:27, from /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.c:17: /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.c:4500:39: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 4500 | rtw_mfree((u8 *)ndev->ieee80211_ptr, sizeof(struct wireless_dev)); | ^~~~~~~~~~~~~ /var/lib/dkms/rtl88x2bu/5.13.1/build/include/osdep_service.h:276:53: note: in definition of macro 'rtw_mfree' 276 | #define rtw_mfree(pbuf, sz) _rtw_mfree((pbuf), (sz)) | ^~~~ In file included from /var/lib/dkms/rtl88x2bu/5.13.1/build/include/osdep_intf.h:107, from /var/lib/dkms/rtl88x2bu/5.13.1/build/include/drv_types.h:110, from /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_cfgvendor.c:16: /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_cfgvendor.c: In function 'rtw_cfgvendor_send_async_event': /var/lib/dkms/rtl88x2bu/5.13.1/build/include/../os_dep/linux/ioctl_cfg80211.h:235:31: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 235 | #define ndev_to_wdev(n) ((n)->ieee80211_ptr) | ^~~~~~~~~~~~~ /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_cfgvendor.c:184:54: note: in expansion of macro 'ndev_to_wdev' 184 | skb = rtw_cfg80211_vendor_event_alloc(wiphy, ndev_to_wdev(dev), len, event_id, kflags); | ^~~~~~~~~~~~ CC [M] /var/lib/dkms/rtl88x2bu/5.13.1/build/hal/hal_btcoex.o make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/os_intfs.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/rtw_cfgvendor.o] Error 1 /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c: In function 'rtw_cfg80211_add_monitor_if': /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c:5073:19: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 5073 | mon_ndev->ieee80211_ptr = mon_wdev; | ^~~~~~~~~~~~~ | ieee802154_ptr /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c: In function 'cfg80211_rtw_add_virtual_intf': /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c:6679:38: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 6679 | wdev = ndev->ieee80211_ptr; | ^~~~~~~~~~~~~ | ieee802154_ptr /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c:6718:30: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 6718 | wdev = ndev->ieee80211_ptr; | ^~~~~~~~~~~~~ | ieee802154_ptr /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c: In function 'rtw_wdev_alloc': /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.c:10664:18: error: 'struct net_device' has no member named 'ieee80211_ptr'; did you mean 'ieee802154_ptr'? 10664 | pnetdev->ieee80211_ptr = wdev; | ^~~~~~~~~~~~~ | ieee802154_ptr make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/rtl88x2bu/5.13.1/build/os_dep/linux/ioctl_cfg80211.o] Error 1 make[1]: *** [Makefile:2015: /var/lib/dkms/rtl88x2bu/5.13.1/build] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.1.55-production+truenas' make: *** [Makefile:2523: modules] Error 2 ```

Is there anything that can be done, to make the installationg work again?

morrownr commented 1 year ago

Hi @Weasy666

Is there anything that can be done, to make the installationg work again?

I'm sure it can be done but we need to figure out the problem so as to see if it is feasible.

I'm not familiar with TrueNAS so help me understand. What distro is it based on? Red Hat, Debian, Ubuntu or ?

Weasy666 commented 1 year ago

As far as i know, it's based on Debian, but they left out a lot of drivers: grafik

If you click log content (click to reveal) and expand that, you can see, that some member named ieee80211_ptr seems to be missing in the kernel headers of TrueNAS.

morrownr commented 1 year ago

you can see, that some member named ieee80211_ptr seems to be missing in the kernel headers of TrueNAS.

Yes, I saw that. That very well could be a problem in the kernel headers. I think this is something that should be reported to TrueNAS. I just checked and this repo was cloned 254 times yesterday. My point being that this is very heavily used repo and I am not seeing this from anyone else.

Weasy666 commented 1 year ago

The new TrueNAS version was just released last week and maybe i am a bit of an odd ball to Wi-Fi with my server. Reporting to TrueNAS is probably useless, they don't want to support Wi-Fi on their professional/enterprise server software šŸ«¤

morrownr commented 1 year ago

What could be easier than discovering how to work around the TrueNAS broken header files is to look inside to see if they compiled any usb wifi drivers in their distro.

$ cd /usr/lib/modules/$(uname -r)/kernel/drivers/net/wireless/mediatek/mt76 $ ls -l

Paste what you get and we will know what is available.