1

Я довольно новичок в Linux (RaspBian для RaspBerry Pi, но я думаю, что нет никакой разницы), и я должен установить адаптер беспроводной сети USB (продукт TP-Link TL-WN725N, вот этот: http://www .tp-link.it/products/details/?model = TL-WN725N )

Теперь я думаю, что это не распознается моей системой автоматически, потому что, если я выполню команду ifconfig, я получу следующий вывод:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:2a:9f:b0  
          inet addr:192.168.1.8  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:475 errors:0 dropped:0 overruns:0 frame:0
          TX packets:424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:34195 (33.3 KiB)  TX bytes:89578 (87.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Так что теперь он видит только мой сетевой интерфейс Ethernet, а не беспроводной.

Так что я подумал попытаться заглянуть в dmesg, но я не знаю, что мне увидеть и как выбрать его в вывод dmesg.

Например, с помощью следующей команды я вижу строку файла журнала dmesg, относящуюся к моему порту Ethernet:

pi@raspberrypi ~ $ cat /var/log/dmesg |grep -i eth
[    3.177620] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:2a:9f:b0
[   18.030389] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   19.642167] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

Но что я могу попробовать найти беспроводной адаптер USB?

Tnx

1 ответ1

5

Есть много полезных команд. Первый - это lsusb, в котором перечислены все подключенные USB-устройства. Вы должны увидеть там свой USB-адаптер.

Второй - lspci, показывающий все устройства, подключенные к шине PCI. В моем случае, например, я получаю (ограничивая вывод только для сетевых устройств):

 $ lspci -vnn | grep -i net
 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
 04:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088e] (rev 24)

Это показывает важный код вашей карты Wi-Fi, [8086:088e] в моем случае.

Затем вы ищете этот код в Wikidevi: на странице, которую он находит, написано, что драйвер для моей беспроводной карты - iwlwifi в моем случае. Важно использовать код в квадратных скобках выше, потому что производители часто имеют несколько версий адаптера Wi-Fi с разными чипами, иногда даже от разных производителей (!!!) требующие разных водителей. Таким образом, единственный определенный способ идентифицировать ваш драйвер - это не имя адаптера, а его код.

Теперь, когда мы знаем имя водителя, мы сначала проверим, есть ли оно у нас,

  modinfo iwlwifi

Если есть какой-то выход, у нас есть. Затем мы проверяем, что он действительно подходит для моей карты, следующим образом:

 $ modinfo iwlwifi | grep 8086 | grep 088E
 alias:          pci:v00008086d0000088Esv*sd00004860bc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd0000446Abc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd00004460bc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd0000406Abc*sc*i*
 alias:          pci:v00008086d0000088Esv*sd00004060bc*sc*i*

Это показывает, что мой драйвер имеет несколько строк (соответствующих нескольким различным версиям моего адаптера Wi-Fi) для кода поставщика моей карты V8086 и кода устройства d088E. Обратите внимание, что в этом случае вы должны использовать заглавные буквы, E в моем случае. Так что этот драйвер действительно подходит для моего адаптера.

Затем мы проверяем, правильно ли он установлен:

  sudo lshw -C network

Вывод длинный (он включает в себя Ethernet-карту, 3G-карту, ...), но соответствующая часть:

 *-network
   description: Wireless interface
   product: Centrino Advanced-N 6235
   vendor: Intel Corporation
   physical id: 0
   bus info: pci@0000:04:00.0
   logical name: wlan0
   version: 24
   serial: c8:f7:33:4c:cc:e1
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=iwlwifi driverversion=3.13.0-27-generic firmware=18.168.6.1 latency=0 link=no multicast=yes wireless=IEEE 802.11abgn
   resources: irq:47 memory:e2500000-e2501fff

Здесь вы видите, что там написано driver = iwlwifi и firmware = .... Таким образом, правильный драйвер и прошивка были загружены в ядро. Все отлично работает, в моем случае.

И, наконец, мы можем проверить , является ли адаптер вверх или вниз: от предыдущего выхода вы видите , что мой WiFi карта выдается физическое имя 0 ( что соответствует phy0) и логическое имя wlan0. Я могу искать его текущее состояние с помощью

 $ ip  link list dev wlan0
 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000 
 link/ether c8:f7:33:4c:cc:e1 brd ff:ff:ff:ff:ff:ff

который ясно заявляет, что это UP. Если это не так, эта команда

  sudo ip link set dev wlan0 up 

поднимет это.

Если все это было проверено и все в порядке, но ваш Wi-Fi по-прежнему не работает, вы можете получить полезную информацию из команды:

  dmesg | grep wlan0

или wlan1, или как называется ваша карта Wi-Fi.

Вы можете пройти те же шаги и посмотреть, чего не хватает в вашем деле.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .