Linux: «wilist wlan0 scan» не работает, когда подключен Wi-Fi

Созданный на 4 апр. 2015  ·  9Комментарии  ·  Источник: raspberrypi/linux

Привет,

Вплоть до версии 3.12.36+ #737 (14 января) (https://github.com/Hexxeh/rpi-firmware/commits/master?page=2) я мог связать свой WiFi и запустить «сканирование iwlist wlan0» и получить список обнаруженных точек доступа.

Однако после этой версии, когда WiFi подключен и я запускаю команду «sudo iwlist wlan0 scan», я получаю

«Интерфейс wlan0 не поддерживает сканирование: устройство или ресурс занят»

Не уверен, в чем проблема, но я подозреваю, что что-то изменилось с драйверами WiFi.

Мой WiFi-ключ - ASUS N53.

Я нашел это https://wikidevi.com/wiki/ASUS_USB-N53 , в котором говорится, что используемые драйверы - это rt2800usb. Из того, что я вижу, драйверы установлены в моем RPi. И, опять же, это меня сбивает с толку, потому что раньше все работало нормально, но похоже, что после версии 3.12.36+ #737 (14 января) для конкретной карты, которая у меня есть, сканирование не работает, когда подключен WiFi. Все, что я сделал, это обновил свой RPi до последней версии с помощью apt-get.

Команда сканирования отлично работает, когда я использую другие ключи WiFi (которые используют другие драйверы). Похоже проблема в конкретном драйвере.

[email protected] :~:$ lsusb
Шина 001 Устройство 002: ID 0424:9514 Standard Microsystems Corp.
Шина 001 Устройство 001: ID 1d6b:0002 Корневой концентратор Linux Foundation 2.0
Шина 001 Устройство 003: ID 0424:ec00 Standard Microsystems Corp.
Шина 001 Устройство 004: ID 04ca:004b Lite-On Technology Corp.
Шина 001 Устройство 005: ID 0b05:179d ASUSTek Computer, Inc. Сетевой адаптер USB-N53 802.11abgn [Ralink RT3572]

Самый полезный комментарий

MrEngman, похоже, это проблема времени. Вот что я сделал.

Я скачал исходный код беспроводных инструментов v30 отсюда: https://code.google.com/p/rtl8192cu/source/browse/wireless_tools/wireless_tools.30.rtl.tar.gz?r=bdd3a2265bdd6a92f24cef3d52fa594b2844c9c1&spec=svnd65922d040ce277ebbea1b21ec12744

Если вы извлечете его, вы найдете файл iwlist.c в папке wireless_tools/wireles_tools.30.rtl/. Отредактируйте его и измените

тайм-аут = 15000000;

к

тайм-аут = 30000000;

Скомпилируйте с помощью make и попробуйте запустить сканирование при подключенном беспроводном интерфейсе. На этот раз вы увидите результаты.

Все 9 Комментарий

Вывод команды lsusb , который вы показываете, сбивает с толку, потому что он не для Asus N53, не так ли?

Вы правы, мистер Энгман. Я исправил это. Я не знал, что найду тебя здесь! Сначала я опубликовал эту проблему на https://github.com/Hexxeh/rpi-firmware/ , и мне сказали, что это лучшее место для ее размещения.

Ну, если у вас есть обновление, пожалуйста, дайте мне знать.

Только что получил Asus N53 и подключился к моему Pi B2, он сразу же появился, однако есть странность с командой сканирования. Если я использую команду iwlist wlan0 scan , она отображает результаты сканирования. Если я использую команду sudo iwlist wlan0 scan , я получаю сообщение об ошибке wlan0 Failed to read scan data : Resource temporarily unavailable . Но я совершенно уверен, что он выполняет сканирование, потому что, если я снова использую команду iwlist wlan0 scan , он отображает результаты сканирования, но они отличаются от предыдущего отображения с использованием этой команды. Затем повторите эту команду, и результаты никогда не изменятся.

Используя команду iwlist wlan0 scan , он отображает результаты, хранящиеся где-то на SD-карте, не знаю где, когда он в последний раз выполнял сканирование. Если я повторю команду, результаты останутся прежними. Если я затем использую команду sudo iwlist wlan0 scan , она возвращает ошибку, о которой я говорил выше, но если я затем использую команду iwlist wlan0 scan , она отображает результаты, и, по крайней мере, для меня они отличаются от предыдущих результатов, которые были отображается. Повтор iwlist wlan0 scan и результаты сканирования отображаются в списке, и они не меняются независимо от того, сколько раз я повторяю команду. Запуск sudo iwlist wlan0 scan снова возвращает ошибку, но затем снова с помощью команды iwlist wlan0 scan отображаются результаты сканирования, но теперь они отличаются от предыдущих отображений. Но снова повторяю команду, и результаты не меняются, пока я снова не запущу команду с sudo

Для меня кажется, что sudo iwlist wlan0 scan делает сканирование, но почему-то не отображает их, но они хранятся где-то на SD-карте. Затем команда iwlist wlan0 scan отображает сохраненные результаты, и повторение команды всегда будет возвращать одни и те же результаты. Запуск команды с помощью sudo затем снова просканирует и сохранит данные, но выдаст ошибку. При повторном использовании iwlist wlan0 scan теперь будут отображаться новые данные сканирования с использованием sudo .

Почему использование sudo iwlist wlan0 scan возвращает ошибку, я не знаю. Возможно проблема с драйвером, я не уверен. Если я использую другой адаптер Wi-Fi, команда sudo iwlist wlan0 scan работает нормально и отображает результаты сканирования.

Я вижу, что вы говорите. Я предполагаю, что описанное вами поведение связано с подключением WiFi.

В моем случае, когда Wi-Fi не связан, «сканирование sudo iwlist wlan0» работает нормально и не возвращает ошибку.

Было бы интересно попробовать это на RPi с ядром 3.12.36+ #737 (думаю, это не может быть RPi 2). В моем случае «sudo iwlist wlan0 scan» возвращает результаты просто отлично, когда он связан.

Я не знаю, есть ли способ запустить ядро ​​RPi 2 с 3.12.36+ #737. Можно ли это сделать?

Спасибо, что изучили это.

Вы не сможете запустить 3.12.36+ на Pi B2.

Да, Wi-Fi был связан, когда я пробовал сканирование. Мне интересно, является ли это какой-то проблемой синхронизации, потому что у меня есть модуль Wi-Fi Edimax EW-7811UTC, который отлично работает на старых Pi, но на Pi B2 вызывает сбой ядра. Так что, возможно, какая-то проблема с Pi B2.

Я нашел этот пост об изменении драйвера, и мне интересно, применимо ли это в этом случае:

http://stackoverflow.com/questions/18277465/why-does-iwlist-scan-return-cached-results-почти-каждый раз

MrEngman, похоже, это проблема времени. Вот что я сделал.

Я скачал исходный код беспроводных инструментов v30 отсюда: https://code.google.com/p/rtl8192cu/source/browse/wireless_tools/wireless_tools.30.rtl.tar.gz?r=bdd3a2265bdd6a92f24cef3d52fa594b2844c9c1&spec=svnd65922d040ce277ebbea1b21ec12744

Если вы извлечете его, вы найдете файл iwlist.c в папке wireless_tools/wireles_tools.30.rtl/. Отредактируйте его и измените

тайм-аут = 15000000;

к

тайм-аут = 30000000;

Скомпилируйте с помощью make и попробуйте запустить сканирование при подключенном беспроводном интерфейсе. На этот раз вы увидите результаты.

@pvouzis ваша проблема решена? Если да, то прошу закрыть эту тему.

Закрытие в связи с отсутствием активности. Откройте снова, если считаете, что этот вопрос все еще актуален.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги