Raspberry Pi:Типовые проблемы/Проблемы с WiFi? Начните отсюда!: различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «{{Перевод от Сubewriter}}» на «{{Перевод от Сubewriter}} {{Myagkij-редактор}}») |
Myagkij (обсуждение | вклад) |
||
Строка 142: | Строка 142: | ||
==См.также== | ==См.также== | ||
{{ads}} | |||
==Внешние ссылки== | ==Внешние ссылки== | ||
<references /> | <references /> |
Версия от 19:03, 5 мая 2022
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
// в процессе обработки
Проблемы с 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 и, наконец, выйти в сеть.