繁体   English   中英

Linux -OpenWrt-(未连线)python wlan接口扫描错误

[英]Linux -OpenWrt- (Unwired One) python wlan interface scan error

我想达到的目的是,我希望我的Android应用程序获取具有wlan的设备范围内的所有可用wlan连接的列表(此时该设备是访问点)。 然后,我想告诉该设备要连接到哪个网络。 到现在为止还挺好。

我正在尝试通过python访问我的openwert设备上的wlan模块。 我正在使用[1] python模块。 当我执行以下示例代码时

python iwlist.py wlan0 scanning

我得到错误

Interface does not support scanning

然后,我开始深入研究代码,真正的错误消息是:

Argument list too long

并且此错误来自模块(来自文件iwlibs.py)。 来自的确切代码片段(类Iwrange,update()):

buff, s = iwstruct.pack_wrq(640)
print "Now comes the error"
status, result = iwstruct.iw_get_ext(self.ifname,
                                    pythonwifi.flags.SIOCGIWRANGE,
                                    data=s)

我不知道这是否有帮助,但是我也检查了buff变量,它只是说0x00(我想应该还有其他东西,因为bcz表示内存中有一些地址,但是我当然也可能错了并且缓冲区只是在那里被初始化)。

因此,我不确定问题出在哪里,也许在我看来,对于返回的内容而言,存储空间(或缓冲区?)是否太小。 有人知道我还能尝试什么才能使它正常工作吗?

另外,我还下载了wireless_tools,现在可以使用iwlist。 我还可以扫描并获取所有周围无线局域网的列表。 所以看来硬件工作正常,我只是无法使用python正确访问它

[1] https://pypi.python.org/pypi/python-wifi/0.6.1

就像一个信息一样,我通过更改我一直在使用的模块解决了我的问题。 现在我正在使用[1]。 当我执行这段代码

from wifi import Cell, Scheme
print "%s" %(Cell.all('wlan0'))

我得到了所有周围网络的清单。 然后,我只需选择其中一个(通过SSID)并建立连接

[1] https://wifi.readthedocs.io/en/latest/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM