【RV1103/RV1106】RTL8188EU USB网卡驱动调试

【RV1103/RV1106】RTL8188EU USB网卡驱动调试最近在学 linux 的东西 买了 luckfox 的开发板

大家好,欢迎来到IT知识分享网。

简介

移植过程

移植的过程分为以下几个步骤:

  1. 下载rtl8188eu驱动源码,并修改MakeFile文件
  2. linux内核配置
  3. 修改编译相关配置
  4. 设备树修改
  5. RK_wifi源码修改
  6. wifi默认账号密码

下载rtl8188eu驱动,并修改MakeFile文件

ARCH ?= arm CROSS_COMPILE ?= KVER ?= $(if $(KERNELRELEASE),$(KERNELRELEASE),$(shell uname -r)) KSRC ?= $(KERNEL_DIR) MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/staging/r8188eu/ INSTALL_PREFIX := 

154行的modules改成:

modules: $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd) modules cp $(shell pwd)/8188eu.ko $(M_OUT_DIR) @mkdir -p $(SYSDRV_DIR_OUT_ROOTFS)/lib/firmware/rtlwifi cp $(shell pwd)/rtl8188eufw.bin $(SYSDRV_DIR_OUT_ROOTFS)/lib/firmware/rtlwifi/ 

linux内核配置

配置支持USB 设备

Device Drivers ---> [*] USB support ---> <*> EHCI HCD (USB 2.0) support <*> ChipIdea Highspeed Dual Role Controller [*] ChipIdea device controller [*] ChipIdea host controller 

配置支持WiFi设备

Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> <*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP) [*] Support downloading firmware images with Host AP driver [*] Support for non-volatile firmware download [*] Realtek devices <*> Realtek rtlwifi family of devices ---> <*> RTL8723AU/RTL8188[CR]U/RTL819[12]CU (mac80211) support [*] Include support for untested Realtek 8xxx USB devices (EXPERIMENTAL) 

配置支持IEEE 802.11

[*] Networking support ---> -*- Wireless ---> <*> cfg80211 - wireless configuration API <*> Generic IEEE 802.11 Networking Stack (mac80211) 

修改编译相关配置

  1. 打开project/cfg/BoardConfig_IPC/*.mk (备注:你使用的是哪个板子就选择哪个mk文件),将以下代码添加到最后一行:
export RK_ENABLE_WIFI=y 
  1. 打开sysdrv/drv_ko/wifi/MakeFile文件,找到”build-usb:”和”build-usb-clean:”标签,添加rtl8188eu编译相关的代码:
 build-usb: @make -C rtl8188ftv/ @make -C ssv6x5x/ @make -C rtl8188eu/ 
build-usb-clean: @make -C rtl8188ftv clean @make -C ssv6x5x clean @make -C rtl8188eu clean 
  1. 打开sysdrv/drv_ko/wifi/insmod_wifi.sh文件,在第44、45行空白处添加:
#rtl18188eu cat /sys/bus/usb/devices/*/uevent | grep "bda\/179" if [ $? -eq 0 ];then insmod cfg80211.ko insmod 8188eu.ko fi 

设备树修改

修改对应的设备树,将USB模式设置为host模式。

&usbdrd_dwc3 { 
    status = "okay"; dr_mode = "host"; }; 

RK_wifi源码修改(重点)

  1. 打开project/app/wifi_app/wifi/src/Rk_wifi.c文件,将942行-958行代码改成:
 if (access("/data/cfg/wpa_supplicant.conf", F_OK) == 0) { 
    exec_command_system("wpa_supplicant -B -i wlan0 -c /data/cfg/wpa_supplicant.conf -Dwext"); } else { 
    if (access("/etc/wpa_supplicant.conf", F_OK) == 0) { 
    //check /data write? if (exec_command_system("cp /etc/wpa_supplicant.conf /data/wpa_supplicant.conf") == 0) exec_command_system("wpa_supplicant -B -i wlan0 -c /data/wpa_supplicant.conf -Dwext"); else exec_command_system("wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -Dwext"); } else { 
    pr_info("Don't found wpa_supplicant.conf so RK_wifi_enable failed!\n"); gstate = RK_WIFI_State_OFF; wifi_onoff_flag = false; wifi_state_send(gstate, NULL); } } 
  1. 将979行的
exec_command_system("dhcpcd wlan0 -AL -t 0 &"); 

改成:

exec_command_system("udhcpc -i wlan0 -t 5 &"); 

wifi默认账号密码

打开project/app/wifi_app/wpa_supplicant.conf,修改成你自己的wifi账号密码:

network={ 
    ssid="iPhone" psk="" key_mgmt=WPA-PSK } 

注意:WPA-PSK不要动,WPA和WPA2都是用这个。

总结

编译下载上电运行,能自动连接到我的手机热点,并且自动获取到了ip。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126656.html

(0)
上一篇 2025-09-16 21:33
下一篇 2025-09-16 21:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信