在星光2使用RTL8811CU无线网卡的记录

发布时间 2023-12-15 21:06:24作者: merky

在星光2使用RTL8811CU无线网卡的记录

1. 硬件和软件基础条件

硬件:StarFive VisionFive 2 v1.3B
CPU: JH7110 4Cores RISCV64GC
MEM: 4GB
Disk: Sandisk Ultra 32GB Micro-SD Card
无线网卡:COMFAST CF-811AC 802.11ac无线网卡
无线网卡芯片:RTL8811CU
无线网卡USB信息:0bda:c811

Linux版本:Linux ubuntu 6.5.0-14-generic #14.1-Ubuntu SMP Fri Nov 24 06:09:26 UTC 2023 riscv64 riscv64 riscv64 GNU/Linux
Ubuntu系统版本:Ubuntu 23.10
操作系统下载来源:ubuntu-23.10-preinstalled-server-riscv64+visionfive2.img.xz

2. 安装过程

下载开源驱动。

git clone https://github.com/morrownr/8821cu-20210916
cd 8821cu-20210916
make ARCH=riscv
sudo make install

插入USB无线网卡。不出意外的话不会出意外。在ifconfig里会出现一个类似这样的网卡信息。记住它的mac地址。

ifconfig
# wlx40a5ef217bd3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
#         ether 40:a5:ef:21:7b:d3  txqueuelen 1000  (Ethernet)         <--------------------------Attention this MAC address
#         RX packets 0  bytes 0 (0.0 B)
#         RX errors 0  dropped 0  overruns 0  frame 0
#         TX packets 0  bytes 0 (0.0 B)
#         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

下面代码段引用自https://forum.rvspace.org/t/2-usb-rtl8832au-wifi6/1595.

个人认为该步骤是可选步骤。

sudo vim /etc/udev/rules.d/70-persistent-net.rules 
### 添加下面的行:注意 ### 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="yo:ur:ca:rd:ma:c", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="wlan0" 
#                                                               ^^^^^^^^^^^^^^^^<------------Replace with your wifi card mac
# 使新的udev规则生效 
sudo udevadm control --reload-rules

重新拔插网卡。可以看到它的名字正确了。

# wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
#         ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
#         RX packets 0  bytes 0 (0.0 B)
#         RX errors 0  dropped 0  overruns 0  frame 0
#         TX packets 0  bytes 0 (0.0 B)
#         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我们使用nmcli来连接wifi。

nmcli device wifi list
# IN-USE  BSSID              SSID                 MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
#         14:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  6     270 Mbit/s  100     ▂▄▆█  WPA1 WPA2
#         1C:XX:XX:XX:XX:XX  SOME_WIFI_666D7E_5G  Infra  44    270 Mbit/s  100     ▂▄▆█  WPA1 WPA2
#         14:XX:XX:XX:XX:XX  SOME_WIFI_6665G      Infra  44    270 Mbit/s  100     ▂▄▆█  WPA1 WPA2
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  56    270 Mbit/s  79      ▂▄▆_  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666_2.4G   Infra  1     130 Mbit/s  70      ▂▄▆_  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  153   270 Mbit/s  69      ▂▄▆_  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  153   270 Mbit/s  64      ▂▄▆_  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  157   270 Mbit/s  57      ▂▄▆_  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666_2.4G   Infra  1     130 Mbit/s  44      ▂▄__  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  153   270 Mbit/s  42      ▂▄__  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  60    270 Mbit/s  25      ▂___  --
#         70:XX:XX:XX:XX:XX  SOME_WIFI_666        Infra  56    270 Mbit/s  15      ▂___  --
sudo nmcli device wifi connect SOME_FIWI_5G password YOUR_PASSWORD
# Device 'wlan0' successfully activated with 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.

已连接上!

ifconfig
# wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
#         inet 192.168.2.139  netmask 255.255.255.0  broadcast 192.168.2.255
#         inet6 df08:715f:96c0::d4e  prefixlen 128  scopeid 0x0<global>
#         inet6 df08:715f:96c0:0:45a3:fb7c:f326:5bb7  prefixlen 64  scopeid 0x0<global>
#         inet6 fe80::77f1:f01d:b0c3:dc2b  prefixlen 64  scopeid 0x20<link>
#         ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
#         RX packets 15290  bytes 11449401 (11.4 MB)
#         RX errors 0  dropped 0  overruns 0  frame 0
#         TX packets 7020  bytes 1018499 (1.0 MB)
#         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Reference

星光2中文论坛:星光2之USB无线网卡使用教程【新增RTL8832AU WiFi6双频...

github:8821cu-20210916