Raspberry Pi:Типовые проблемы/Проблемы с WiFi? Начните отсюда!

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


// в процессе обработки

Проблемы с WiFi? Начните отсюда![1]

На форуме появляется много постов о проблемах с WiFi, поэтому мы решили написать небольшой гайд о решении этих проблем.

Проверяем, видит ли система WiFi-адаптер

Открываем терминал и вписываем команду

lsusb

. Если все в порядке, в итоговой выдаче должна появиться информация о WiFi-адаптере:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 0846:9041 NetGear, Inc. WNA1000M 802.11bgn [Realtek RTL8188CUS]

Если вы ее видите, это значит, что WiFi-адаптер, скорее всего, работает. Если вы ее не видите, это значит, что система не видит WiFi-адаптер. Если вы используете USB-хаб с внешним питанием, попробуйте воткнуть WiFi-адаптер в другой слот. Если вы не используете USB-хаб с внешним питанием, то имеет смысл сначала попробовать именно его.

Проверяем, загрузились ли модули

Запускаем

lsmod

и с его помощью проверяем, загрузились ли модули для WiFi-адаптера. Имя модуля изменится в зависимости от модели используемого WiFi-адаптера. К примеру, если вы используете WiFi-адаптер RTL8188CUS (из примера выше),

lsmod

покажет следующую выдачу (обратите внимание, что загрузился модуль 8192c):

Module          Size    Used by
i2c_dev         4562    0
snd_bcm2835     12859   0
snd_pcm         60411   1   snd_bcm2835
snd_seq         44988   0
snd_timer       16257   2   snd_pcm,snd_seq
snd_seq_device  4265    1   snd_seq
snd             41809   5   snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
snd_page_alloc  3176    1   snd_pcm
spidev          4259    0
8192cu          458649  0
leds_gpio       1920    0
led_class       2329    1   leds_gpio
spi_bcm2708     3974    0
i2c_bcm2708     3108    0

А если вы используете WiFi-адаптеры типа RT5370, то увидите модуль rt2800usb. Если модуль на месте, то значит, что драйверы загрузились нормально.

Проверяем сетевую WiFi-плату

Запускаем команду

ifconfig –a

и проверяем выдачу. Там должна появиться «wlan0» – как здесь:

wlan0 Link encap:Ethernet HWaddr 00:00:aa:11:22:33
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes (0.0 B)

Если вы ее не видите, это значит, что вашему девайсу не хватает прошивки. Ниже список пакетов с прошивками для самых распространенных девайсов:

  • firmware-ralink – для девайсов Ralink (RT5370/RT3070/т.д.)
  • firmware-realtek – для девайсов Realtek (RTL8188CUS/т.д.)
  • firmware-atheros – для девайсов Atheros

Установка прошивки на Raspbian выполняется при помощи команды

apt-get install <название прошивки>

. Установив прошивку, вытащите и снова воткните WiFi-адаптер, а затем еще раз запустите команду

ifconfig –a

, чтобы проверить, видно ли девайс теперь. Если не видно, попробуйте перезагрузиться.

Проверяем настройки WiFi

С этого момента все становится чуточку сложнее. Если вы, запуская

ifconfig –a

, видите «wlan0», но при этом доступа в сеть все равно нет, надо убедиться, что WiFi-адаптер получил IP-адрес и подключился к WiFi-сети.

Для Raspbian нужно проделать следующее:

Проверяем

/etc/network/interfaces

на предмет того, в порядке ли настройки WiFi. Это можно сделать в файле

interfaces

, или настройки могут быть привязаны к другому файлу через параметры «wpa-roam» и «wpa-conf» в

/etc/network/interfaces

. Далее проверяем, верны ли сетевые настройки – в частности, если вы хотите, чтобы подключение к сети прошло успешно, SSID и PSK должны точно соответствовать сетевой WiFI-плате. После того, как вы поменяли настройки, их нужно применить – для этого запустите команду

sudo ifdown wlan0 && sudo ifup wlan0

.

Теперь при запуске WiFi в ход пойдут именно эти настройки.

WiFi не подключается при запуске

Если WiFi работает после запуска

ifup wlan0<.syntaxhighlight>, но не работает, когда вы перезагружаете Pi, вам надо снова проверить файл <syntaxhighlight lang="bash">/etc/network/interfaces<.syntaxhighlight>. Ищите в нем строчки, которые начинаются со слова '''auto''' – вам нужна та, которая называется <syntaxhighlight lang="bash">auto wlan0<.syntaxhighlight>.

Если этой строчки нет, то добавьте ее. Благодаря ей Pi активирует сетевую '''WiFi'''-плату автоматически, а она, в свою очередь, подключится к '''WiFi'''-сети.

===Как изменить настройки WiFi?===

По умолчанию в файле <syntaxhighlight lang="bash">/etc/network/interfaces

есть следующая строчка:

wpa-roam /etc/wpa-supplicant/wpa_supplicant.conf

Содержимое этого файла должно быть примерно таким:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="network-name"
        psk="network password"
}

Если этого файла нет или в нем указано не то, что нужно, обновите его содержимое, чтобы WiFi-адаптер смог подключиться к сети.

Как настроить WiFi на использование статичного IP-адреса?

В файле

/etc/network/interfaces

должны быть следующие строчки:

auto wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

Чтобы использовать статический IP-адрес, вам нужно добавить несколько строчек и поменять dhcp на static, после чего все это должно выглядеть следующим образом:

auto wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet static
address 10.1.1.2
netmask 255.255.255.0
gateway 10.1.1.1

Этот блок запустит сетевую WiFi-плату wlan0, затем подключится к WiFi-сети, информация о которой указана в файле

wpa_supplicant.conf

, и выставит адрес на 10.1.1.2.

Убедитесь, что WiFi-сеть можно определить.

Если Pi по-прежнему не подключается, убедитесь, что она видит WiFi-сеть. Это можно сделать при помощи команды wpa_cli, но ее нужно запустить как корневую:

wpa_cli scan && sleep 5 && wpa_cli scan_results

Эта команда должна показать список доступных WiFi-сетей, и если вашей сети в этом списке нет, попробуйте расположить Pi или WiFi-роутер где-нибудь в другом месте. Как правило, вышеперечисленных действий достаточно, чтобы решить проблемы с WiFi и, наконец, выйти в сеть.

См.также

Внешние ссылки