То, что я пытаюсь достичь, я хочу, чтобы мое приложение для Android получило список всех доступных соединений wlan в пределах диапазона устройства с wlan (в этот момент устройство является точкой доступа). Затем я хочу сообщить этому устройству, к какой сети подключаться. Все идет нормально.
Я пытаюсь получить доступ к модулю wlan на моем устройстве openwert через python. Я использую этот [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 (я думаю, должны быть и другие вещи, потому что это указывает на какой-то адрес в памяти, но, конечно, я тоже могу ошибаться а буфер там как раз инициализируется).
Итак, я не уверен, в чем проблема, мне кажется, может быть, что резервное пространство (или буфер?) слишком мало для возвращаемого материала. Кто-нибудь знает, что еще я мог бы попробовать, чтобы заставить это работать?
И еще, я также скачал wireless_tools и теперь могу пользоваться iwlist. Я также могу сканировать и получить список всех окружающих сетей WLAN. Итак, кажется, что оборудование работает нормально, я просто не обращаюсь к нему должным образом с помощью python.