Не могу по человечески установить дрова для ipw3945

Ethernet card, Wi-Fi, Bluetooth, IrDA, ADSL-модемы, модемы

Модератор: Модераторы разделов

Аватара пользователя
VictorGFU
Сообщения: 192
ОС: openSuSE, Mandriva 2006

Не могу по человечески установить дрова для ipw3945

Сообщение VictorGFU »

На новом ноуте есть miniPCI карточка беспроводной сети IPW3945ABG. Дефолтный СюЗЕвский кернел снес и вместе с ним firmware и все остальное, что касается этой карты.

Так вот, загрузил я все 4 компонента для этой карты.
Сабсистему ieee80211 самой последней версии установил без особых проблем на свое скомпилированное ядро. Модуль ieee80211 грузится в нормально.

Дальше я скопировал демон ipw3945d в папку /sbin, как и положено по инструкции.

За этим скопировал само firmware к карточке в папку /lib/firmware

При компиляции самих дров ipw3945 выдает сообщение:

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

laptop:/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2 # make modules
make -C /lib/modules/2.6.16.20-default/build M=/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2  modules
make[1]: Entering directory `/usr/src/linux-2.6.16.20'
  CC [M]  /usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.o
  Building modules, stage 2.
  MODPOST
*** Warning: "alloc_ieee80211" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "free_ieee80211" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_wx_get_encodeext" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_wx_set_encodeext" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_wx_get_encode" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_wx_set_encode" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_wx_get_scan" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_freq_to_channel" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_set_geo" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_get_channel" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_rx" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_rx_mgt" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_get_geo" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_channel_to_index" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_tx_frame" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_get_channel_flags" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_is_valid_channel" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "escape_essid" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
*** Warning: "ieee80211_txb_free" [/usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko] undefined!
  CC      /usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.mod.o
  LD [M]  /usr/src/my_drivers/ipw/ipw3945-1.1.0-pre2/ipw3945.ko
make[1]: Leaving directory `/usr/src/linux-2.6.16.20'

Затем установил дравйвер в дерево кернела и загрузил модуль. Ошибок при загрузке модуля не выдавала система:

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

./load
No modules unloaded.
Loaded: ieee80211 ipw3945
Loading ipw3945d.ipw3945d - regulatory daemon
Copyright (C) 2005-2006 Intel Corporation. All rights reserved.
version: 1.7.18
Intel PRO/Wireless 3945ABG Network Connection found at:
 /sys/bus/pci/drivers/ipw3945/0000:03:00.0
Daemon launched as pid 21978.  Exiting.
..done.


Последним штрихом прописал в /etc/modprobe.d/ipw3945 указанные в мануале две строки инициализации драйверов и демона.

При перезагрузке лаптопа выдает во время загрузки, что не может загрузить firmware. Вот что я нахожу в dmesg:

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

dmesg | grep ipw
ipw3945: no version for "ieee80211_wx_get_encodeext" found: kernel tainted.
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.0-pre2d
ipw3945: Copyright(c) 2003-2006 Intel Corporation
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
ipw3945: ipw3945.ucode load failed: Reason -2
ipw3945: Could not read microcode: -2
ipw3945: probe of 0000:03:00.0 failed with error -2
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.0-pre2d
ipw3945: Copyright(c) 2003-2006 Intel Corporation
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
ipw3945: Detected geography ABG (13 802.11bg channels, 23 802.11a channels)


В итоге при активации беспроводной карты, на удивление, система ее включает и видит, но при сканировании беспроводных сетей она не работает.
ОСЬ: SuSE 10.2 x86_64, kernel 2.6.19.x, KDE 3.5.6.
ХАРД: ACER Aspire ASE500-UP801M, Intel D805 2.66Mhz, 2Gb RAM, 200+250Gb HDD's, DL DVD резак, GeForce 7300GS 256Mb, 20" WXGA+
Спасибо сказали:
ShurShur
Сообщения: 6
ОС: Debian, Gentoo

Re: Не могу по человечески установить дрова для ipw3945

Сообщение ShurShur »

Интересно, а работало у кого-нить оно с WEP или WPA?

Имеется: ноутбук Acer Aspire 5600 с ipw3945 и ADSL-модем ASUS AAM6020VI-T4 с Wi-Fi. Установлено Gentoo.

В общем-то, с установкой ipw3945 никаких труднойстей не возникает. Также отлично работает в режиме безо всяких security. Удалось завести как с wireless-tools, так и с wpa_supplicant. При включении WEP или WPA в любом варианте не работает.

Вот например включаю WEP 64 bit ключ abcde:

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

acer ~ # iwconfig eth1 key s:abcde
Error for wireless request "Set Encode" (8B2A) :
    SET failed on device eth1; Operation not supported.


Пробую wpa_supplicant с конфигом:

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

network={
        ssid="mysys"
        scan_ssid=1
        key_mgmt=NONE
        wep_key0="abcde"
        wep_tx_keyidx=0
}


Дебуг:

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

State: DISCONNECTED -> SCANNING
Starting AP scan (specific SSID)
Scan SSID - hexdump_ascii(len=5):
     6d 79 73 79 73                                    mysys
Trying to get current scan results first without requesting a new scan to speed up initial association
Received 228 bytes of scan results (1 BSSes)
Scan results: 1
Selecting BSS from priority group 0
0: 00:60:b3:d7:f2:ee ssid='mysys' wpa_ie_len=0 rsn_ie_len=0 caps=0x11
   skip - no WPA/RSN IE
   selected non-WPA AP 00:60:b3:d7:f2:ee ssid='mysys'
Trying to associate with 00:60:b3:d7:f2:ee (SSID='mysys' freq=0 MHz)
Cancelling scan request
WPA: clearing own WPA/RSN IE
Automatic auth_alg selection: 0x1
WPA: clearing AP WPA IE
WPA: clearing AP RSN IE
WPA: clearing own WPA/RSN IE
No keys have been configured - skip key clearing
wpa_driver_wext_set_key: alg=1 key_idx=0 set_tx=1 seq_len=0 key_len=6
Driver did not support SIOCSIWENCODEEXT
wpa_driver_wext_set_drop_unencrypted
State: SCANNING -> ASSOCIATING
wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT)
WEXT: Operstate: linkmode=-1, operstate=5
wpa_driver_wext_associate
Setting authentication timeout: 10 sec 0 usec
EAPOL: External notification - portControl=ForceAuthorized
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
Wireless event: cmd=0x8b06 len=8
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
Wireless event: cmd=0x8b1a len=14
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
Wireless event: cmd=0x8b15 len=20
Wireless event: new AP: 00:00:00:00:00:00
Added BSSID 00:60:b3:d7:f2:ee into blacklist
CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
State: ASSOCIATING -> DISCONNECTED


Включаю WPA и пробую wpa_supplicant (wireless-tools WPA не поддерживает):

network={
ssid="mysys"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="abcde"
}[code]

iwlist scan показывает:

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

eth1      Scan completed :
          Cell 01 - Address: 00:60:B3:D7:F2:EE
                    ESSID:"mysys"
                    Protocol:IEEE 802.11bg
                    Mode:Master
                    Channel:11
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                              11 Mb/s; 12 Mb/s; 18 Mb/s; 22 Mb/s; 24 Mb/s
                              36 Mb/s; 48 Mb/s; 54 Mb/s
                    Quality=74/100  Signal level=-56 dBm  Noise level=-60 dBm
                    IE: WPA Version 1
                        Group Cipher : WEP-40
                        Pairwise Ciphers (1) : WEP-40
                        Authentication Suites (1) : PSK
                    Extra: Last beacon: 670ms ago


В общем, никак не работает. Использование ndiswrapper вместо ipw3945 не помогает - драйвер устанавливается, но работать не хочет. Что делать? Несекьюрный Wi-Fi держать не хочется.
Спасибо сказали:
Petr
Сообщения: 1

Re: Не могу по человечески установить дрова для ipw3945

Сообщение Petr »

2: ShurShur
А вы не пробовали добавить в файл /etc/network/interfaces
строку

wpa-driver wext

У меня после этого карта под драйвером ipw3945 заработала в
сети с wpa-psk.

Попробуйте также прочитать

http://kanotix.com/FAQ-id_cat-140.html#q441

Петр.
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Не могу по человечески установить дрова для ipw3945

Сообщение uptime »

VictorGFU писал(а):
30.06.2006 20:29
......
За этим скопировал само firmware к карточке в папку /lib/firmware
......
В итоге при активации беспроводной карты, на удивление, система ее включает и видит, но при сканировании беспроводных сетей она не работает.


У меня в кубунте фирмваре лежит в /lib/firmware/<номер ядра>/

Может в этом дело?

успехов!
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
victron
Сообщения: 23

Re: Не могу по человечески установить дрова для ipw3945

Сообщение victron »

У меня тоже были проблемы с 3945. но похоже поборол. Установил драйвер iwlwifi http://intellinuxwireless.org/?p=iwlwifi. Все согласно инструкций на сайте, только mac80211 встраивал в ядро, модулем подгружаться не хотел. WPA: [root@localhost ~]# wpa_supplicant -iwlan0 -Dwext -c /etc/wpa_supplicant.conf.
Спасибо сказали: