在rk3568移植rtl8723du,配置成wifi ap模式

1、在路径添加rtl8723du模块代码

kernel/drivers/net/wireless/rockchip_wlan

添加rtl8723du

下载

 https://download.csdn.net/download/u011425939/87810568?spm=1001.2014.3001.5503

 2、修改Makefile

修改对应的路径

修改交叉编译的工具的路径和内核路径

 3、修改rockchip_wlan目录下的Makefile

添加这个 obj-$(CONFIG_RTL8723DU) += rtl8723du/

4、修改rockchip_wlan目录下的Kconfig

添加 source "drivers/net/wireless/rockchip_wlan/rtl8723du/Kconfig"

5、修改kernel/arch/arm64/configs/rockchip_linux_defconfig

添加CONFIG_RTL8723DU=y

6、配置完成make编译

在kernel目录下的.config 配置文件查看是否有

 编译完成可以生成如下模块驱动

rtl8723du.ko 就是模块驱动

7、硬件设置如下

GPIO3_B7 IO控制这wifi的电压所以要配置DTS拉高 io口

 修改文件rk3568-evb1-ddr4-v10.dtsi

添加如下

    //wifi
    wireless_wlan {
        compatible = "wlan-platdata";    
        wifi_chip_type = "rtl8723du";
        rockchip,grf = <&grf>;
        WIFI,poweren_gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
        keep_wifi_power_on;
        status = "okay";
    };

重新编译kernel

8、安装驱动

insmod /mnt/rtl8723du.ko ifname=ra0

9、开启udhcpd

cd buildroot
make busybox-menuconfig
确保Networking Utilities->udhcpd (DHCP server)为’*’,保存修改
make busybox-update-config

 在文件buildroot/package/busybox/busybox.config增加了如下几个宏定义

./build.sh buildroot

在文件buildroot/output/rockchip_rk3568/build/busybox-1.34.1/.config中也增加了个宏定义

最终在目录buildroot/output/rockchip_rk3568/target/usr/sbin中有了udhcpd

 

cd kernel
make menuconfig
确保Networking support->Networking options->IP: DHCP support为’*’
cd ..
./build.sh kernel

 重新下载kernel 和rootfs

10 、移植hostapd

下载wpa_supplicant_8_M_6.x_rtw_r17190.20160415.tar,解压修改Makefile、.config

生成hostapd、hostapd_cli

拷贝到目录buildroot/output/rockchip_rk3568/target/usr/sbin

下载 

https://download.csdn.net/download/u011425939/87811098

11、启动ra0 wifi接口

ifconfig ra0 up

 12、运行hostapd

创建文件hostapd.conf,添加内容如下

touch /tmp/hostapd.conf

ctrl_interface=/tmp/run/hostapd
interface=ra0
driver=nl80211
ssid=wifi_ap33
channel=1
auth_algs=3
hw_mode=g
max_num_sta=64
ap_max_inactivity=300
wpa=3
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
ieee80211n=1
ht_capab=HT40+

创建目录mkdirr/tmp/run 

 13、创建网桥 br0 ,添加ra0

root@RK356X:~]# brctl addbr br0
[root@RK356X:~]# ifconfig br0 192.168.63.1
[root@RK356X:~]# brctl addif br0 ra0
[root@RK356X:~]# 

 14、添加地址转发

[root@RK356X:~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@RK356X:~]# iptables  -t nat  -F
[root@RK356X:~]# iptables -t nat -A POSTROUTING -o eth0 --jump MASQUERADE
[root@RK356X:~]# 

route 查询默认网关

iptables  -t nat  -L 是否添加了eth0 转发

 15、运行udhcpd

创建文件 touch /tmp/udhcpd.conf

start 192.168.63.2
end 192.168.63.254
interface br0
opt dns 114.114.114.114
option subnet 255.255.255.0
opt router 192.168.63.1
option domain local
option lease 864000

提示错误,创建文件 touch /tmp/udhcpd.leases

[root@RK356X:/tmp]# touch udhcpd.leases
[root@RK356X:/tmp]# 

 

 地址被占用

执行命令
 

ps aux 

杀死进程dnsmasq

[root@RK356X:/tmp]# kill -9 689
[root@RK356X:/tmp]# 

再运行 udhcpd

15 、ping 8.8.8.8  

 

 如果网络可以通

16、手机连接wifi_ap33

输入密码

测试结果可以上外网

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值