基于Linux的USB-wifi配置流程

目录

内核配置

[配置 CFG80211](#配置 CFG80211)

配置usb

[配置 Netlink](#配置 Netlink)

配置DHCP

工作流程

1.连接到无线网络

2.设置网络接口:

3.验证连接:

[4. 接收数据:](#4. 接收数据:)


最近daisy一直忙活这个linux的wifi驱动和bluze蓝牙驱动,相比较蓝牙,WiFi的驱动和内核配置已经简单了很多,还有很多坑🕳需要一点点的踩过才知道。

不过所有的走过的路,踩过的坑,跨过的石头都会成会让自己变得越来越......

|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| author | daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Qt,等方面的知识​编辑https://blog.csdn.net/qq_40715266?type |

内核配置

首先保证Linux设备的内核支持usb以及wifi(其中CFG80211是内核中wifi驱动)

配置****CFG80211

进入内核源码sdk目录,输入make menuconfig

然后到Networking support → Wireless设置cfg80211 和 mac80211

配置usb

如果内核没有开启usb驱动接口,需要进行配置,在设备的sdk环境下输入

make menuconfig->Device Drivers

按空格选选中USB2.0为* 编译到内核

(PS如果选中M将被编译为内核模块(.ko文件)。模块可以在内核运行时动态加载或卸载,如果你不经常使用某些功能,或者想要在不重启内核的情况下添加或移除功能,可以选中M模块化)

Networking support →Networking options → Network packet filtering framework (Netfilter)

当选项为空时进入无内容可选中,按空格切换到*再进入

再IP: Netfilter Configuration ---> 进入选中 <M> ARP tables support

配置DHCP

内核之前一直找不到 DHCP

一个个查看,才发现在IP: kernel level autoconfiguration 的子目录下,只有配置这个*后才会显示 IP: DHCP support 这个是为后续进行配置动态分配ip的前提

工作流程

Linux系统已经成功驱动了USB Wi-Fi设备(这里默认wifi设备已经有固件)并且通过ifconfig -a可以看到名为wlan0的接口,然后通过wifi配置工具进行工作模式的配置(具体可以看我下一篇文章的介绍)

linux环境的wifi配置工具及工作模式区分介绍-CSDN博客

1.连接到无线网络

首先,你需要知道无线网络的SSID(网络名称)和密码。使用iwlist wlan0 scan命令来扫描可用的无线网络。这将列出周围的无线网络及其相关信息,如SSID、加密类型等。

选择你想要连接的网络,使用wpa_supplicant或wpa_passphrase来创建一个安全的配置文件。例如:

wpa_passphrase SSID_PASSWORD > wpa.conf

其中,`SSID_PASSWORD`是你的网络名称和密码(两者之间用空格分隔)。

使用wpa_supplicant连接到网络。打开一个终端窗口并运行:

wpa_supplicant -Dwext -iwlan0 -c wpa.conf -B

`-Dwext`指定使用旧的无线扩展,`-i wlan0`指定了接口,`-c wpa.conf`是配置文件路径,`-B`让wpa_supplicant在后台运行。

2. 设置网络接口:

一旦wpa_supplicant成功连接,你需要将接口设置为up状态并分配IP地址。可以使用dhclient或手动配置IP。通常使用dhclient自动获取IP地址:

dhclient wlan0

或者,如果你的网络需要静态IP,可以手动设置:

ifconfig wlan0 <IP_ADDRESS> netmask <NETMASK> broadcast <BROADCAST_ADDRESS>

route add default gw <GATEWAY_IP>

3.验证连接:

使用ping命令测试网络连接:

ping -c 4 google.com

如果可以收到回应,说明网络连接成功。

4. 接收数据:

接收数据是通过网络接口自动进行的,一旦连接建立,你的系统将自动接收通过该接口的数据。你可以使用tcpdump或wireshark等工具来捕获和查看网络流量,但这通常用于调试或监控目的。

保持连接:为了保持连接,你可能需要在启动时自动运行wpa_supplicant和dhclient。这可以通过添加相关脚本到启动服务或者使用systemd服务来实现。

相关推荐
xmweisi0234 分钟前
Ansible内置模块之package
linux·ansible·rhce·rhca·红帽认证·it培训
xmweisi0235 分钟前
Ansible内置模块之service
linux·ansible·rhce·rhca·红帽认证
大神的风范40 分钟前
从0开始学linux韦东山教程第一三章问题小结(1)
linux·服务器
橙色小博2 小时前
Python中的re库详细用法与代码解析
linux·python·正则表达式·php·re
10000hours2 小时前
【SGL】Scatter-Gather List内存传输技术
linux·数据结构·网络协议·list·存储·sgl
某不知名網友2 小时前
linux_进程地址空间(虚拟地址空间)
java·linux·算法
白总Server2 小时前
微软系统 红帽系统 网络故障排查:ping、traceroute、netstat
linux·运维·服务器·microsoft·中间件·架构·github
朝新_3 小时前
【Linux操作系统】第一弹——Linux基础篇
linux·服务器·网络
dancing9993 小时前
Golang的linux运行环境的安装与配置
linux·服务器·golang
Johny_Zhao4 小时前
堆叠、MLAG、VPC、VSS 技术对比及架构建议
linux·网络·人工智能·python·网络安全·ai·信息安全·云计算·cisco·等保测评·huawei·系统运维