星光2之USB无线网卡使用教程【新增RTL8832AU WiFi6双频无线网卡】

星光板2(VisionFive 2)开发板没有自带WiFi模块,所以要连上WiFi,可以使用USB无线网卡。
要使用USB无线网卡,和通用Linux中加载USB无线网卡一样,只要驱动对了,通常就能用了。

一、测试过的USB无线网卡
我手头除了官方提供的 WiFi dongle,还有4种以前用过的,具体如下:


新增的RTL8832AU WiFi6双频无线网卡,请查看第七节

在上图中:

  • 绿色板子的,就是官方提供的 WiFi dongle,奕斯伟ESWIN的ECR6600U,其具体参数如下:


    其中,802.11ax就是第六代WiFi标准,简称WiFi 6,虽然不是双频的,但货真价实的WiFi6。

  • 左边黑色和右边白的色,分别是小米和小度随身WiFi,芯片用的都是MTU7601,大致参数如下:

  • 中间黑色EDUP的,是EDUP EP-N1572,参数如下:

这三种芯片四个无线网卡,我都官方提供的Debian 69镜像版本一一测试,都可以正常使用,下面将各网卡的具体使用方式详细说明。
69镜像版本地址: VisionFive 2 Debian Image Released - VisionFive 2 (English Forum) - RVspace Forum

因为官方提供的镜像中,Debian系统的内核以及内核模块,不一定都提供了所需要的驱动,所以我们需要重新编译内核,提供对相应USB网卡的支持。

编译内核需要在Linux环境下进行,方便起见,我们直接在星光板2的Debian系统中进行编译,虽然编译需要的时间要长一些,但大家在同一个环境,有问题也好查找处理。
如果在其他环境中,可以参考,毕竟如果用Debian或者Ubuntu系统,大家操作都差不多。

星光板2烧录好Debian系统,连接好网线,确保网络联通以后,再用 USB转TTL工具连接串口操作,或者远程连接到ssh操作,都可以。

二、基本编译环境准备
系统能够正常使用后,还需要安装一些基础的软件包,才好进行编译。
要安装的软件包,包括但不限于如下操作中的,实际遇到了问题,可以根据提示安装需要的。

# root用户安装sudu
su root
apt update
apt install sudo
# 添加用户到sudo组,请修改为你自己的普通用户
usermod -a -G sudo honestqiao 
exit

# 安装基本工具和编译工具
sudo apt install -y build-essential gcc-riscv64-linux-gnu libncurses-dev
sudo apt install -y git flex bison bc vim-tiny wget
sudo apt install iw im-config usbutils pciutils iputils-ping

安装完成以后,检查一下riscv64-linux-gnu-gcc安装是否正确:

riscv64-linux-gnu-gcc -v

输出如下:


安装正确,可以进行后续的实际操作了。

三、编译基础内核
赛昉官方提供了星光2系统的定制内核源码,使用git下载即可。

mkdir ~/repos
git clone https://github.com/starfive-tech/linux.git
cd linux
git checkout -b JH7110_VisionFive2_devel origin/JH7110_VisionFive2_devel
git pull

然后,进行内核配置处理:

# 生成默认内核配置
make starfive_visionfive2_defconfig CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv

# 打开内核配置:暂时可以直接Exit,后续需要使用
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv menuconfig

# 编译内核
time make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv -j4

最后一条,添加time指令在最前面,这样编译完成后,就可以看到实际花费了多长时间。
一般第一次编译时间较长,后续如果源码没有大的变动,那么需要时间很短。

正常情况下,最终结果如下:

因为编译次数的不同,最终的信息,可能和上面的有差异,只要没有Error、Failed等字样出现,就算成功了。

这说明,我们的环境,可以编译内核了,后面就要进行网卡的驱动了。

四、RTL8192CU无线网卡的驱动
多年前,我在笔记本电脑上装FreeBSD的时候,驱动不了自带的网卡,我就用了这个EDUP无线网卡。
所以,星光板2要用WiFi的时候,我第一时间拿出了珍藏已久的这个EDUP无线网卡。
这个EDUP无线网卡是RTL8192CU的,属于较为通用的一款。
要在星光板2上使用,需要以下两个部分的支持:

  1. 内核驱动的支持:在内核配置中,开启对应的支持选项即可;部分需要外部驱动的支持
  2. 网卡firmware的支持:需要找到对应的bin文件

具体步骤如下:

  1. 首先,在内核中开启对应的支持选项:
# 打开内核配置:
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv menuconfig

选项的选择路径如下:
首屏 – Device Drivers – Network device support – Wireless LAN:


把红框内,涉及到8192CU的选项(包括子选项中的),全部设置为 ※ ,使得其直接编译到内核中。
设置好以后,需要使用底部的Save保存一次,再退出,不然白选了。

  1. 然后,编译新的内核:
# 编译内核:
time make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv -j4

# 生成vmliunz:
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv INSTALL_PATH=~/repos/compiled/ zinstall -j4

# 查看结果:
ls -lh arch/riscv/boot/Image.gz arch/riscv/boot/dts/starfive/jh7110-visionfive-v2*.dtb ~/repos/compiled/

实际的输出如下:

现在,新内核生成好了,可以直接使用了。可以用新的内核,直接覆盖老的内核,也可以添加一项新的配置,如果新内核调用失败,还能够启用老的内核。

  1. 启用新的内核的步骤如下:
  1. 安装新的内核:
# 安装内核文件
sudo mkdir /boot/boot/dtbs/new
sudo mkdir /boot/boot/dtbs/new/starfive
sudo cp arch/riscv/boot/dts/starfive/jh7110-visionfive-v2*.dtb /boot/boot/dtbs/new/starfive/
sudo cp -r arch/riscv/boot/dts/starfive/vf2-overlay /boot/boot/dtbs/new/starfive/
sudo cp ~/repos/compiled/vmlinuz-5.15.0_for_HonestQiao /boot/boot/vmlinuz-5.15.0_for_HonestQiao

# 查看结果:
tree /boot/boot/dtbs/new/

注意,上述最后一步的vmlinuz-5.15.0文件具体名称,应根据前一步ls的结果中来修改为实际的。
执行完成后,输出如下:

  1. 配置启动新的内核:
    编辑 /boot/boot/extlinux/extlinux.conf 文件,在最后添加下面的配置:
label l1
        menu label Debian GNU/Linux 5.15.0 for HonestQiao
        linux /boot/vmlinuz-5.15.0_for_HonestQiao
        initrd /boot/initrd.img-5.15.0-starfive
        fdtdir /boot/dtbs/new/
        append  root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0


该配置,参考l0的,将linux、fdtdir修改为新的即可。
extlinux.conf 中的default l1,表示默认启用l1对应的配置,就是新添加的。

  1. 安装RTL8192CU的firmware:
    下载这个安装包:firmware-realtek_20190114-2~deb9u1_all.deb 到 ~/repos/
    然后在星光板2上,使用下面的指令安装:
sudo apt install ~/repos/firmware-realtek_20190114-2_deb9u1_all.deb
  1. 重启电脑使用新内核
    重启电脑后,可以使用 uname -a指令查看新内核是否生效:

此时,可以插上USB的RTL8192CU无线网卡,然后使用dmegs查看输出信息:


如果没有安装firmware-realtek_20190114-2~deb9u1_all.deb,则会提示firmware加载失败。

使用lsusb,也能查看到网卡被识别到了:

使用/sbin/ifconfig -a,可以添加了一个新的wl开头的网卡设备:

星光板2上自带的有线网口,识别的名称为eth0、eth1,而USB网卡这个名称,太长不好使用,可以用udev规则来设定:

# 设置udev规则为网卡命名
sudo vim /etc/udev/rules.d/70-persistent-net.rules
### 添加下面的行 ###
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:4e:06:29:2f:81", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="wlan0"

# 使新的udev规则生效
sudo udevadm control --reload-rules

上述配置中的 address 为我的无线网卡的mac地址,请根据ifconfig的显示,修改为实际的mac地址。

然后重新插拔网卡,就能使用/sbin/ifconfig -a看到无线网卡被命名为wlan0了:

  1. 使用nmcli管理无线网卡的连接:
    nmcli管理无线网卡连接非常方便,使用如下的指令即可:
# 设置无线连接
sudo nmcli device wifi connect WiFi名称 password WiFi密码 ifname wlan0 &

# 设置该连接开机自动生效
sudo nmcli connection modify WiFi名称 connection.autoconnect yes

设置完成后,稍等一会,就可以查看连接情况:

# 查看dmesg输出
dmesg | tail -n 10

# 查看网络连接情况
/sbin/ifconfig wlan0


此时,可以使用ping指令,从星光板2来ping路由器的ip,或者从电脑ping星光板的ip

五、使用官方的WiFi dongle
星光板2官配的USB无线网卡是ESWIN的ECR6600U,在内核配置中,应对应的选项,但是开启后,不能直接使用,需要安装驱动才能用。

  1. 首先,从以下路径,打开ECR6600U的支持
    首屏 – Device Drivers – Network device support – Wireless LAN:



    设置好以后,参考RTL8192CU的方式,重新编译安装新内核。

  2. 安装ECR6600U的开源驱动:

cd ~/repos
# git下载驱动源码
git clone https://github.com/eswincomputing/eswin_6600u.git
cd eswin_6600u

# 编译驱动:路径需要指定正确
time make KERNELDIR=~/repos/linux/ KBUILDDIR=~/repos/linux/ product=6600u

# 安装对应firmware的bin文件
sudo cp firmware/ECR6600U_transport.bin /lib/firmware/

# 加载驱动:
sudo insmod ~/repos/eswin_6600u/wlan_ecr6600u_usb.ko

# 查看加载的驱动:
sudo lsmod

# 查看dmesg输出
dmesg | tail -n 5

最后能到如下的结果:

  1. 使用ECR660U无线网卡:
    将ECR660U接上USB,然后查看dmesg输出:

也可以使用/sbin/ifconfig -a查看,此时又会多出两个wl开头,名称超长的网卡设备。
其中,第一个设备是普通无线网卡设备,第二个设备是WIFI-DIRECT。
参考RTL8192CU为网卡命名的设置, 对新的两个网卡谁设备进行设置:

sudo vim /etc/udev/rules.d/70-persistent-net.rules
### 添加下面的行 ###
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="2c:05:47:a1:1c:31", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="wlan1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="2e:05:47:a1:1c:31", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="p2p1"


# 使新的udev规则生效
sudo udevadm control --reload-rules

上述配置中的 address 为我的无线网卡的mac地址,请根据ifconfig的显示,修改为实际的mac地址。

设置完成后,重新插拔ECR6600U,再次使用/sbin/ifconfig查看,网卡名称就正常命名了。
然后,参考使用nmcli为RTL8192CU设置wifi连接的方式,为ECR6600U设置即可。

注意:今天使用使用最新的官方linux代码编译安装内核,再更新ECR660U驱动,发现使用会存在问题,重新插拔可能导致死机,需要重启后,才能使用insmod加载驱动并使用该无线网卡

六、使用小米/小度随身WiFi
小米和小度随身WiFi使用的是MT7601U,非常好启用。
步骤也是两个,1是内核配置开启支持选项,2是安装对应的bin文件。

1 内核配置开启支持选项:


设备保存后,再重新编译安装内核

2 安装bin文件:

wget -c 'http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mt7601u.bin'
sudo mv mt7601u.bin /lib/firmware/mt7601u.bin

安装完成后重启,再插入MT7601U无线网卡,dmesg可以看到如下的信息:

使用/sbin/ifconfig可以看到又打了一个wl开头的网卡设备:

同样的,设置udev规则,做好命名:

sudo vim /etc/udev/rules.d/70-persistent-net.rules
### 添加下面的行 ###
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="8c:be:be:03:5e:74", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="wlan3"

# 使新的udev规则生效
sudo udevadm control --reload-rules

上述配置中的 address 为我的无线网卡的mac地址,请根据ifconfig的显示,修改为实际的mac地址。

再次重新插拔MT7601U无线网卡,使用/sbin/ifconfig查看,现在命名正确:


然后参考RTL8192CU,使用nmcli为其设置WiFi连接,即可投入使用。

七、【新增】RTL8832AU WiFi6双频无线网卡
这几天趁着过节,在京东抢了一块【翼联(EDUP)EP-1696S WiFi6无线网卡 电竞1800兆USB无线网卡)】,讲过一番尝试,成功驱动使用。

该网卡具体情况如下:



这款网卡EP-1696S,是翼联出的,和我前面用的RTL8192CU无线网卡,是一个厂家。EP-1696S 在网上的评价非常不错,芯片是RTL8832AU。RTL8832AU系列网卡,是除了AX200系列外,是最值得考虑的一个型号。参考 一文读懂WiFi6无线网卡,WiFi6网卡选购最全指南 - 知乎 (zhihu.com) 文章,可以了解该芯片的参数:

  • WiFi规格:AX1800规格,2.4G与AX200相当;但5G由于不支持160MHz,只有1201Mbps;双频双天线;
  • 接口:使用USB 3.0接口,当前唯一一款支持USB接口的WiFi6网卡;
  • 支持免驱安装;
  • 系统支持全面,可以在win7、win8等旧系统上使用,无需为了使用WiFi6而升级系统;
  • 支持模拟AP功能;
  • 热插拔:USB接口的特有优势,即插即用,支持热插拔;

要驱动该网卡,只需要编译安装驱动即可,不需要 firmware 的bin文件,具体操作步骤如下:

# 下载驱动
cd ~/repos
git clone https://github.com/lwfinger/rtl8852au
cd rtl8852au

# 编译驱动
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv KERNELDIR=~/repos/linux/ KBUILDDIR=~/repos/linux/

# 加载驱动
insmod ~/repos/rtl8852au/8852au.ko &

# 插上网卡,然后使用dmesg和lsusb查看信息
dmesg

# 查看设备信息:
lsusb


使用/sbin/ifconfig可以看到又打了一个wl开头的网卡设备。
同样的,设置udev规则,做好命名:

sudo vim /etc/udev/rules.d/70-persistent-net.rules
### 添加下面的行:注意 ###
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:de:80:25:47:c5", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="wlan4"

# 使新的udev规则生效
sudo udevadm control --reload-rules

上述配置中的 address 为我的无线网卡的mac地址,请根据ifconfig的显示,修改为实际的mac地址。

再次重新插拔该无线网卡,使用/sbin/ifconfig查看,现在命名正确:

然后参考RTL8192CU,使用nmcli为其设置WiFi连接,即可投入使用。
该网卡是可以连接2.4GHz和5GHz,可以自由连接。

八、总结
如前面所说,要使用USB无线网卡,需要以下两个部分的支持:

  1. 内核驱动的支持:在内核配置中,开启对应的支持选项即可;部分需要外部驱动的支持
  2. 网卡firmware的支持:需要找到对应的bin文件
    本文演示的三种芯片四个无线网卡,RTL8192CU、MT7601U的,内核开启对应的支持选项即可,然后安装好对应的bin文件,重启后就能使用。而ECR6600U,则需要使用外部驱动来支持。

如果你使用的是其他的无线网卡,那么需要做的就是:

  1. 查看该无线网卡所使用的具体芯片,并找到对应的firmware的bin文件
  2. 在内核menuconfig从查看,是否已经提供了支持
  3. 如果内核本身提供了支持,那么开启对应的选项,重新编译内核安装,并安装firmware的bin文件,重启后,根据实际输出,设置好runles命名规则,就能使用了
  4. 如果内核本身没有提供支持,那么就需要找到对应的Linux驱动(驱动安装包或者源码编译),试试看看能否加载驱动使用了。

九、感谢
研究使用无线网卡的过程中,主要参考的资料或者信息如下:

希望大家都能顺利的使用起来无线网卡,畅快的玩起星光板2。

顺祝大家新年快乐,万事如意,大展鸿兔,钱兔似锦!!!

18 Likes

好文章 mark

多谢如此详尽的教程。我买了一块EP-1685S,也是WiFi6双频无线网卡,驱动是rtl8188gu,最后也成功用上了~

我是在vf2板上编译的,直接编译内核的耗时和你机器上交叉编译相比差不多哈

real    37m35.969s
user    138m24.692s
sys     8m2.403s

另外,搜到了RTL8832AU的差评@@:

好用就成。
EP-1696S/RTL8832AU我这边用起来非常好。

我使用你的方式对官方WiFi(ECR6600U)进行编辑,插入后出现以下错误,请问这应该怎么解决
root@starfive:~# dmesg | tail -n 5
[ 231.117376] [ecrnx] send finish:ecrnx_cfg80211_scan
[ 232.608718] [ecrnx] ecrnx_rx_scanu_start_cfm: receive scanu cfm, status:0
[ 232.615716] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000f9c03e56
[ 235.107651] [ecrnx] ecrnx_open: Status Error(1)
[ 235.114813] [ecrnx] ecrnx_open: Status Error(1)

无视,驱动可能还不完善。
但,能够正常使就好。

请楼主救救我,按照文章方法操作了出现几个问题(板子是预售的百兆+千兆组合网口的那款4g):

  1. 有一个网口不能正常使用了(插上网线正常闪黄灯,但板子没联网。。。)另一个亮绿灯的口子是正常的
  2. ecr6600u重命名没有成功不知道为啥。。。
  3. wifi连上后,再插不正常的那个网口,wifi就断了。
    nmtui连接时报错IP configuration could not be reserved (no available address, timeout, etc.)
  1. 有一个网口不能正常使用了(插上网线正常闪黄灯,但板子没联网。。。)另一个亮绿灯的口子是正常的

查看一下/etc/network/interfaces内,对应网卡使用的是静态地址,还是DHCP,一般先设置为DHCP。清楚具体如何使用后,再设置为静态的。

  1. ecr6600u重命名没有成功不知道为啥。。。

可以结合dmesg查看一下,响应的信息是否和udev配置中完全匹配

  1. wifi连上后,再插不正常的那个网口,wifi就断了。
    nmtui连接时报错IP configuration could not be reserved (no available address, timeout, etc.)

没有遇到过这个情况,所以暂时没有好的建议。有可能/etc/network/interfaces配置不正确导致。

板子随盒子附赠ECR6600U吗,我在微雪家买,需要额外购买

标注了附赠的才有,默认没有

1 Like

image
我手上USB WiFi 的就是您教程中提到的绿色的板子,既官方提供的WiFi dongle ,奕斯伟ESWIN的ECR6600U。 您的教程刚好能用上,太棒了,非常感谢。

1 Like

参考老师的教程,我也遇到使用ecr6600u重命名没有成功的问题。其它都正常,ecr6600u能正常获取的IP和正常上网。
root@starfive:~# ifconfig -a

wlx2c0547a11ba0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 62:77:7f:9e:d5:ad 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

wlx2c0547a11ba1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.35 netmask 255.255.255.0 broadcast 192.168.3.255
ether 2c:05:47:a1:1b:a1 txqueuelen 1000 (Ethernet)
RX packets 139 bytes 12502 (12.2 KiB)
RX errors 0 dropped 50 overruns 0 frame 0
TX packets 94 bytes 12162 (11.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

此外,我和老师的步骤稍微不同,但是原理是相同的。我的内核编译是在我的linux的仿真环境完成的(VMware+Ubunut20.04.6), 操作过程参考了官方的文档 Updating Kernel 这一章节 Updating Kernel

其它步骤,如重启单板使用新内核,以及nmcli管理无线网卡的连接等,都是参考老师的步骤来进行配置和操作的 :+1:

2 Likes

上次参考老师的思路,通过重新编译包含USB WIFI ECR6600U驱动的内核,并且让VisionFive 2单板工作在这个新的内核的方式,最后通过nmcli命令连接到可用的WIFI网络。这次采用了一个比较简单的方式,直接使用 WiFi dongle。

  1. 烧录了202303的img到Micro-SD Card

  2. 设置VisionFive 2 的Boot Mode为SDIO3.0,并开机启动

  3. 通过串口访问VisionFive 2, 使用lsmod命令查询,确认ecr6600u的驱动已经安装
    root@starfive:/etc/udev/rules.d# lsmod
    Module Size Used by
    wlan_ecr6600u_usb 339968 0
    jpu 24576 0
    vdec 32768 0
    venc 28672 0
    root@starfive:/etc/udev/rules.d#

  4. 查询WiFi dongle的端口
    root@starfive:/etc/udev/rules.d# ifconfig -a

    wlx2c0547a11ba1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
    ether 46:3d:1f:88:3c:db 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

  5. 使用 nmcli连接可用的WiFi,
    5.1 如下命令sudo nmcli device wifi connect 然后tab键,显示WiFi列表,下面第二列内容是WiFi名
    root@starfive:/etc/udev/rules.d# sudo nmcli device wifi connect
    00:66:19:59:F9:08 C8:F7:42:E2:F1:40
    02:E5:8B:84:43:C2 C8:F7:42:E3:F5:18
    02:E5:8B:84:43:D0 C8:F7:42:F3:68:3F
    06:0E:3C:74:42:DE ChinaNet-nVy5
    1701 DC:84:E9:94:1D:86
    18:3C:B7:D6:AE:D4 DE:84:E9:44:1D:86
    3E:E9:0E:D6:F0:67 DIRECT-DE-HP\ Laser\ 108w
    42f3683f Tineco_0730
    8C:68:C8:BB:C4:EC XUSIYUAN

    5.2 接着上面命令输入WiFi名,然后是password和ifname,命令如下(xxx代码WiFi 名, yyy代表 WiFi密码)
    root@starfive:/etc/udev/rules.d# sudo nmcli device wifi connect xxx password
    yyy ifname wlx2c0547a11ba1 &

  6. 再次使用ifconfig -a 命令查询,发现无线端口wlx2c0547a11ba1,已经获取到IP地址, 然后VisionFive 2可以正常上网了。
    root@starfive:/etc/udev/rules.d# ifconfig -a
    wlx2c0547a11ba1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 192.168.3.35 netmask 255.255.255.0 broadcast 192.168.3.255
    inet6 fe80::e26a:505a:5582:5788 prefixlen 64 scopeid 0x20
    ether 2c:05:47:a1:1b:a1 txqueuelen 1000 (Ethernet)
    RX packets 1395 bytes 83360 (81.4 KiB)
    RX errors 0 dropped 1184 overruns 0 frame 0
    TX packets 109 bytes 9338 (9.1 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    root@starfive:/etc/udev/rules.d#

3 Likes

总结的非常棒!

1 Like

编译内核,重新安装内核的风险极高!!!!!!!!!
一不注意,直接GG。只能重新安装系统。

所以最好是找一找这个网卡的芯片在github上有没有开源的驱动,修改MakeFile适配risv,然后下载VF2定制的内核(未阉割版的完整内核), 然后自己编译驱动,安装驱动。可以参考这位老哥的@ dtometzki 这个回答How to compile stuff (in my case Wifi module) on the VF2? - #2 by dtometzki
x86平台的网卡驱动移植到Arm或者Risc 基本原则可以参考:rtl8811cu双频网卡移植到ARM_rtl8821cu移植rk平台_人间凑数的博客-CSDN博客

Hi danny.xu,
Followed the same steps for debian image 202308, able to connect to the network but having an issue where continuous messages are popping up on the console as follows

root@starfive:~# [ 1270.887086] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x0000000085606881
[ 1272.827637] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x0000000085606881
[ 1277.508059] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000c55a1cb7
[ 1279.442358] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000c55a1cb7
[ 1284.368394] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x000000009e4c505b
[ 1286.313734] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x000000009e4c505b
[ 1316.322873] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x0000000098c87e3d
[ 1318.259490] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x0000000098c87e3d
[ 1348.270732] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000872a179b
[ 1350.206306] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000872a179b
[ 1380.220329] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000e5bd7952
[ 1382.155325] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000e5bd7952
[ 1412.171754] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000c480ffcf
[ 1414.110077] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000c480ffcf
[ 1444.128530] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x000000004e4768aa
[ 1446.065813] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x000000004e4768aa
[ 1476.078161] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000207707e1
[ 1478.014405] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000207707e1
[ 1508.029609] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000f35c0ea0
[ 1509.966975] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000f35c0ea0
[ 1539.980618] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x0000000060726626
[ 1541.916850] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x0000000060726626
[ 1571.935762] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000d394d9de
[ 1573.870235] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000d394d9de
[ 1590.638293] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x000000008db1b795
[ 1592.573339] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x000000008db1b795
[ 1624.531769] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000e9f75426
[ 1626.466693] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000e9f75426
[ 1628.321373] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x000000006662f463
[ 1630.261475] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x000000006662f463
[ 1648.902216] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x0000000085606881
[ 1650.839824] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x0000000085606881
[ 1665.183345] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x00000000a7414ddf
[ 1667.118385] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x00000000a7414ddf
[ 1697.131171] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x0000000060726626
[ 1699.068893] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x0000000060726626
[ 1709.521542] [ecrnx] ecrnx_cfg80211_scan:scan_request:0x000000009e4c505b
[ 1711.456340] [ecrnx] ecrnx_rx_scanu_start_cfm: cfm status:0, scan_request:0x000000009e4c505b

updated the uboot/spl to 3.6.1.

Any comments/suggestions on the above issue highly appreciated.

Hi Danny,
Resolved the above issue.
http://forum.rvspace.org/t/usb-module-eswin-6600u