# [SOLVED] Problem z wifi na 2.6.22 i iwl3945

## -Spike-

Witam,

problem z jakim walcze jest nastepujacy, na nowym jajku 2.6.22 i sterownikach iwl3945 system nie wykrywa karty :

```

eth0      Link encap:Ethernet  HWaddr 00:17:08:38:5D:7E

          inet addr:172.16.42.141  Bcast:172.16.63.255  Mask:255.255.192.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:386764 errors:0 dropped:0 overruns:0 frame:0

          TX packets:152547 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:376615783 (359.1 Mb)  TX bytes:13459467 (12.8 Mb)

          Interrupt:17

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  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)

```

oczywiście wszystko co potrzeba mam wkompilowane w jadra, czyli :

```

Networking  --->

         Wireless  --->

             <--> Improved wireless configuration API

             <*> Generic IEEE 802.11 Networking Stack (mac80211)

 
```

```
lsmod | grep iwl

iwl3945               149604  0

```

```
 # dmesg | grep iwl

[   16.938000] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.0.0d

[   16.938000] iwl3945: Copyright(c) 2003-2007 Intel Corporation

[   17.137000] iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection

[   17.425000] iwl3945: Radio disabled by HW RF Kill switch

[ 9916.659000] iwl3945: ipw going down

[ 9916.760000] iwl3945: Unhandled INTA bits 0x04000000

[ 9916.760000] iwl3945: Disabled INTA bits 0x04000000 were pending

[ 9916.760000] iwl3945:    with FH_INT = 0x00000000

[ 9916.770000] iwl3945: Unhandled INTA bits 0x04000000

[ 9916.770000] iwl3945: Disabled INTA bits 0x04000000 were pending

[ 9916.770000] iwl3945:    with FH_INT = 0x00000000

[ 9929.494000] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.0.0d

[ 9929.494000] iwl3945: Copyright(c) 2003-2007 Intel Corporation

[ 9929.495000] iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection

[ 9929.635000] iwl3945: Could not read microcode: -22

[ 9929.635000] iwl3945: probe of 0000:08:00.0 failed with error -22

```

Na starszym jadrze i ipw3945 wifi dzialalo bez problemu.

emerge --info : http://phpfi.com/258116

Prosze o jakies rady  :Smile: Last edited by -Spike- on Wed Aug 29, 2007 10:07 am; edited 1 time in total

----------

## ediap

To proponuję powrót do ipw3945. U mnie wszystko działa prawidłowo na następującym zestawie:

ipw3945-1.2.0

ipw3945-ucode-1.14.2

ipw3945d-1.7.22-r4

suspend2-sources-2.6.22-r1

Pozdrawiam,

/ediap

----------

## Belliash

a wl3945-ucode posadziles?

bez tego nie ruszy

----------

## MaRcYs_GrHw

Tez miałem problem i tez posatwilem ipw3945

http://gentoo-wiki.com/HARDWARE_ipw3945

to go rozwiązało.

Pomocniczo podpierałem sie tym

https://forums.gentoo.org/viewtopic-t-571540.html?sid=a10e9fa09ef6aba6646e39c3c1e98812

Na razie co prawda WPA nie stawiałem. Ale mysle ze tez nie bedzie problemów  :Wink: 

----------

## -Spike-

Na ipw3945 faktycznie dziala ale to nie zmienia tego ze na iwl3945 nie dziala  :Smile: 

@Morpheouss - tak wszystko co potrzebne mam, iwl3945-ucode tez  :Smile: 

----------

## wiono

Też sie troche z tym męczylem. 

Kiedy instalowałem po raz pierwszy iwl3945 siec mi się wykrzaczała zaraz po tym jak przy starcie systemu udev próbował zmienić wmaster0 na eth1. Nie pamiętam jak to dokładnie wyglądało. Komenda 

 *Quote:*   

> ifconfig eth1 up 

 

powodowała błąd: SIOcośtam cośtam

Jeżeli uprzednio był zainstalowany ipw3945 to wywalenie linijek

```

# PCI device 0x8086:0x4222 (ipw3945)

# SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:1b:77:e0:fa:d6", NAME="eth1"

```

z /etc/udev/rules.d/70-persistent-net.rules rozwiązuje ten problem w taki sposób, że udev nie dokonuje zamiany nazwy interfejsu sieciowego na eth1 i mamy sieć bezprzewodową pod nazwą wlan0. 

Wystarczy we wszystkich plikach konfiguracyjnych w /etc zmienic eth1 na wlan0 i gotowe, wszystko działa.[/code]

----------

## Nomen

 *-Spike- wrote:*   

> 
> 
> [/code]
> 
> oczywiście wszystko co potrzeba mam wkompilowane w jadra, czyli :
> ...

 

Mam ta karte i wczoraj akurat troche biegalem po wiki i z tego co pamietam odradzaja wrzucanie tego na stale tylko kaza jako modul.

Wejdz na Gento Wiki ---> Hardware ------> Wifi i znajdz odpowiedzni artykul

----------

## c2p

http://gentoo-wiki.com/HARDWARE_ipw3945#iwlwifi

 *Quote:*   

> Warning: Do Not build mac80211 into the kernel. There are outstanding issues regarding the rate scaling, which will cause the iwlwifi driver to fail!

 

----------

## wiono

ok. oto co dokładnie zrobiłem (a przynajmniej tak mi się wydaje).

odblokowanie iwlwifi i usunięcie ipw3945

```
echo "net-wireless/iwlwifi" >> /etc/portage/package.unmask

echo "net-wireless/iwlwifi ipw3945" >> /etc/portage/package.use

echo "net-wireless/iwl3945-ucode" >> /etc/portage/package.unmask

echo "net-wireless/iwlwifi ~x86" >> /etc/portage/package.keywords

echo "net-wireless/iwl3945-ucode ~x86" >> /etc/portage/package.keywords

emerge -f iwlwifi iwl3945-ucode

emerge --unmerge ipw3945 ipw3945d ipw3945-ucode
```

Konfiguracja jądra

```
    Networking  --->

         Wireless  --->

              <M> Improved wireless configuration API 

                 --- Wireless extensions

              <M> Generic IEEE 802.11 Networking Stack (mac80211)

               [ ]   Enable LED triggers

               [ ]   Enable debugging output

              <M> Generic IEEE 802.11 Networking Stack

               [ ]   Enable full debugging output

             <M>   IEEE 802.11 WEP encryption (802.1x)

             <M>   IEEE 802.11i CCMP support

            <M>   IEEE 802.11i TKIP encryption 

             < >   Software MAC add-on to the IEEE 802.11 networking stack

    Device Drivers  ---> 

         [*] Network device support  --->  

               Wireless LAN  ---> 

                     [ ] Wireless LAN (pre-802.11)

                     [ ] Wireless LAN (IEEE 802.11)

Cryptographic options --->

   [*] Cryptographic API

     <M> AES cipher algorithms

     <M> ARC4 cipher algorithm

     <M> Michael MIC keyed digest algorithm
```

Kompilacja jajka i iwlwifi

```
cd /usr/src/linux

make && rm -fr /lib/modules/* && make modules_install

module-rebuild -X rebuild

emerge iwlwifi iwl3945-ucode
```

 ponowne uruchomienie komputera na nowym jajku. Podczas startu systemu wyskakuje mi jakiś błąd SIOcośtam eth1 następujący po linijce  udev replacing wmaster0 with eth1 więc wywalam z  /etc/udev/rules.d/70-persistent-net.rules

```
  # PCI device 0x8086:0x4222 (ipw3945) 

# SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:1b:77:e0:fa:d6", NAME="eth1"
```

 Ponownie uruchamiam komputer i tegoż błędu już nie ma   :Surprised: . Nie odpalają mi się aplikacje wykorzystujące dawny interfejs eth1 więc wszędzie gdzie się da zamieniam eth1 na wlan0 i jest wszystko ok

Pomimo iż sterowniki iwlwifi są uważane za eksperymentalne jeszcze nie napotkałem żadnych problemów. Korzystam zarówno z domowej sieci bezprzewodowej opartej na WPA  i hotspotów na uczelni

Moje pliki konfiguracyjne wyglądają następująco

/etc/conf.d/net

```
modules=( "wpa_supplicant" )

wpa_supplicant_wlan0="-Dwext"

config_wlan0=( "dhcp" )

dhcp_wlan0="-t 10"

wpa_timeout_wlan0=60
```

 /etc/wpa_supplic[/code]ant/wpa_supplicant.conf

```
ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=wheel

eapol_version=1

ap_scan=1

fast_reauth=1

network={

        ssid="HOMEWiFi"

        key_mgmt=WPA-PSK

        pairwise=TKIP

        group=TKIP

        psk=password to my network

}

network={

        key_mgmt=NONE

}

```

Jeżeli chodzi o ten błąd

```
[ 9929.494000] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.0.0d 

[ 9929.494000] iwl3945: Copyright(c) 2003-2007 Intel Corporation 

[ 9929.495000] iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection 

[ 9929.635000] iwl3945: Could not read microcode: -22 

[ 9929.635000] iwl3945: probe of 0000:08:00.0 failed with error -22 
```

to najprawdopodobniej nie jest zainstalowany iwl3945-ucode albo trzeba zmienić nazwę pliku z mikrokodem[/code]

----------

## Trog

```
# ifconfig -a

eth1      Link encap:UNSPEC  HWaddr 00-18-DE-78-A2-F4-8C-38-00-00-00-00-00-00-00-00

          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 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0_ren Link encap:Ethernet  HWaddr 00:18:DE:78:A2:F4

          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 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
```

Co ja mam zrobic? Dlaczego on mi widzi 2 razy ta sama karte? Moze cos w jaju nakopalem?

Przez to, nie moge teraz zrobic 

```
nameif eth2 00:18:DE:78:A2:F4
```

, bo zmieni mi ta pierwsza o tym mac'u

a drugiej nie, bo powie, ze juz istnieje eth2.

Wie ktos jak rozwiazac ten problem?

PS: mam 2.6.24-gentoo-r2 i tam zaznaczony sterownik iwl3945 jako modul.

----------

## manwe_

@-Spike-: Wersje iwlX9X5 w portage są skopane, dlatego pozostają zamaskowane. Na b.g.o został zgłoszony request ich usunięcia. Zrób sobie jajko .24 [polecam 2.6.24-zen1], tam iwl jest już w źródłach. Do tego ucode i musi działać. Sprawdzone w ostatnim tygodniu na dwóch laptopach - jednym z 3945 i drugim z 4965.

Trog: Taka niby-karta z długim HWaddr jest nie do używania. Nie znam szczegółów technicznych tego, nie były mi potrzebne, ale to tak jakby reprezentacja karty fizycznej, z której powstają dopiero właściwe karty wifi. Tak mam u siebie na Atherosie - wifi0 [Link encap:UNSPEC] nie do używania oraz ath0-X właściwe karty [mogę stworzyć kilka równolegle działających kart, nie wiem jak to wygląda przy Intelu].

----------

## argasek

Moved from Polish to Instalacja i sprzęt.

----------

## Trog

@manwe_

Spoko, tylko to drugie mi przeszkadza bo ma (wbrew pozorom) taki sam mac.

Wiec jak odwoluje sie do danego mac'a, to wszystko bylo by ok, gdyby mi tylko

lapal ta wlasciwa karte, a on lapie zawsze na poczatku ta z dlugim makiem.

Po...kopane to jest i to mocno!  :Sad: 

----------

## manwe_

Przeglądnij jak widzi te dwa urządzenia udev [udevinfo], wyłap różnicę [na pewno będzie KERNEL=="wlan*"] i zrób nazywanie [NAME=""] bazując na udev-rules, zamiast nameif.

----------

## Trog

Działa. Dzięki.

----------

