[英]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]。 当我执行这段代码
from wifi import Cell, Scheme
print "%s" %(Cell.all('wlan0'))
我得到了所有周围网络的清单。 然后,我只需选择其中一个(通过SSID)并建立连接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.