网络驱动移植(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
相关推荐
189228048611 小时前
NW728NW733美光固态闪存NW745NW746
大数据·服务器·网络·人工智能·性能优化
我是苏苏3 小时前
Edge浏览器:报告不安全的站点的解决方案
服务器
还是奇怪3 小时前
Linux - 安全排查 3
android·linux·安全
NUZGNAW3 小时前
VMware安装Centos 7
linux·运维·centos
Another Iso3 小时前
CentOs 7 MySql8.0.23之前的版本主从复制
linux·mysql·centos
A7bert7773 小时前
【YOLOv8-obb部署至RK3588】模型训练→转换RKNN→开发板部署
linux·c++·人工智能·python·yolo
筑梦之路3 小时前
linux 系统找出磁盘IO占用元凶 —— 筑梦之路
linux·运维·服务器
LiQiang335 小时前
Ubuntu2404修改国内镜像
linux
杰哥技术分享5 小时前
Ubuntu 22.04安装SQL Server指南
linux·运维·ubuntu·sqlserver
遇见火星5 小时前
ubuntu18.04 升级Ubuntu 20.04
linux·运维·ubuntu·系统升级