1

I have an ASUS AC53 Nano wifi receiver that I'm trying to get working on Solus Linux. Here's some basic info:

$ lsusb

Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

$ uname -r

5.0.7-114.current

I'm following the directions found here as they were said to be working for this person here and it's the best lead I've had so far. But I'm wondering if they were on an older kernel than I am. I have added the line:

{USB_DEVICE(0x0B05, 0x184C), .driver_info = RTL8822B}, /* ASUS USB AC53 */

to the os_dep/linux/usb_intf.c file as per the instructions and attempted to run make. Here is the output:

$ make make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.0.7-114.current/build M=/home/morgan/rtl8822bu modules make[1]: Entering directory '/usr/src/linux-headers-5.0.7-114.current' CC [M] /home/morgan/rtl8822bu/os_dep/linux/os_intfs.o In file included from /home/morgan/rtl8822bu/include/drv_types.h:35, from /home/morgan/rtl8822bu/os_dep/linux/os_intfs.c:22: /home/morgan/rtl8822bu/include/wifi.h:1005: warning: "IEEE80211_MAX_AMPDU_BUF" redefined #define IEEE80211_MAX_AMPDU_BUF 0x40 In file included from /home/morgan/rtl8822bu/include/osdep_service_linux.h:84, from /home/morgan/rtl8822bu/include/osdep_service.h:41, from /home/morgan/rtl8822bu/include/drv_types.h:32, from /home/morgan/rtl8822bu/os_dep/linux/os_intfs.c:22: ./include/linux/ieee80211.h:1444: note: this is the location of the previous definition #define IEEE80211_MAX_AMPDU_BUF 0x100

/home/morgan/rtl8822bu/os_dep/linux/os_intfs.c:1170:22: error: initialization of ‘u16 (*)(struct net_device *, struct sk_buff *, struct net_device *, u16 (*)(struct net_device *, struct sk_buff *, struct net_device *))’ {aka ‘short unsigned int (*)(struct net_device *, struct sk_buff *, struct net_device *, short unsigned int (*)(struct net_device *, struct sk_buff *, struct net_device *))’} from incompatible pointer type ‘u16 (*)(struct net_device *, struct sk_buff *, void *, u16 (*)(struct net_device *, struct sk_buff *, struct net_device *))’ {aka ‘short unsigned int (*)(struct net_device *, struct sk_buff *, void *, short unsigned int (*)(struct net_device *, struct sk_buff *, struct net_device *))’} [-Werror=incompatible-pointer-types] .ndo_select_queue = rtw_select_queue, ^~~~~~~~~~~~~~~~ /home/morgan/rtl8822bu/os_dep/linux/os_intfs.c:1170:22: note: (near initialization for ‘rtw_netdev_ops.ndo_select_queue’) cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:277: /home/morgan/rtl8822bu/os_dep/linux/os_intfs.o] Error 1 make[1]: *** [Makefile:1576: _module_/home/morgan/rtl8822bu] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.0.7-114.current' make: *** [Makefile:1318: modules] Error 2

I really don't know what to "make" of it (lol)! Is there anyone that can help me out? Many thanks in advance!

2
  • The source code won't compile because there are errors. You need to modify the source code or find one that compiles on your kernel. Commented May 3, 2019 at 4:06
  • Thanks @AulisRonkainen - I believe the problem is the kernel version. Unfortunately I can't run an earlier kernel because of my Ryzen APU. I guess I'm in the hands of the developer to update this to work on 5.0+ kernels? Are there any other drivers that might work for this adapter? Commented May 3, 2019 at 4:17

2 Answers 2

0

I was having this exact same error trying to install the ASUS AC53 Nano. For my machine, I was POP!_os with a linux kernel of 5.0.0. After trying several repos for the RTL8822BU Wireless Driver for Linux, jeremyb31/rtl8822bu repo did the trick perfectly.

I had no internet on my machine, so I cloned it onto a machine with internet, transfered the repo via USB to my PC, copied it onto my PC, cd'ed into that repo on my PC, then ran make to compile and sudo make install to install the firmware, then sudo modprobe 8822bu. I didn't make any edits to the files in the repo. The instructions are in the README of the repo.

After that it started working for me (You might need to restart). Hope that helps!

0

No matter what repo I tried, at first it would not compile. However, once I installed the gcc and binutils packages, it worked. So try the following:

sudo apt-get update
sudo apt-get install binutils
sudo apt-get install gcc

(follow the instructions the terminal gives you)

then use the make command.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.