Wi-Fi свистки

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 27 мар 2013, 15:36

Olej писал(а): Теперь контекстным поиском по VID:PID интересующего устройства можно всегда найти: а). поддерживается ли устройство вообще, б). модуль, поддерживающий это устройство, в). с какой версии ядра начиная устройство поддерживается.
Так для того злополучного D-Link DWA-125 :

- в ядре 3.8 (последнем) - http://lxr.free-electrons.com/source/dr ... t2800usb.c :

Код: Выделить всё

1162 #ifdef CONFIG_RT2800USB_RT53XX
1163         /* Arcadyan */
1164         { USB_DEVICE(0x043e, 0x7a12) },
1165         /* Azurewave */
1166         { USB_DEVICE(0x13d3, 0x3329) },
1167         { USB_DEVICE(0x13d3, 0x3365) },
1168         /* D-Link */
1169         { USB_DEVICE(0x2001, 0x3c15) },
1170         { USB_DEVICE(0x2001, 0x3c19) },
1171         { USB_DEVICE(0x2001, 0x3c1c) },
1172         { USB_DEVICE(0x2001, 0x3c1d) },
1173         { USB_DEVICE(0x2001, 0x3c1e) },
- а в ядре 3.7 его ещё нет - http://lxr.free-electrons.com/source/dr ... sb.c?v=3.7

Код: Выделить всё

1170         { USB_DEVICE(0x2001, 0x3c1c) },
1171         { USB_DEVICE(0x2001, 0x3c1d) },
1172         /* LG innotek */
1173         { USB_DEVICE(0x043e, 0x7a22) },
- и чипсет там (из комментария) - Ralink 5372, такой же, как D-Link использует в устройстве DWA-140 rev B3.

Вот так просто ларчик открывается.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 27 мар 2013, 20:13

Olej писал(а):Вот так просто ларчик открывается.
В принципе, того алгоритма разбирательства с устройством, который описан выше, вполне достаточно, чтобы разобраться с любым USB WiFi адаптером. Но хотелось бы иметь ещё дополнительные источники информации...

Официально считается, что все устройства USB (если производитель не химичит что-то) должны попадать в файл usb.ids, который раскидан во многих экземплярах по Интернет, например, можно взять здесь. Файл нужно брать свежий:
# List of USB ID's
...
# Version: 2013.03.25
# Date: 2013-03-25 20:34:03
...

Файл большой (>18000 строк-устройств на сегодня), поэтому его лучше сохранить на диск (а не ковыряться в нём из браузера):

Код: Выделить всё

bash-4.2$ cat usb.ids | wc -l
18060
И здесь поиском находим в строке 15438:

Код: Выделить всё

2001  D-Link Corp.
А далее все устройства этой корпорации, в частности, начиная со строки 15474 имеем такое:

Код: Выделить всё

        3c05  DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772]
        3c15  DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT5372]
        3c17  DWA-123 Wireless N 150 Adapter(rev.A1) [Ralink RT3370]
        3c19  DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370]
        3c1a  DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.B2) [Ralink RT5572]
        3c1b  DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070]
        4000  DSB-650C Ethernet [klsi]
Вот они все Wireless от D-Link ... 3c15 - 3c1b, со своими чипами, на которых они собраны (должны быть!).
И DWA-125 должен бы иметь PID=3c19 ... а откуда взялся наш PID=3c1e ?
Я сильно предполагаю, что это наш китайский друг-производитель что-то сильно накосячил :-o

P.S. Тем не менее, этот файл идентификации USB устройств может сильно стать в помощь.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 27 мар 2013, 20:29

Olej писал(а):В одном из форумов наткнулся на такую фразу:
forkostya писал(а):У меня не было проблем с D-Link DWA 110, других не пробовал
...
Буду следить там за разговором в теме ... как они его подключали...
Так что на исходный вопрос: "какие WiFi адаптеры самые без проблем в Linux?" у меня складывается такое ощущение: "берите оборудование Tenda - и не будет у вас проблем"... информацию русского дистрибьютора Tenda (с номенклатурой изделий) см. здесь.

P.S. тем более, что файлы для Linux на их CD датированы от 2004г. и до 2012г., т.е. с Linux они дружат "надолго и всерьёз".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 28 мар 2013, 13:43

Olej писал(а): Вот они все Wireless от D-Link ... 3c15 - 3c1b, со своими чипами, на которых они собраны (должны быть!).
И DWA-125 должен бы иметь PID=3c19 ... а откуда взялся наш PID=3c1e ?
Я сильно предполагаю, что это наш китайский друг-производитель что-то сильно накосячил :-o
Обнаруживается, что именно с D-Link WiFi адаптерами народ уродуется массово как только может ;-) ... и телевизионщики со своими домашними кинотеатрами ... и даже самые-самые затрапезные пользователи самого-самого рядового Windows. D-Link, такое впечатление, просто играется со своими потребителями: одни и те же модели DWA-* они производят с самыми разными чипами, называя эти различающиеся модели ревизиями - http://forum.ixbt.com/post.cgi?id=print:62:18971:
- D-Link DWA-160 ver B2 - ID: 2001:3c1a,
- D-Link DWA-140 ver B3 - ID: 2001:3c15,
- D-Link DWA-125 ver A3 - ID: 2001:3c19,
- D-Link DWA-125 ver B1 - ID: 2001:3c1e
- D-Link DWA-140 ver B2 - ID: 07d1:3c0a (адаптер на rt3072),
- D-Link DWA-125 ver A2 - ID: 07d1:3c16 (адаптер на rt3070)
- D-Link DWA-160 ver B1 - ID: 07d1:3c11,
- D-Link DWA-140 ver B1 - ID: 07d1:3c09,
Это только немногая часть, которую экспериментально протестировали участники обсуждений там.
Ревизии зависят только от времени выпуска устройства ... а для вас, как покупателя, это зависит от того, как долго устройство провалялось на складе дистрибьютора.
На том устройстве DWA-125, которое ко мне попало на изучение, ревизия (ver) не указана нигде: ни на самом устройстве, ни во вкладках - гарантийных и кратких по инсталляциях, ни на упаковке, ни на CD-ROM установочном ... "тайна сие великая есть" :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 28 мар 2013, 14:09

Olej писал(а):модели DWA-* они производят с самыми разными чипами, называя эти различающиеся модели ревизиями - http://forum.ixbt.com/post.cgi?id=print:62:18971:
...
- D-Link DWA-125 ver B1 - ID: 2001:3c1e
...
Olej писал(а): Так для того злополучного D-Link DWA-125 :
- в ядре 3.8 (последнем) - http://lxr.free-electrons.com/source/dr ... t2800usb.c :

Код: Выделить всё

1162 #ifdef CONFIG_RT2800USB_RT53XX
...
1168         /* D-Link */
...
1173         { USB_DEVICE(0x2001, 0x3c1e) },
Зная чип конкретной модели и ревизии устройства на чипах от Ralink (в данном случае, как пример, D-Link DWA-125, но меня интересует как это делается для любого устройства с такими чипами) - можно вытащить информацию и скачать драйвера Linux непосредственно с сайта Ralink.
(удивительно, почему это не указывают производители ... тот же D-Link?!)

Код: Выделить всё

bash-4.2$ ls -l
итого 768
-rw-rw-r-- 1 olej olej 779144 марта 28 13:05 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2
Остаётся неясным только вопрос: как достоверно выяснить какой № чипа Ralink установлен в той или иной модели WiFi адаптера?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 28 мар 2013, 14:31

Olej писал(а):

Код: Выделить всё

bash-4.2$ ls -l
итого 768
-rw-rw-r-- 1 olej olej 779144 марта 28 13:05 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2
1. Тут наши друзья с Тайваня накосячили ;-)

Код: Выделить всё

bash-4.2$ bzip2 -d 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2 
bash-4.2$ ls
2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO
Вот этот полученный файл - это tar-архив (а не просто так себе файл ;-) )... , так что нужно было или изначально:

Код: Выделить всё

bash-4.2$ tar -jxvf 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.bz2 
или переименовывать уже то, что получилось:

Код: Выделить всё

bash-4.2$ mv 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO \     
                     2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.tar
bash-4.2$ tar -xvf 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.tar 
Полученный каталог объёмный:

Код: Выделить всё

bash-4.2$ ls -lR 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO | wc -l
212
2. В файле os/linux/config.mk заменяет в паре соседник строк ('n' на 'y') - у них по умолчанию WPA шифрование выключено, об этом в README есть...:

Код: Выделить всё

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
3.

Код: Выделить всё

bash-4.2$ CC=gcc; make
...
cp -f /home/olej/2013_WORK/HISTORY/03.2013/28/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/rt5370sta.ko /tftpboot
cp: невозможно создать обычный файл «/tftpboot»: Отказано в доступе
make: *** [LINUX] Ошибка 1
Здесь наши тайваньские друзья ещё раз накосячили - для make вовсе не нужны root права, а root им понадобился только для создания файла tftpboot ... мне это как-то мало понятно...

Код: Выделить всё

bash-4.2$ su
Пароль: 
[root@notebook 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO]# CC=gcc; make
...
cp -f /home/olej/2013_WORK/HISTORY/03.2013/28/2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO/os/linux/rt5370sta.ko /tftpboot

Код: Выделить всё

bash-4.2$ file /tftpboot 
/tftpboot: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=0xb9f53cd2e2be81fe6ee6201aefe5c52e377f82f7, not stripped
Что это? возможность сетевой BOOTP загрузки?

4.

Код: Выделить всё

bash-4.2$ cd /os/linux 
bash-4.2$ ls -l *.ko
-rw-r--r-- 1 root root 16412123 марта 28 13:41 rt5370sta.ko
bash-4.2$ sudo insmod rt5370sta.ko
bash-4.2$ dmesg | tail -n10
...
[11478.544585] rtusb init rt2870 --->
[11478.544667] usbcore: registered new interface driver rt2870

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 28 мар 2013, 18:09

Olej писал(а): 4.
Сборка успешная, но она ничего не даёт - устройство 2001:3c1e не распознаётся и сетевой интерфейс не подымается.
И это понятно, если заглянем в файл драйвера common/rtusb_dev_id.c:

Код: Выделить всё

#ifdef RT5370
        {USB_DEVICE(0x148F,0x5370)}, /* Ralink 5370 */  
        {USB_DEVICE(0x148F,0x5372)}, /* Ralink 5370 */  
        {USB_DEVICE(0x13D3,0x3365)}, /* Azurewave */
        {USB_DEVICE(0x13D3,0x3329)}, /* Azurewave */
        {USB_DEVICE(0x2001,0x3C15)}, /* Alpha */
        {USB_DEVICE(0x2001,0x3C19)}, /* Alpha */
        {USB_DEVICE(0x2001,0x3C1C)}, /* DLink */
        {USB_DEVICE(0x2001,0x3C1D)}, /* DLink */
        {USB_DEVICE(0x043E,0x7A12)}, /* Arcadyan */
Нет там такого устройства среди известных драйверу.
Нужно дописать его туда и пересобрать модуль...

Код: Выделить всё

        {USB_DEVICE(0x2001,0x3C1D)}, /* DLink */
        {USB_DEVICE(0x2001,0x3C1E)}, /* DLink */
        {USB_DEVICE(0x043E,0x7A12)}, /* Arcadyan */
Вот после этого устройство распознаётся, и сетевой интерфейс (ra0) создаётся:

Код: Выделить всё

bash-4.2$ sudo insmod rt5370sta.ko

bash-4.2$ dmesg | tail -n20
...
[15814.826052] usb 1-4: new high-speed USB device number 53 using ehci_hcd
[15814.957529] usb 1-4: New USB device found, idVendor=2001, idProduct=3c1e
[15814.957536] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15814.957540] usb 1-4: Product: 11n Adapter
[15814.957543] usb 1-4: Manufacturer: Ralink
[15814.957546] usb 1-4: SerialNumber: 1.0
[15814.958254]
[15814.958254]
[15814.958254] === pAd = f9e57000, size = 519032 ===
[15814.958254]
[15814.958560] <-- RTMPAllocTxRxRingMemory, Status=0
[15814.958655] <-- RTMPAllocAdapterBlock, Status=0

Код: Выделить всё

bash-4.2$ iwconfig
wlan0     IEEE 802.11bg  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=off
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

ra0       Ralink STA

lo        no wireless extensions.

eth0      no wireless extensions.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 29 мар 2013, 09:56

Olej писал(а):Остаётся неясным только вопрос: как достоверно выяснить какой № чипа Ralink установлен в той или иной модели WiFi адаптера?
А это не так просто сделать: сами производители не указывают, а по Интернет рассказывают любые сказки, и на уровне "мне показалось".
Кое-что по некоторым известным USB устройствам нашлось здесь: Welcome to WikiDevi! (и далее по ссылкам):

D-Link DWA-125 rev.A1
ID: 07d1:3c0d
Chip 1: Ralink RT3070
D-Link DWA-125 rev.A2
ID: 07d1:3c16
Chip 1: Ralink RT3070
D-Link DWA-125 rev.A3
ID: 2001:3c19
Chip 1: Ralink RT5370
D-Link DWA-125 rev.B1
ID: 2001:3c1e
Chip 1: Ralink RT5370
И всё это в магазине - одно и то же устройство DWA-125!

P.S. Здесь вылазит, не первый раз уже, ещё одна загадка относительно именно D-Link: почему, в том же файле-указателе устройств и производителей usb.ids, D-Link вылезает дважды? под 2-мя разными VID: 07d1 и 2001 ... что это за особая привилегия? (и повод для неприятностей пользователям).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 29 мар 2013, 12:24

Olej писал(а): Вот после этого устройство распознаётся, и сетевой интерфейс (ra0) создаётся:
Но настроить мне такое соединение так и не удалось (надоело ;-) )

Хотя в Windows XP этот D-Link DWA-125 и установился с его инсталляционного CD + установил соединение (откуда вот это сейчас и пишу!) ... хотя как-то долго кочевряжился при этом установлении.
Вложения
DWA-125.JPG
DWA-125.JPG (38.09 КБ) 8465 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Wi-Fi свистки

Непрочитанное сообщение Olej » 29 мар 2013, 15:52

Olej писал(а): Но настроить мне такое соединение так и не удалось (надоело ;-) )
Пока не запустил драйвер с параметром, вот так:

Код: Выделить всё

[olej@nvidia linux]$ sudo insmod rt5370sta.ko mac=55:55:55:55:55:55
А при подключении устройства он сам и сознался ;-) :

Код: Выделить всё

olej@nvidia linux]$ dmesg | tail -n50
...
[ 6103.896535] -->RTUSBVenderReset
[ 6103.896659] <--RTUSBVenderReset
[ 6104.374579] RtmpOSFileOpen(): Error 2 opening /etc/Wireless/RT2870STA/RT2870STA.dat
[ 6104.374583] Open file "/etc/Wireless/RT2870STA/RT2870STA.dat" failed!
[ 6104.374585] 1. Phy Mode = 0
[ 6104.374587] ERROR!!! RTMPReadParametersHook failed, Status[=0x00000001]
[ 6104.431200] !!! rt28xx Initialized fail !!!
[ 6104.435279] (Efuse for 3062/3562/3572) Size=0x2d [2d0-2fc]
[ 6104.435282] RT5390_Init: FlgIsHwAntennaDiversitySup --> True
[ 6104.698527] -->RTUSBVenderReset
[ 6104.698652] <--RTUSBVenderReset
[ 6105.176303] RtmpOSFileOpen(): Error 2 opening /etc/Wireless/RT2870STA/RT2870STA.dat
[ 6105.176307] Open file "/etc/Wireless/RT2870STA/RT2870STA.dat" failed!
[ 6105.176310] 1. Phy Mode = 0
[ 6105.176311] ERROR!!! RTMPReadParametersHook failed, Status[=0x00000001]
[ 6105.232936] !!! rt28xx Initialized fail !!!
Т.е. драйвер Ralink требует, чтобы ему файл параметров RT2870STA.dat (из каталога драйвера) скопировали в /etc/Wireless/RT2870STA/ ... + ещё там (в текстовом файле) нужно подшаманить с параметрами связи.

Код: Выделить всё

[olej@nvidia linux]$ sudo insmod rt5370sta.ko
[olej@nvidia linux]$
Вот теперь появляется интерфейс, для которого можно настраивать беспроводное соединение (отключив шнурок проводного eth0 !) ... в результате чего:

Код: Выделить всё

[olej@nvidia 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO]$ iwconfig ra0
ra0       Ralink STA  ESSID:"ZTE"  Nickname:"RT2870STA"
          Mode:Managed  Frequency=2.462 GHz  Access Point: C8:64:C7:8A:50:16
          Bit Rate=24 Mb/s
          RTS thr:off   Fragment thr:off
          Link Quality=78/100  Signal level:-77 dBm  Noise level:-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
[olej@nvidia 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO]$ ifconfig ra0
ra0       Link encap:Ethernet  HWaddr 90:94:E4:09:69:27
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::9294:e4ff:fe09:6927/64 Scope:Link
          UP BROADCAST RUNNING 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 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2912063 (2.7 MiB)  TX bytes:188801 (184.3 KiB)
Я из этого коннекта и комментирую эти результаты...

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя