Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Driver install not working on TrueNAS Cobia 22.22 #180

Open
Weasy666 opened this issue Oct 29, 2023 · 5 comments
Open

Driver install not working on TrueNAS Cobia 22.22 #180

Weasy666 opened this issue Oct 29, 2023 · 5 comments

Comments

@Weasy666
Copy link

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
Copy link
Owner

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
Copy link
Author

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
Copy link
Owner

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
Copy link
Author

Weasy666 commented Nov 1, 2023

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
Copy link
Owner

morrownr commented Nov 2, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants