网络驱动移植(RTL8189)

1、把驱动放到内核文件夹中(linux/drivers/net/wireless),对应的驱动可以在网上下载
2、修改该目录下的Kconfig和Makefile文件

配置支持IEEE 802.11,选中8189模块,这里选择直接编译进内核,也可选择编译成模块,然后再动态加载即可。

配置支持Wifi设备

4、编译内核(make)
5、用新的内核镜像重新启动开发板

输入命令ifconfig -a,出现wlan0说明模块加载成功,这就是RTL8189对应的网卡

6、对网络进行配置

对无线网络进行配置需要借助一些工具(wpa_supplicant),wpa_supplicant依赖于openssl和libnl库,所以需要先交叉编译好这两个库

openssl库移植

cpp 复制代码
tar -xvf openssl-1.1.1d.tar.gz
mkdir openssl
./Configure linux-armv4 shared no-asm --prefix=/home/yan/linux/IMX6ULL/tool/openssl CROSS_COMPILE=arm-linux-gnueabihf-
make
make install

最后将lib下的libcrypto、libssl库拷贝到根文件系统lib目录下

libnl库移植

cpp 复制代码
tar -vxzf libnl-3.2.23.tar.gz
mkdir libnl
./configure --host=arm-linux-gnueabihf --prefix=/home/yan/linux/IMX6ULL/tool/libnl/
make
make install

最后将lib目录下所有文件拷贝到根文件系统/usr/lib目录下

wpa_supplicant移植

cpp 复制代码
tar -vxzf wpa_supplicant-2.7.tar.gz
cd wpa_supplicant/
cp defconfig .config

打开.config文件,在里面指定交叉编译器、openssl、libnl库的头文件路径

cpp 复制代码
CC = arm-linux-gnueabihf-gcc

#openssl 库和头文件路径
CFLAGS += -I/home/yan/linux/IMX6ULL/tool/openssl/include
LIBS += -L/home/yan/linux/IMX6ULL/tool/openssl/lib -lssl -lcrypto

#libnl 库和头文件路径
CFLAGS += -I/home/yan/linux/IMX6ULL/tool/libnl/include/libnl3
LIBS += -L/home/yan/linux/IMX6ULL/tool/libnl/lib
cpp 复制代码
export PKG_CONFIG_PATH=/home/yan/linux/IMX6ULL/tool/libnl/lib/pkgconfig:$PKG_CONFIG_PATH
make

编译结束后会在当前目录下生成wpa_cli和wpa_supplicant两个工具,把它拷贝到根文件系统的/usr/bin目录下

7、WiFi联网

打开wlan0网卡

cpp 复制代码
ifconfig wlan0 up

在etc目录下创建wpa_supplicant.conf文件

内容:

cpp 复制代码
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="ChinaNet-53F3" 
psk="88888888"   
}

创建/var/run/wpa_supplicant目录

cpp 复制代码
mkdir /var/run/wpa_supplicant -p

连接WiFi

cpp 复制代码
wpa_supplicant -Dnl80211 -c /etc/wpa_supplicant.conf -i wlan0 &

获取IP地址

cpp 复制代码
udhcpc -i wlan0

如果此时ifconfig没有IPV4地址

输入一下命令

cpp 复制代码
ifconfig wlan0 192.168.2.101

以下是驱动移植遇到的问题:

开发板网卡已经起来并且有IP地址了,但是ping windows ping不通,ping ubuntu也不通,但是windows 和 Ubuntu ping开发板可以。

①把windows防火墙关了

②Ubuntu和开发板不在同一网段,解决办法:手动配置一下IP地址

之后ping百度好像也不通:没有设置网关

cpp 复制代码
route add default gw 192.168.2.1 dev wlan0
相关推荐
城南观北23 分钟前
Ubuntu 解决 apt 锁占用 + 安装 net-tools + 搭建 SSH 远程连接(保姆级实操)
linux·ubuntu·ssh
xingyuzhisuan28 分钟前
从零精通GPU服务器模型部署:标准化流程与性能调优实战
运维·服务器·人工智能
s_w.h36 分钟前
【 linux 】文件管理与重定向
linux·运维·服务器
Cloud_Shy61842 分钟前
Linux 系统定时任务 Cron(d) 服务应用实践(二:生产环境下的用户定时任务)
linux·运维·服务器·centos·云计算
STDD1 小时前
strace 和 perf:Linux 进程调试和性能分析深度指南
linux·运维·php
Rain5091 小时前
05. mini-cc 工具系统:让 AI 拥有动手能力
linux·前端·人工智能·ubuntu·typescript·ai编程
都在酒里1 小时前
Linux字符设备驱动开发(五):PWM调光——实现LED亮度控制与呼吸灯效果
linux·运维·驱动开发
爱喝水的鱼丶1 小时前
SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第六篇:ABAP 7.40+新特性:声明语法的简化写法与兼容注意事项
运维·服务器·开发语言·学习·算法·sap·abap
虾壳云官方1 小时前
OpenClaw 绑定企业微信完整指南
服务器·前端·网络·人工智能·企业微信·open claw·小龙虾
Hani_971 小时前
Code Coverage系列(三)gcov 是什么?做什么?两个参数?检测原理?gcno文件内容?gcda文件内容?
linux·代码覆盖率