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

相关推荐
朝九晚五ฺ3 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream3 小时前
Linux的桌面
linux
xiaozhiwise4 小时前
Makefile 之 自动化变量
linux
意疏6 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu6 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿6 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K84097 小时前
Flink整合Hudi及使用
linux·服务器·flink
1900438 小时前
linux6:常见命令介绍
linux·运维·服务器
Camellia-Echo8 小时前
【Linux从青铜到王者】Linux进程间通信(一)——待完善
linux·运维·服务器