当前位置:首页 > 技术 > LINUX > 正文内容

移植USB RTL8723DU WIFI无线驱动给LINUX【转】

Watrt1年前 (2023-09-01)LINUX6910

为了给手上的duo支持wifi无线,买了一个采用usb接口的RTL8723DU,在内核编译时把所有与RTL无线和RTL蓝牙相关的驱动都选择后,并且在内核配置中将usb设置成host模式。 

image

注意!!如果设置成了host模式,将不能通过rndis连接duo

把网卡接到自己画的扩展版,通过dmesg发现可以识别到设备为无线网卡,并驱动蓝牙,但是在ifconfig中没有找到对应的wlan0。 

image

 推断有可能是内核里面没有针对8723du wifi的驱动。所以需要查询当前的5.10内核是否包含8723du的驱动。

通过以下网址 https://linux-hardware.org/ 

image

并结合dmesg的usb信息 

image

可以得到信息6.3之前的内核是只包含了蓝牙驱动,6.3之后的内核才包含了内核驱动 

image

而当前duo的内核是5.10,不支持,需要移植驱动。

驱动我选择了lwfinger提供的驱动 https://github.com/lwfinger/rtl8723du

以下是具体移植操作步骤:

1、先下载duo-app-sdk https://github.com/milkv-duo/duo-app-sdk  

2、解压duo-sdk.tar.gz

tar zvxf duo-sdk.tar.gz

3、获取rtl8723du的驱动

git clone https://github.com/lwfinger/rtl8723du

4、进入到下载下来的驱动目录

5、执行编译命令

make ARCH=riscv CROSS_COMPILE=交叉编译工具链 KSRC=内核目录绝对路径

交叉编译工具链是sdk目录下的

riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl- 内核绝对路径是buildroot-sdk目录下的 linux_5.10/build/cv1800b_milkv_duo_sd

我自己的编译语句,因为有部分路径是不一样的,不要直接复制使用,供大家参考和修改

make arch=RISCV CROSS_COMPILE=/home/kamin/code/duo-examples/duo-sdk/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl- KSRC=/home/kamin/code/duo-buildroot-sdk/linux_5.10/build/cv1800b_milkv_duo_sd

image

执行完成后,可以看到已经编译好8723du.ko,我们把它上传到duo中 

6、在duo中加载驱动

insmod 8723du.ko

image

再通过dmesg输出信息,我们可以看到成功加载了8723du的驱动 

7、启用WiFi网卡

ifconfig wlan0

8、设置连接信息,编辑duo系统中的 /etc/wpa_supplicant.conf,在network中加入以下两行,加入后保存

ssid="你的WiFi名称" psk="你的WiFi密码"

image

9、连接wifi

wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf &

10、手动设置IP或自动设置IP

通过DHCP获取IP

image

udhcpc -R -n -O search -p /var/run/udhcpc.wlan0.pid -i wlan0 -x hostname:milkv

手动设置静态IP

ifconfig wlan0 192.168.1.119 netmask 255.255.255.0 route add default gw 192.168.1.1

192.168.1.119 为要设置的静态ip

255.255.255.0 为要设置的子网掩码

192.168.1.1 为要设置的网关

image

PING测试

image

分享给朋友:

相关文章

licheepi_zero开发板 buildroot配置 一键编译

licheepi_zero开发板 buildroot配置 一键编译

开贴记录配置最新buildroot-2018.08.使用buildroot自带工具链一键编译生成uboot,kernel,dtb和rootfs.最新稳定版buildroot下载:buildroot-2018.08.02稳定版我配置好的config文件:配置好的.config本人的开发环境是vmware workstation 15 pro+ubuntu 16.04_x64参照沉鱼的帖子荔枝派Zero V3s开发板入坑记录 (TF/SD卡启动)(主线Linux,主线u-boot)做如下配置:1.t...

荔枝派nano(f1c100s)的SPI-Flash系统编译创建全过程

荔枝派nano(f1c100s)的SPI-Flash系统编译创建全过程

前言本文的目标是创建一个运行在SPI-Flash上的精简系统,附带填一些前人没有提及的坑。在开始之前,请先通读官方教程的即食部分(U-Boot)、Linux编译和SPI-Flash系统的创建部分的教程,并搭建好编译工具链。以下我假设你已经按照上面的教程下载好了U-Boot和Linux内核,并且到Buildroot的官网下载好了Buildroot(但没按教程创建config文件)。SPI-Flash的分区结构以下是我这里的分区结构。你可以自由的分配后面两个分区的大小。ID  S...

buildroot编译中的问题

buildroot编译中的问题

在编译中遇到flex 报错。一直过不了。后来发现安装flex bison两个包后解决sudo apt-get install flex bison...

LINUX 使用sendmail邮件备份

LINUX 使用sendmail邮件备份

首先安装:sudo apt-get install sendmail然后在终端可以使用mail来发邮件echo "ESP32固件"|mail -s "esp32" -A "./fw.bin" -r "bak@xxx.com" xb100@qq.com注意很有可能收到的邮件在垃圾箱里面。把发件地址加到白 名单中...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。