LINUX.ORG.RU

Не могу запустить WiFi на USB-свистке ZyXEL NWD2105 в чистой консоли

 , , ,


0

1

Пытаюсь получить WiFi-сеть, использую ZyXEL NWD2105. Сеть надо получить в консоли на очень слабом железе без этих ваших NetworkManager и WiCd, чтобы в памяти ничего лишнего не болталось и процессорное время не выжиралось (Intel Celeron M processor 630MHz, RAM 512Mb).

Вот какие действия я совершаю:

> # Что увидело ядро
> dmesg | grep -i phy
[   34.915284] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
[   34.945194] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected
[   34.945612] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'


> # Что на шине USB
> lsusb | grep -i wireless
Bus 001 Device 002: ID 0586:341e ZyXEL Communications Corp. NWD2105 802.11bgn Wireless Adapter [Ralink RT3070]


> # Заблокировано ли устройство
> rfkill list
0: eeepc-wlan: Wireless LAN
        Soft blocked: yes
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: yes
        Hard blocked: no

        
> # Разблокировка устройства
> rfkill unblock 1
> rfkill list
0: eeepc-wlan: Wireless LAN
        Soft blocked: yes
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

        
> # Состояние линка wlan0
> ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether fc:f5:28:fb:f8:a6 brd ff:ff:ff:ff:ff:ff

    
> # Поднятие интерфейса wlan0 (ошибок нет, интерфейс не поднимается)
> ip link set wlan0 up
> ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether fc:f5:28:fb:f8:a6 brd ff:ff:ff:ff:ff:ff

    
> # Вывод информации о WiFi устройствах
> iw dev
phy#0
        Interface wlan0
                ifindex 3
                wdev 0x1
                addr fc:f5:28:fb:f8:a6
                type managed
                txpower 20.00 dBm


> # Просмотр списка WiFi сетей
> iw wlan0 scan | grep SSID
        SSID: RT-GPON-07B9
        SSID: RT-GPON-6E8F
        SSID: Pipetka
        SSID: TP-Link_14B3
        SSID: Borsh
        SSID: RT-GPON-2180
        SSID: TP-Link_B140
        SSID: MikroTik-Xi
        SSID: Cher
        SSID: KV91
        SSID: 
        SSID: tanushenok
        SSID: 249

        
> # Установка параметров поключения к WiFi сети (выполняется без ошибок)
> iwconfig wlan0 essid MikroTik-Xi key s:ТутМойПароль


> # Снова попытка поднять интерфейс (выполняется без ошибок, интерфейс не поднимается)
> ip link set wlan0 down
> ip link set wlan0 up


> # Состояние линка
> ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether fc:f5:28:fb:f8:a6 brd ff:ff:ff:ff:ff:ff

    
> # Состояние TCP/IP
> ip addr show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether fc:f5:28:fb:f8:a6 brd ff:ff:ff:ff:ff:ff

То есть, устройство работает с радиоканалом, видит WiFi сети, но подключиться не может. Почему-то не поднимается сетевой интерфейс.

Если что, то соединение предполагается по DHCP. Содержимое /etc/network/interfaces следующее:
auto lo
iface lo inet loopback

allow-hotplug ens3
iface ens3 inet dhcp

allow-hotplug wlan0
iface wlan inet dhcp

Попытка подключиться через dhclient выглядит так:
> dhclient -v wlan0
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/fc:f5:28:fb:f8:a6
Sending on   LPF/wlan0/fc:f5:28:fb:f8:a6
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 17
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Видимо, соединяться по DHCP не имеет смысла, пока status DOWN. Но как сделать status UP я не пойму.

Еще момент: в компьютере есть набортное WiFi устройство ath5k, которое раньше хотя бы определялось ядром, но видимо когда был всунут USB-донгл, ядро его по какой-то причине видеть перестало. Я с этим устройством повозился, но бросил, потому что в Интернетах под Linux ему никто ума дать не смог (в Windows, естественно, работает). Виделось оно вот так:
[  262.434122] ath5k 0000:01:00.0: enabling device (0000 -> 0002)
[  262.434540] ath5k 0000:01:00.0: registered as 'phy0'
[  262.956818] ath: EEPROM regdomain: 0x60
[  262.956837] ath: EEPROM indicates we should expect a direct regpair map
[  262.956847] ath: Country alpha2 being used: 00
[  262.956853] ath: Regpair used: 0x60
[  262.956948] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[  263.026299] ath5k: phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)

А теперь этих строк в загрузке ядра не видно, хотя никаких специальных действий для его отключения не делал. Я про этот AR2425 говорю для полноты картины.

ЗЫ: Кастую mky.

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)

Я не думаю, что iwconfig является заменой для wpa_supplicant или iwd. Первый нужно использовать в сочетании с какими-либо другими средствами настройки сети. Второй можно использовать как полностью самостоятельный инструмент.

anonymous
()

Сеть надо получить в консоли на очень слабом железе без этих ваших NetworkManager и WiCd,

Имхо, хорошая консольная штука iwd. Настраивал ей wifi, проблем не было.

iwd (iNet wireless daemon) — это беспроводной демон для Linux, написанный Intel. Основная цель проекта — оптимизировать использование ресурсов, не завися от каких-либо внешних библиотек и вместо этого максимально используя функции, предоставляемые ядром Linux.

krasnh ★★★★
()

Да, dhcp бесполезен при status DOWN, вроде как, dhcp клиент сам обязан проверять статус интерфейса и отказываться работать в этом случае.

Судя по тому, что «[ 262.434122] ath5k », то встроенное устройство обнаруживалось не в момент загрузки, а после каких-то действий — кнопку нажать/драйвер загрузить, 262 секунды как-раз время зайти в консоль и что-то сделать. Ну забросили и забросили, пусть будет usb rt3070.

Про WEP/WPA, в принципе, вам уже написали. Если точка доступа в WEP, то смотрите dmesg после подключения, хотя считается, что WEP небезопастно. Если WPA, ставьте iwd или wpa_supplicant, прописывайте пароль в их конфигах. WPA без болтающегося в памяти процесса не заработает.

mky ★★★★★
()

А вообще NM в 32-битной версии должен отсвопиться до 1-2-3-5М и ещё 5М может понадобиться для wpa_supplicant. Как раз они не мусор и лучше выделить им 2-3% оперативки. Ведь wifi такая штука, что иногда переподнимать надо, а тут автоматом будет.

kirill_rrr ★★★★★
()
Ответ на: комментарий от Xintrea

Для дальнейших действий необходимо, чтобы в системе стояли пакеты wireless-tools, iw и iwd.

Единственно, насколько помню, iwd самодостаточна и способна справиться без wireless-tools, iw. В интерактивном режиме (iwctl) ей доступны все операции - от списка устройств, поиска сетей, ввода пароля…

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)

Пропиши ip a и посмотри название Wi-Fi интерфейса. Скорее всего, будет wlan0 или wlp7s0. Затем пропиши wpa_passphrase <название_сети> <пароль_сети>, тебе выведет

network={
        ssid=<название_сети>
        #psk=<пароль_сети>
        psk=<ключ>
}

Запомни ключ и открой от рута /etc/network/interfaces. Туда пропиши

auto <название_интерфейса>
iface <название_интерфейса> inet dhcp
wpa-ssid <название_сети>
wpa-psk <ключ>

Затем перезагрузись или пропиши от рута service networking restart.

anonymous
()