DLink DWA-X1850 / wifi6 USB devices

I found that message, but that was apparently a bug report by someone seeing issues when connecting to an AP from an rtw89 STA (built-in, PCIe), claiming it was working when using another wifi dongle (usb stick) with a different chipset, for verification.

Besides, I wonder how the USB VID / PID would be set in the rtw89-based forks for USB devices, this probably happens via udev rules rather than the driver itself? By the way, does anyone happen to know the VID / PID for the ASUS device?
// edit: seems to be 0B05:1997 for ASUS USB-AX56.
// edit#2: only a single PID is set in the rtw89-usb fork:
https://github.com/neojou/rtw89-usb/blob/8758637fd73073fa2cac554c7e2c5b0c06bb75c7/usb.c#L1073

I'll just update this to aggregate some basic information on the currently available devices, because why not... (and since most of my 11.11 shopping has been delivered recently :innocent: )

Meanwhile I possess all of these USB adapters:

Device USB VID USB PID design
ASUS USB-AX56 0B05 1997 flippable antennas
Comfast CF-957AX 0BDA 8832 flippable dual-antenna
D-Link DWA-X1850 2001 3321 monobloc, SMD metal + Airgain stacked PCB antenna
Fenvi FU-AX1800P 0BDA 885C flippable antennas, push button

I also tried to compile the rtw89-usb fork, but no luck, most probably since using ubuntu, as mentioned in the Readme of lwfinger's repository:

/home/sebastian/openwrt/rtw89-usb/core.c:2324:13: error: ‘struct wiphy’ has no member named ‘sar_capa’; did you mean ‘pmsr_capa’?
 2324 |  hw->wiphy->sar_capa = &rtw89_sar_capa;
      |             ^~~~~~~~
      |             pmsr_capa

So I guess I'll just wait, maybe one day USB support for these adapters will make it into mainline, but probably not for 5.16 yet.

I have a lot of hope for the DLink to be in 5.16 or 5.17.
Mainline support looks like it is coming.
Maybe you can post those USB IDs to thew wireless mailing list to make sure not just the DLink gets included. :slight_smile:

Here's a search of the wireless mailing list:
https://marc.info/?l=linux-wireless&w=2&r=1&s=rtw89+usb&q=b

That was my hope, however they don't yet seem to have USB support for rtw89 in the wireless-next branch. First, I wanted to make a PR to neojou's fork to include those, but only after local testing. And that is what did not succeed, since I'm unfortunately using ubuntu :innocent:

I'd actually like to build this for OpenWrt as well, maybe we could have a backported USB driver even before it eventually goes mainline. But I'm lacking both the skill and patience to even try cross-compiling.
Since AP mode is supported (unfortunately no 802.11s or monitor though, at least with the realtek out-of-tree driver), these would make a great addition to routers with USB 3.0 port (e.g. D-Link DIR-8xx / 1960 / 3060 / ... series, and others with MT7621).

I will post something asking if USB support is planned, the more people that ask for it is probably better. :slight_smile:
I mistakenly thought this was the kernel driver but it not.
https://marc.info/?l=linux-wireless&m=162907474401699&w=2

Has anyone used the proprietary driver on a Raspberry Pi 4b (Arm)?

1 Like

Where did you get it from?

I forked it from https://github.com/shiqishao/RTL8852AU_WiFi_linux_v1.15.0.1-0-g487ee886.20210714.

That compiles but https://github.com/neojou/rtw89-usb does not?
Are there any binaries or it is too dependent on the kernel version?

The shiqshao one is apparently horrible code like all Realtek drivers before.
The neojou one just replaced the PCI calls with the corresponding USB calls.
PCI has historically been different than USB so it probably won't work.
I can't compile the neojou one (unused... warnings) and I don't have the X1850 yet.

I can't find the neojou repo anymore. :frowning:

This looks promising :blush:

It is the USB code that was referenced earlier.
I think it is the start of a USB driver using the basic framework.
I have been talking to lwfinger. :slight_smile:
I'm pretty sure it'll attract interest now since it is all open source. :slight_smile:

1 Like

It compiles on ubuntu, just does not work yet.
Actually breaks the whole USB stack, requires reboot to recover :sweat_smile: