当前位置: 首页 > news >正文

网络驱动移植(RTL8189)

1、把驱动放到内核文件夹中(linux/drivers/net/wireless),对应的驱动可以在网上下载

2、修改该目录下的Kconfig和Makefile文件

3、配置内核(make menuconfig)

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

配置支持Wifi设备

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

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

 6、对网络进行配置

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

openssl库移植

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库移植

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移植

tar -vxzf wpa_supplicant-2.7.tar.gz
cd wpa_supplicant/
cp defconfig .config

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

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
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网卡

ifconfig wlan0 up

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

内容:

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

创建/var/run/wpa_supplicant目录

mkdir /var/run/wpa_supplicant -p

连接WiFi

wpa_supplicant -Dnl80211 -c /etc/wpa_supplicant.conf -i wlan0 &

获取IP地址

udhcpc -i wlan0

如果此时ifconfig没有IPV4地址

输入一下命令

ifconfig wlan0 192.168.2.101


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

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

①把windows防火墙关了

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

 

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

route add default gw 192.168.2.1 dev wlan0
http://www.lryc.cn/news/405903.html

相关文章:

  • go语言中map学习
  • 【C#】| 与 及其相关例子
  • 【数据结构 | 哈希表】一文了解哈希表(散列表)
  • go创建对象数组
  • Golang | Leetcode Golang题解之第278题第一个错误的版本
  • 自动化网络爬虫:如何它成为提升数据收集效率的终极武器?
  • 软件测试---测试需求分析
  • Android11 framework 禁止三方应用通过广播开机自启动-独立方案
  • Node:解决Error: error:0308010C:digital envelope routines::unsupported的解决方法
  • spring boot(学习笔记第十四课)
  • Android 11 Unable to start/bind service
  • 走难而正确的路并持之以恒
  • 规范:Redis规范
  • 比较 WordPress 、 Baklib 和 BetterDocs
  • Redis 哨兵搭建
  • HackTheBox--Knife
  • Linux_实现TCP网络通信
  • 正则表达式与文本三剑客之grep
  • 微信小程序开发:项目程序代码构成
  • 【云原生】Kubernetes微服务Istio:介绍、原理、应用及实战案例
  • 【Docker】Docker-consul容器服务自动发现与注册
  • Go 1.22 remote error: tls: handshake failure
  • 迈向通用人工智能:AGI的到来与社会变革展望
  • 大模型额外篇章三:vercel搭建openai中转服务器
  • 使用 jQuery 中的 this 实例
  • 下载最新版Anaconda、安装、更换源、配置虚拟环境并在vscode中使用
  • 极狐GitLab Git LFS(大文件存储)如何管理?
  • 迭代学习笔记
  • 【安全】系统安全设计规范(DOC完整版)
  • windows常用命令整理