2016-05-28 5 views
0

То, что я пытаюсь достичь, я хочу, чтобы мое приложение Android получило список всех доступных подключений wlan в пределах диапазона устройства с wlan (при этом точка устройства является точкой доступа). Затем я хочу сообщить этому устройству, к какой сети подключиться. Все идет нормально.Linux -OpenWrt- (Unwired One) ошибка проверки интерфейса python wlan

Я пытаюсь получить доступ к модулю wlan на устройстве openwert через python. Я использую этот [1] модуль python. Когда я выполнить следующий пример кода

python iwlist.py wlan0 scanning 

я получаю ошибку

Interface does not support scanning 

Потом я начал копать внутри кода, и сообщение реальной ошибки это:

Argument list too long 

, и эта ошибка исходит от модуля (из файла iwlibs.py). Точный фрагмент кода (класс Iwrange, обновление()), где он пришедший от:

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

Я не знаю, если это какая-либо помощи, но я также проверил переменный бафф, и он просто говорит 0x00 (я предполагаю, должен быть какой-то другой материал тоже bcz, он указывает на какой-то адрес в памяти, но, конечно, я тоже ошибаюсь, и буфер там просто инициализируется).

Итак, я не уверен, в чем проблема, мне кажется, возможно, что пространство резервного копирования (или буфера?) Слишком мало для материала, которое является returnd. Кто-нибудь знает, что еще я мог попробовать, чтобы заставить это работать?

И еще одно, я также скачал wireless_tools, и теперь могу использовать iwlist. Я также могу отсканировать и получить список всех окружающих сетей wlan. Поэтому кажется, что оборудование работает нормально, я просто не доступ к ней должным образом с питоном

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

ответ

0

Подобно тому, как информация, я решил свою проблему путем изменения модуля я использую. Теперь я использую [1]. Когда я выполняю этот код

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

Я получаю список со всеми близлежащими сетями. Затем мне нужно выбрать один из них (по SSID) и сделать мое соединение

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

 Смежные вопросы

  • Нет связанных вопросов^_^