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!