1 | sudo apt update |
Problem of not being able to use D-Link AC600 (DWA 171 Revision C) as WiFi USB as it is recognised as USB Flush Memory (storing Windows driver files). Note that this is NOT about DWA 171 revision A.
Cause
As per Problem with Wi-Fi USB Adapter D-Link DWA-171:
A DWA-171 Revision C became available in 2018, and is marked as such on the dongle label. The revA is a straightforward wifi dongle – with the correct Linux driver installed, plug in the dongle and you’re off to the races. But the revC first enumerates as USB Storage, and as such contains a Setup.exe to install Windows drivers.
lsusb shows the DWA 171 Revision C as Realtek flash drive.
Bus 003 Device 005: ID 0bda:1a2b Realtek Semiconductor Corp. <—– USB Flash memory mode of DWA 171
Solution
As per Automatically use usb_modeswitch for Wifi USB, run usb_modeswitch as below (after , and confirm with lsusb and ip commands.
1 | $ lsusb |
3: wlx58d56e015102: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state
UP mode DORMANT group default qlen 1000
link/ether 58:d5:6e:01:51:02 brd ff:ff:ff:ff:ff:ff
Explanation
The REFERENCE document included in the usb-modeswitch-data package says -K means ejecting the device.
StandardEject <0/1> -K
Sends a specific bulk message sequence representing the SCSI commands “ALLOW MEDIUM REMOVAL” and “START STOP UNIT”, basically an eject action. Many modems are using this for mode switching. Can be combined with one additional ‘MessageContent’
Conclusion
To use the D-Link AC 600 (DWA 171 Revision C) as USB WiFi.
Compile, install, and load the 8821cu module (NOT 8821au).
Verify the module is loaded with lsmod.
Eject the USB flash drive with usb_modeswitch -K.
Verify the USB WiFi D-Link is displayed with lsusb.
References
USB_ModeSwitch - Handling Mode-Switching USB Devices on Linux