问题标签 [iwconfig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
636 浏览

kernel - 使用无线扩展配置网络设备

我需要在 Linux 主机上为应用程序配置 C 中的网络设备。我阅读了通过 cfg80211 和 mac80211 的 netlink、libnl 和 nl80211。后来我发现我正在使用的设备的驱动程序不支持mac80211接口,所以我无法使用netlink库来配置设备。我剩下的唯一选择是通过使用 ioctl 的无线扩展。所以我一直在阅读 iwconfig 的源代码(iw 使用 netlink 而 iwconfig 使用 wext)。

例如,假设我正在尝试在 80211 适配器上设置通道。无线扩展 ioctl 命令是 SIOCSIWFREQ(根据 iwconfig 和我设备的驱动程序)。根据我的阅读,您打开一个套接字并使用带有“ifreq”结构的 ioctl 来配置网络适配器(参见“man netdevice”)。

问题是,iwconfigure 定义了自己的名为“iwreq”的“ifreq”结构,它看起来完全不同(参见 iwconfig 源代码,有一条评论说这个 iwreq 结构与 ifreq 结构相同)。

ifreq 结构看起来甚至没有设置通道的字段。

所以我的问题是,这个“ifreq”结构在内核中的哪个位置被接收和处理。我在哪里可以找到有关接口的文档(结构中的字段)。

所有 IOCTLS 命令都在 /usr/inlcude/linux/wireless.h 中定义

谢谢!

这是ifreq:

这是iwreq(来自HP无线工具中的wireless.h)

很容易知道如何使用 iwreq 来配置通道、频率字段,但是 ifreq 结构中的标准在哪里?

0 投票
1 回答
272 浏览

python - iwconfig 对使用 crontab @reboot 启动的进程不可用?

这是我在stackoverflow上的第一篇文章,所以请多多包涵:)

我正在尝试从 python 脚本中读取 iwconfig 的输出以确定是否存在 wifi 连接。当我使用 crontab @reboot(用户,而不是 root)运行脚本(通过首先设置目录的 bash 脚本)时,subprocess.check_output(['iwconfig'])总是抛出 [Errno 2]。当我使用 try/except 捕获错误并循环代码时,这甚至是正确的,因此当 Wifi 确实连接时它仍在运行(因为我可以通过手动运行 iwconfig 进行检查)。当我通过相同的 bash 脚本从命令行运行 python 脚本时,它工作正常。我在看什么?

0 投票
1 回答
1498 浏览

ubuntu - iwconfig - /proc/net/wireless 不存在

我正在尝试使用iwconfig来获取有关wlan0. 当我尝试时,我得到:

ifconfig似乎可以正常打印输出(包括连接的 IP 地址)。该机器似乎安装了Wireless Extensions v22,但显示iwconfig --version

经进一步检查,/proc/net/wireless不存在但/proc/net/dev确实存在。我不知道为什么iwconfig不工作和/或不创建文件。连接存在,我可以使用机器上网。

0 投票
0 回答
136 浏览

python - 有没有办法在 for 中使用 os.system?

我制作了一个 bash 脚本,旨在在设备连接到热点时打印有关设备的 IP、MAC 地址、信号强度和设备名称等信息。我想改用python,所以我正在重写它。

当我执行代码时,它只打印 mac 地址和信号强度,并且似乎对 for 循环没有任何作用。我还需要使用一些字符串连接,例如在 os.system() 中使用 python 变量,但为此我读到我必须使用字符串连接作为实现它的简单方法。

第一个循环是找到无线接口 wlan0,第二个是检索两个列表的数据:maclist 和 signallist,其中存储了 mac 地址和信号强度。

输出是这样的:

它应该是这样的:

数据不是问题,因为命令本身可以正常工作,但它既是布局又是使用 os.system() 时显示的事实

PD 在这行代码中,我尝试使用 interface 而不是 wlan0 但它不起作用

0 投票
1 回答
675 浏览

c - 如何使用 libnl 将我的设备连接到 wifi?

我正在创建一个 C 库来管理我的嵌入式设备的许多外设。使用的 SO 是一个用 yocto 编译的 linux dristro。我正在尝试使用 netlink(使用 libnl 命令)创建一些功能以将我的设备连接到 wifi(众所周知)路由器。在这个社区的帮助下,我开发了一个能够扫描区域链接中的路由器的功能。你们中有些人知道如何使用 libnl 命令将我的设备连接到路由器 wifi?

我开发了以下代码,尝试连接到名为“Validator_Test”的 AP(没有用于身份验证的密码)。软件没有返回错误,但我的设备仍然与 ap 断开连接。

0 投票
0 回答
40 浏览

rust - 无法将字符串从 read_line 传递到命令 arg

我有以下执行良好的 rust 例程:

iwconfig它只是在 linux 中以wlan0适配器为目标打印命令的结果。该程序的输出很好。

我的目标是让用户手动输入适配器。如果我执行以下程序并wlan0在提示时手动输入:

我得到以下输出:

wlan0 状态:退出代码:237 标准输出:标准错误:wlan0 没有这样的设备

我究竟做错了什么?为什么硬编码时找到适配器但手动输入时找不到?