Closed PieGuy314 closed 3 years ago
PieGuy314,
I really appreciate the report. It is good to see things working well on the various versions of the Raspberry Pi. I am going to start using my Pi 4B in a way that I can test this and my other drivers. As soon as I can, I will start moving the Pi support and packet injection support to my other drivers: github.com/morrow
So, 4 hours on the A+. Cool. Glad it didn't error out.
Thanks, Nick
So, 4 hours on the A+. Cool. Glad it didn't error out.
It did the first time (didn't crash but ground to a halt). Was watching the memory usage the second (load avg > 8 with no swap space left). Third time lucky.
Managed to compile the driver on the Pi Zero (circa 45 mins). Insufficient power to drive the Pi and adapter without a powered USB hub. Kinda makes it too clunky for any practicable use.
Have now finally fixed all of the issues and niggles I was having with the Pi 3B I run shairport-sync on to stream tunes via my hi-fi.
Have a couple of FriendlyElec ARM SBC's that could benefit from some 88x2bu love. Guess that's my next project.
Thanks for the good work you've done in getting this driver up to date.
Regards, -- Ade
BTW, Tested Hardware:
https://smile.amazon.co.uk/gp/product/B08523KPP9/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
https://smile.amazon.co.uk/gp/product/B084WBTTN6/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
The first one is an absolute bargain! Less than 1/3 of the price of the latter. No difference in performance.
(Bought the more expensive one first, knowing what chipset I was buying. But took a risk on the second, knowing that it was likely a chipset that had a level of linux support. Then stumbled upon morrownr's repo that made things easy with newer kernels.
The TP-Link adapter is already listed as supported but I will add the other to the README if that is okay with you. I am nearly ready to start testing on my RasPi 4B but I have a question: Did you use an external powered USB 3 extender or did you plug directly into the Pi? I'm concerned about having enough power available.
I now have an 8812bu based usb wifi adapter running on my RasPi 4B. It was good to step through the installation instructions myself. I gave it a try after only installing dkms as dkms requires the headers to be installed but I found out that "bc" is not installed and is required. This adventure is causing me to rethink how the installation is spelled out in the README. I need the process to be consistent, easy and dependable.
This device is working really well on the Pi. I'm not seeing any power issues so I think the 8812bu is not using a lot of power which is good.
I thought I'd listed the packages the build process depends on in another thread. The only board that wasn't able to drive the adaptor without a powered hub was the Pi Zero - but that could have been down to the funky enclosure it's in.
You did list the packages for the RasPi:
sudo apt-get install -y raspberrypi-kernel-headers bc build-essential
I am modifying to see what happens. I am not happy with the current installation instructions in the README. It needs to be simplified. I'm thinking a script for each option is the only way to make this work:
Do you see the problem?
We also need to add a section before installation that lists options for connecting a system to the internet without their 88x2bu adapter being available. Ethernet is an option but it is hard to move desktop systems. Tethering is an option but we need a good simple section that provides instructions for many options to connect to the internet in order to install this driver. Would you mind taking the lead on preparing a document that outlines the instructions for the various options?
From a personal perspective, I'm not keen on the thought of a multitude of build scripts. You've listed a few options but ignored a plethora of other systems/architectures. The 'dkms-install.sh' and 'dkms-remove.sh' save time and need little maintenance. I personally feel that editing the Makefile should be left to the user. The key for me is the documentation. It might be worth documenting how to disable the Pi's built in wifi, but in all honesty, that's already documented elsewhere. The additions you've made to 'README.md' make sense. I'd leave them as they stand and wait for questions that people raise. Just my 2c.
-- Ade
PieGuy314,
I think you are making sense so I am going to work on other things like making sure this driver works well on the next LTS version of the kernel (5.10). I do think a short note to point out how to disable the onboard wifi for the 3B and later would be a good idea. I also think a short primer on how to get a system connected to the internet via alternate means could be useful so if you run onto any good articles, please pass the info on.
FYI: I tested the new Ubuntu 20.10 ARM 64 Desktop distro yesterday. It lasted 30 minutes on an sd card and it was time to image something else. In my opinion, it is truly bad. The bad starts with the Gnome interface. I don't like that interface. I have tried to like it but I don't. My main OS here is Mint Cinnamon. Gnome is also slow. You can put lipstick on a pig but it is still a pig and Gnome is a pig. I'm not going to support that distro.
Cheers.
Only two GUI's I use - MacOS and a hacked Chromebook running Debian/Gnome (ie. Chromium, Nautilus, Terminal). Pretty much everything else is CLI via ssh. Installing OS's is usually via editing the boot info and/or a serial-USB gadget.
Spent too long today trying to get the driver to compile on a FriendlyElec ZeroPi (Allwinner H3 Cortex-A7 1.2 GHz | 4 cores | ARMv7). $9.99 4-core ARMv7l that way outperforms the Pi Zero. The included Makefile is inclined towards using cross-compilation for a lot of ARM based chipsets and I'm still trying to figure out why it stubbornly refuses to compile on a standalone system. But that's a project for the weekend.
BTW, to disable onboard wifi on the Raspberry Pi, download and compile the new driver with it enabled. Edit /boot/config.txt and append:
dtoverlay=disable-wifi
Poweroff. Plug in your 88x2bu adaptor. Reboot. .
What kinds of problems are you seeing compiling on that FriendlyElec board?
iperf3 results using this driver on a Pi 4B:
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.01 sec 47.9 MBytes 399 Mbits/sec 0 2.13 MBytes
[ 5] 1.01-2.00 sec 68.8 MBytes 581 Mbits/sec 0 2.38 MBytes
[ 5] 2.00-3.00 sec 66.2 MBytes 556 Mbits/sec 0 2.57 MBytes
[ 5] 3.00-4.00 sec 66.2 MBytes 556 Mbits/sec 0 2.72 MBytes
[ 5] 4.00-5.00 sec 62.5 MBytes 524 Mbits/sec 0 3.08 MBytes
[ 5] 5.00-6.00 sec 70.0 MBytes 587 Mbits/sec 0 3.08 MBytes
[ 5] 6.00-7.00 sec 66.2 MBytes 556 Mbits/sec 0 3.08 MBytes
[ 5] 7.00-8.00 sec 67.5 MBytes 566 Mbits/sec 0 3.08 MBytes
[ 5] 8.00-9.02 sec 65.0 MBytes 536 Mbits/sec 0 3.08 MBytes
[ 5] 9.02-10.00 sec 66.2 MBytes 566 Mbits/sec 0 3.08 MBytes
That is an average of 542 Mbits/sec. Smokin'. I noticed a pretty good bump in speed with the current default version of this driver. All indications are that this is a pretty good driver. I'm also impressed with the EDUP adapter that I use. That Pi 4B can really push the bits out of that USB 3 port.
FYI: I rewrote the installation part of the README and have been testing it. It is now 100% from the terminal (CLI) and all installation instructions are in one section.
What kinds of problems are you seeing compiling on that FriendlyElec board?
Nothing that's not to be expected in hindsight. The OS's on a lot of these boards are usually cross compiled on x86 based systems. Subsequently, the Makefile reflects a similar build environment geared around cross-compilation. This is quite sensible.
I'd built the OS I was running via cross-compilation. The sensible approach is to rebuild it with the the driver included.
I'm getting following error on my Raspberry Pi 4B:
pi@raspberrypi:~/src/88x2bu $ sudo ./install-driver.sh
dkms appears to be installed.
Copying driver 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.
dkms add was successful.
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
'make' all KVER=5.4.79-v8+ -j3...................................................(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.4.79-v8+ (aarch64)
Consult /var/lib/dkms/rtl88x2bu/5.8.7.4/build/make.log for more information.
An error occurred while running: dkms build
pi@raspberrypi:~/src/88x2bu $ cat /var/lib/dkms/rtl88x2bu/5.8.7.4/build/make.log
DKMS make.log for rtl88x2bu-5.8.7.4 for kernel 5.4.79-v8+ (aarch64)
Fri Nov 27 20:07:50 GMT 2020
make ARCH=arm64 CROSS_COMPILE= -C /lib/modules/5.4.79-v8+/build M=/var/lib/dkms/rtl88x2bu/5.8.7.4/build modules
make[1]: Entering directory '/home/pi/linux-9797f1a4938c20139b00a25de93cc99efb5c291b'
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_cmd.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_security.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_debug.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_io.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_ioctl_query.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_ioctl_set.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_ieee80211.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_mlme.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_mlme_ext.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_mi.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_wlan_util.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_vht.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_pwrctrl.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_rf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_chplan.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_recv.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_sta_mgt.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_ap.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/mesh/rtw_mesh.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/mesh/rtw_mesh_pathtbl.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/mesh/rtw_mesh_hwmp.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_xmit.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_p2p.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_rson.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_tdls.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_br_ext.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_iol.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_sreset.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_btcoex_wifionly.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_btcoex.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_beamforming.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_odm.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_rm.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_rm_fsm.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_rm_util.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/efuse/rtw_efuse.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/osdep_service.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/os_intfs.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/usb_intf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/usb_ops_linux.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/ioctl_linux.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/xmit_linux.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/mlme_linux.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/recv_linux.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/ioctl_cfg80211.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/rtw_cfgvendor.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/wifi_regd.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/rtw_android.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/rtw_proc.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/rtw_rhashtable.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/os_dep/linux/ioctl_mp.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_intf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_com.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_com_phycfg.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_phy.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_dm.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_dm_acs.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_btcoex_wifionly.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_btcoex.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_mp.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_mcc.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_hci/hal_usb.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/led/hal_led.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/led/hal_usb_led.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/rtl8822b_halinit.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/rtl8822b_mac.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/rtl8822b_cmd.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/rtl8822b_phy.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/rtl8822b_ops.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/hal8822b_fw.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_halinit.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_halmac.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_io.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_xmit.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_recv.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_led.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/rtl8822b/usb/rtl8822bu_ops.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/efuse/rtl8822b/HalEfuseMask8822B_USB.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/hal_halmac.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_api.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_dbg.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_bb_rf_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_cfg_wmac_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_common_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_efuse_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_flash_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_fw_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_gpio_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_init_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_mimo_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_usb_88xx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_cfg_wmac_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_common_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_gpio_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_init_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_phy_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_pwr_seq_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/halmac/halmac_88xx/halmac_8822b/halmac_usb_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_debug.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_antdiv.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_soml.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_smt_ant.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_antdect.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_interface.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_phystatus.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_hwconfig.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_dig.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_pathdiv.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_rainfo.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_dynamictxpower.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_adaptivity.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_cfotracking.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_noisemonitor.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_beamforming.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_direct_bf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_dfs.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/txbf/halcomtxbf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/txbf/haltxbfinterface.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/txbf/phydm_hal_txbf_api.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_adc_sampling.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_ccx.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_psd.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_primary_cca.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_cck_pd.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_rssi_monitor.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_auto_dbg.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_math_lib.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_api.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_pow_train.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_lna_sat.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_pmac_tx_setting.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_mp.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/phydm_cck_rx_pathdiv.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halrf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halrf_debug.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halphyrf_ce.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halrf_powertracking_ce.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halrf_powertracking.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halrf_kfree.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/halrf_psd.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/rtl8822b/halhwimg8822b_bb.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/rtl8822b/halhwimg8822b_mac.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/rtl8822b/halrf_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/rtl8822b/phydm_hal_api8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/rtl8822b/halhwimg8822b_rf.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/rtl8822b/halrf_iqk_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/halrf/rtl8822b/halrf_rfk_init_8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/rtl8822b/phydm_regconfig8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/rtl8822b/phydm_rtl8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/phydm/txbf/haltxbf8822b.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/btc/halbtc8822bwifionly.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/btc/halbtc8822b1ant.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/hal/btc/halbtc8822b2ant.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/platform/platform_ops.o
CC [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/core/rtw_mp.o
LD [M] /var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.o
Building modules, stage 2.
MODPOST 1 modules
ERROR: "__const_udelay" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "__arch_copy_from_user" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "_raw_spin_unlock" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "__rcu_read_lock" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "__rcu_read_unlock" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "cpu_hwcap_keys" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "csum_ipv6_magic" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "__warn_printk" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "_mcount" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "arm64_const_caps_ready" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "__udelay" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "preempt_schedule_notrace" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
ERROR: "__arch_copy_to_user" [/var/lib/dkms/rtl88x2bu/5.8.7.4/build/88x2bu.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:94: __modpost] Error 1
make[1]: *** [Makefile:1645: modules] Error 2
make[1]: Leaving directory '/home/pi/linux-9797f1a4938c20139b00a25de93cc99efb5c291b'
make: *** [Makefile:2421: modules] Error 2
Do you know what could go wrong?
Where is PieGuy when we need him?
GoldenTK, are you running the 64 bit Raspberry Pi OS?
Yes, I’m using latest Raspberry Pi OS Lite 64bit.
Where is PieGuy when we need him?
GoldenTK, are you running the 64 bit Raspberry Pi OS?
I'd hazard a guess it is PiOS-64-bit given the kernel version. There's a reason it's still in Beta. I opted for DietPi a while ago for 64-bit support. Way less bleeding edge. And supports 88x2bu! (64-bit Ubuntu for Raspberry Pi should also work.)
These appear to be kernel/linker related issues. I doubt the driver will need modification.
GoldenTK, I was testing today with my RasPi 4B with the RPi OS 32 bit with the 5.10 rc5 kernel. Worked like a charm. I have not tested with the 64 bit version of RPI OS yet. I'm going to go with what PieGuy said in that the log did not look like a driver code issue but rather a dev environment problem as it looked like all of the object files compiled fine and then the process fell apart when it was time to put everything together. I've compiled a few drivers in my time and I can't say that I've seen this before. If you have an extra sd card, you might flash some alternatives to see what happens. My best bet is that RPI OS 64 bit is in testing because it is not ready.
The section of the Makefile that supports ARM64 is standard except for one line that was recommended by another visitor:
EXTRA_CFLAGS += -fno-stack-protector
You could search for and delete that line to see what happens. You should probably run $ sudo ./remove-driver.sh to clean things up before trying another compile. Keep us updated.
Yeah, that was the problem with Raspberry Pi OS, I installed DietPi and driver is working as expected, we can add Rocketek WL1200AT to supported devices list. Thanks for help @morrownr and @PieGuy314.
The section of the Makefile that supports ARM64 is standard except for one line that was recommended by another visitor:
EXTRA_CFLAGS += -fno-stack-protector
You could search for and delete that line to see what happens. You should probably run $ sudo ./remove-driver.sh to clean things up before trying another compile. Keep us updated.
Not recommended. The compiler with fail with an 'undefined reference to stack_chk_fail' error. The solution is to define stack_chk_fail(void)' as an additional function somewhere in the codebase or, alternatively, specify 'EXTRA_CFLAGS += -fno-stack-protector' in the makefile. The outcome is similar.
Btw, do you know how to run dual band connection as an access-point? I can see only one wlan0 interface.
https://wiki.gentoo.org/wiki/Hostapd
Hopefully that helps.
Yeah, that was the problem with Raspberry Pi OS, I installed DietPi and driver is working as expected, we can add Rocketek WL1200AT to supported devices list. Thanks for help @morrownr and @PieGuy314.
@GoldenTK I am having this issue using DietPI v6.31.2, kernel DietPi 5.4.51-v8+, ARM64, raspberry pi 3B. Could you tell me how did you make it work and on which version (kernel, os, rpi model)? Many thanks
Can report successfully building and running the current driver on the following Raspberry Pi/OS versions:
Raspberry Pi 4B (armv8) - DietPi 64-bit, PiOS 32-bit
Raspberry Pi 3B (armv8) - DietPi 32-bit, DietPi 64-bit
Raspberry Pi 2B (armv7) - PiOS 32-bit
Raspberry Pi A+ (armv6) - PiOS 32-bit
Also have a Pi Zero - but will get to that when time permits and update this post accordingly.
Can also state that AP mode, packet injection and USB3.0 mode work as expected on a Pi 4B running 32-bit PiOS.