morrownr / 88x2bu

Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets
435 stars 73 forks source link

(solved) Error when installing to Raspberry Pi OS (64 bit) #34

Closed Jordonbc closed 2 years ago

Jordonbc commented 3 years ago

Tried Installing this on my raspberry pi 64 bit and keeps getting a dkms build: 10 error:

root@piserver:~/src/88x2bu# sudo ./raspi64.sh
I386 support was turned off in Makefile as planned.
Raspberry Pi OS (64 bit) support was turned on in Makefile as planned.
root@piserver:~/src/88x2bu# sudo ./install-driver.sh
Installing rtl88x2bu-5.8.7.4
Copying source files to: /usr/src/rtl88x2bu-5.8.7.4
Copying 88x2bu.conf to: /etc/modprobe.d

Creating symlink /var/lib/dkms/rtl88x2bu/5.8.7.4/source ->
                 /usr/src/rtl88x2bu-5.8.7.4

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -j4 KVER=5.10.5-v8+ KSRC=/lib/modules/5.10.5-v8+/build...........................................................(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.10.5-v8+ (aarch64)
Consult /var/lib/dkms/rtl88x2bu/5.8.7.4/build/make.log for more information.
An error occurred while running: dkms build : 10

------------------------------
Deleting module version: 5.8.7.4
completely from the DKMS tree.
------------------------------
Done.
Removing 88x2bu.conf from: /etc/modprobe.d
Removing source files from: /usr/src/rtl88x2bu-5.8.7.4
Cleanup complete
dkms status:
8822bu, 1.1: added
rtl88x2bu, 5.6.1: added
root@piserver:~/src/88x2bu# uname -a
Linux piserver.local 5.10.5-v8+ #1392 SMP PREEMPT Sat Jan 9 18:56:30 GMT 2021 aarch64 GNU/Linux
morrownr commented 3 years ago

Problems with the 64 bit version of Raspberry Pi OS are not new. However, maybe now is a good time to take another look. I'll see about loading it up for testing.

Can I get you to run and post the results from the following? ( from the driver directory )

$ make clean $ make

As you can probably tell, I've been down this road before. Not sure what the problem with the Raspberry Pi engineers is but they sure seem to be struggling with getting a 64 bit version successfully out the door. If you need your pi working now, use the 32 bit version of the OS.

Regards

P.S. Note that I edited the title to reflect that this is a problem with the 64 bit version.

Jordonbc commented 3 years ago

Yeah, I know 64 bit is still in beta but I use my pi as a media server which can use more than 4 gigs and unfortunatly I cant use ethernet.

This is the output of those 2 commands:

root@piserver:~/src/88x2bu# make clean
#make -C /lib/modules/5.10.5-v8+/build M=/root/src/88x2bu clean
cd hal ; rm -fr */*/*/*.mod.c */*/*/*.mod */*/*/*.o */*/*/.*.cmd */*/*/*.ko */*/*/*.ur-safe
cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko */*/*.ur-safe
cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko */*.ur-safe
cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko *.ur-safe
cd core ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko */*.ur-safe
cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko *.ur-safe
cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko *.ur-safe
cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko *.ur-safe
cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko *.ur-safe
rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
rm -fr .tmp_versions *.ur-safe

root@piserver:~/src/88x2bu# make
make ARCH=arm64 CROSS_COMPILE= -C /lib/modules/5.10.5-v8+/build M=/root/src/88x2                                                      bu  modules
make[1]: Entering directory '/root/linux-a896a00ebffd0b016627f65ff236b660e66e782                                                      b'
  CC [M]  /root/src/88x2bu/core/rtw_cmd.o
  CC [M]  /root/src/88x2bu/core/rtw_security.o
  CC [M]  /root/src/88x2bu/core/rtw_debug.o
  CC [M]  /root/src/88x2bu/core/rtw_io.o
  CC [M]  /root/src/88x2bu/core/rtw_ioctl_query.o
  CC [M]  /root/src/88x2bu/core/rtw_ioctl_set.o
  CC [M]  /root/src/88x2bu/core/rtw_ieee80211.o
  CC [M]  /root/src/88x2bu/core/rtw_mlme.o
  CC [M]  /root/src/88x2bu/core/rtw_mlme_ext.o
  CC [M]  /root/src/88x2bu/core/rtw_mi.o
  CC [M]  /root/src/88x2bu/core/rtw_wlan_util.o
  CC [M]  /root/src/88x2bu/core/rtw_vht.o
  CC [M]  /root/src/88x2bu/core/rtw_pwrctrl.o
  CC [M]  /root/src/88x2bu/core/rtw_rf.o
  CC [M]  /root/src/88x2bu/core/rtw_chplan.o
  CC [M]  /root/src/88x2bu/core/rtw_recv.o
  CC [M]  /root/src/88x2bu/core/rtw_sta_mgt.o
  CC [M]  /root/src/88x2bu/core/rtw_ap.o
  CC [M]  /root/src/88x2bu/core/mesh/rtw_mesh.o
  CC [M]  /root/src/88x2bu/core/mesh/rtw_mesh_pathtbl.o
  CC [M]  /root/src/88x2bu/core/mesh/rtw_mesh_hwmp.o
  CC [M]  /root/src/88x2bu/core/rtw_xmit.o
  CC [M]  /root/src/88x2bu/core/rtw_p2p.o
  CC [M]  /root/src/88x2bu/core/rtw_rson.o
  CC [M]  /root/src/88x2bu/core/rtw_tdls.o
  CC [M]  /root/src/88x2bu/core/rtw_br_ext.o
  CC [M]  /root/src/88x2bu/core/rtw_iol.o
  CC [M]  /root/src/88x2bu/core/rtw_sreset.o
  CC [M]  /root/src/88x2bu/core/rtw_btcoex_wifionly.o
  CC [M]  /root/src/88x2bu/core/rtw_btcoex.o
  CC [M]  /root/src/88x2bu/core/rtw_beamforming.o
  CC [M]  /root/src/88x2bu/core/rtw_odm.o
  CC [M]  /root/src/88x2bu/core/rtw_rm.o
  CC [M]  /root/src/88x2bu/core/rtw_rm_fsm.o
  CC [M]  /root/src/88x2bu/core/rtw_rm_util.o
  CC [M]  /root/src/88x2bu/core/efuse/rtw_efuse.o
  CC [M]  /root/src/88x2bu/os_dep/osdep_service.o
  CC [M]  /root/src/88x2bu/os_dep/linux/os_intfs.o
  CC [M]  /root/src/88x2bu/os_dep/linux/usb_intf.o
  CC [M]  /root/src/88x2bu/os_dep/linux/usb_ops_linux.o
  CC [M]  /root/src/88x2bu/os_dep/linux/ioctl_linux.o
  CC [M]  /root/src/88x2bu/os_dep/linux/xmit_linux.o
  CC [M]  /root/src/88x2bu/os_dep/linux/mlme_linux.o
  CC [M]  /root/src/88x2bu/os_dep/linux/recv_linux.o
  CC [M]  /root/src/88x2bu/os_dep/linux/ioctl_cfg80211.o
  CC [M]  /root/src/88x2bu/os_dep/linux/rtw_cfgvendor.o
  CC [M]  /root/src/88x2bu/os_dep/linux/wifi_regd.o
  CC [M]  /root/src/88x2bu/os_dep/linux/rtw_android.o
  CC [M]  /root/src/88x2bu/os_dep/linux/rtw_proc.o
  CC [M]  /root/src/88x2bu/os_dep/linux/rtw_rhashtable.o
  CC [M]  /root/src/88x2bu/os_dep/linux/ioctl_mp.o
  CC [M]  /root/src/88x2bu/hal/hal_intf.o
  CC [M]  /root/src/88x2bu/hal/hal_com.o
  CC [M]  /root/src/88x2bu/hal/hal_com_phycfg.o
  CC [M]  /root/src/88x2bu/hal/hal_phy.o
  CC [M]  /root/src/88x2bu/hal/hal_dm.o
  CC [M]  /root/src/88x2bu/hal/hal_dm_acs.o
  CC [M]  /root/src/88x2bu/hal/hal_btcoex_wifionly.o
  CC [M]  /root/src/88x2bu/hal/hal_btcoex.o
  CC [M]  /root/src/88x2bu/hal/hal_mp.o
  CC [M]  /root/src/88x2bu/hal/hal_mcc.o
  CC [M]  /root/src/88x2bu/hal/hal_hci/hal_usb.o
  CC [M]  /root/src/88x2bu/hal/led/hal_led.o
  CC [M]  /root/src/88x2bu/hal/led/hal_usb_led.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/rtl8822b_halinit.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/rtl8822b_mac.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/rtl8822b_cmd.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/rtl8822b_phy.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/rtl8822b_ops.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/hal8822b_fw.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_halinit.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_halmac.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_io.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_xmit.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_recv.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_led.o
  CC [M]  /root/src/88x2bu/hal/rtl8822b/usb/rtl8822bu_ops.o
  CC [M]  /root/src/88x2bu/hal/efuse/rtl8822b/HalEfuseMask8822B_USB.o
  CC [M]  /root/src/88x2bu/hal/hal_halmac.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_api.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_dbg.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_bb_rf_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_cfg_wmac_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_common_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_efuse_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_flash_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_fw_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_gpio_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_init_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_mimo_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_usb_88xx.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_cfg_wmac_8822b.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_common_8822b.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_gpio_8822b.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_init_8822b.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_phy_8822b.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_pwr_seq_8822b.o
  CC [M]  /root/src/88x2bu/hal/halmac/halmac_88xx/halmac_8822b/halmac_usb_8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_debug.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_antdiv.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_soml.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_smt_ant.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_antdect.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_interface.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_phystatus.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_hwconfig.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_dig.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_pathdiv.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_rainfo.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_dynamictxpower.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_adaptivity.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_cfotracking.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_noisemonitor.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_beamforming.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_direct_bf.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_dfs.o
  CC [M]  /root/src/88x2bu/hal/phydm/txbf/halcomtxbf.o
  CC [M]  /root/src/88x2bu/hal/phydm/txbf/haltxbfinterface.o
  CC [M]  /root/src/88x2bu/hal/phydm/txbf/phydm_hal_txbf_api.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_adc_sampling.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_ccx.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_psd.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_primary_cca.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_cck_pd.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_rssi_monitor.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_auto_dbg.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_math_lib.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_api.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_pow_train.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_lna_sat.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_pmac_tx_setting.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_mp.o
  CC [M]  /root/src/88x2bu/hal/phydm/phydm_cck_rx_pathdiv.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halrf.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halrf_debug.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halphyrf_ce.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halrf_powertracking_ce.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halrf_powertracking.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halrf_kfree.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/halrf_psd.o
  CC [M]  /root/src/88x2bu/hal/phydm/rtl8822b/halhwimg8822b_bb.o
  CC [M]  /root/src/88x2bu/hal/phydm/rtl8822b/halhwimg8822b_mac.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/rtl8822b/halrf_8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/rtl8822b/phydm_hal_api8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/rtl8822b/halhwimg8822b_rf.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/rtl8822b/halrf_iqk_8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/halrf/rtl8822b/halrf_rfk_init_8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/rtl8822b/phydm_regconfig8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/rtl8822b/phydm_rtl8822b.o
  CC [M]  /root/src/88x2bu/hal/phydm/txbf/haltxbf8822b.o
  CC [M]  /root/src/88x2bu/hal/btc/halbtc8822bwifionly.o
  CC [M]  /root/src/88x2bu/hal/btc/halbtc8822b1ant.o
  CC [M]  /root/src/88x2bu/hal/btc/halbtc8822b2ant.o
  CC [M]  /root/src/88x2bu/platform/platform_ops.o
  CC [M]  /root/src/88x2bu/core/rtw_mp.o
  LD [M]  /root/src/88x2bu/88x2bu.o
  MODPOST /root/src/88x2bu/Module.symvers
ERROR: modpost: "__const_udelay" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "__arch_copy_from_user" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "_raw_spin_unlock" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "__rcu_read_lock" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "__rcu_read_unlock" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "cpu_hwcap_keys" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "csum_ipv6_magic" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "__warn_printk" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "arm64_const_caps_ready" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "__udelay" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "preempt_schedule_notrace" [/root/src/88x2bu/88x2bu.ko] undefined!
ERROR: modpost: "__arch_copy_to_user" [/root/src/88x2bu/88x2bu.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:111: /root/src/88x2bu/Module.symvers] Error 1
make[2]: *** Deleting file '/root/src/88x2bu/Module.symvers'
make[1]: *** [Makefile:1712: modules] Error 2
make[1]: Leaving directory '/root/linux-a896a00ebffd0b016627f65ff236b660e66e782b'
make: *** [Makefile:2420: modules] Error 2
morrownr commented 3 years ago

A guy using the 8814au driver here reported what looks like the same issue with the Ubuntu mainline kernel v5.10.7 about 2 days ago. Let me see what I can figure out.

morrownr commented 3 years ago

I just burned the 64 bit beta of Raspberry Pi OS to an sd card and it is updating now. I expect to be seeing what you are seeing soon.

morrownr commented 3 years ago

Test complete. I have good news and bad news.

The good news is that the installation worked fine and the adapter is connected to the internet and I am getting good speed.

The bad news is that I was not able to duplicate your problem so figuring out what is different between my setup and yours is what we are going to have to do. Here is what I did:

You could run the remove-driver.sh script, then reboot and try again.

I have seen that Module.symvers problem before and it seems it is related to a headers issue. Could it be that the headers have been updated between the time you had the problem and I tested? Who knows? Clean up and try again. It is hard to figure out what the problem is when you can't duplicate it.

Jordonbc commented 3 years ago

Just did the exact same thing on my pi 4b 8GB and it works, which means it must be a conflict with what I had installed. Im going to test with some other software that I use like open media vault.

I'm not getting the full speed of my TP-Link Archer T3U, around 120 mbps AC with power savings off and usb3 on.

Anyways thanks for getting it working :)

I will report back here if I find any conflicts.

morrownr commented 3 years ago

Please do come back and add any information that might be of value to others. I think we should leave this issue open for others to read. I can mark it solved.

As far as speed is concerned: The 550 Mb/s speed shown in the README is using amd64 equipment. I have never been able to get close to that with Raspberry Pi hardware so I suspect the Pi hardware has some limitations. Turning USB 3 on is a good thing. I haven't seen a good reason to turn power saving off as power saving just works in this driver. You might want to optimize the settings in your wifi router to see if you can get some more speed.

Cheers and good luck.

crgorect commented 3 years ago

Just a fun fact we've been learning on our end as we talk to various chip manufacturers. It seems turning on USB 3.0 can have a pretty negative effect with 5Ghz frequencies. It seems it can cause various noise issues with a lot of the current chip sets out there

morrownr commented 3 years ago

I have read the same thing. USB 3 is not mankind's greatest creation.