基于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服务来实现。

相关推荐
2035去旅行8 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希1239 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡10 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.13 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道13 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.16 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落18 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨18 小时前
WSL2的安装与使用
linux·wsl
微小的鱼18 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng19 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器