# Intel wireless 3945 doesn't work - Firmware problem?

## realone

Hi there. I've just "discovered" Gentoo and I'm still somewhat of a newbie, just so you know.

I installed Gentoo with kernel 2.6.24-r8 but now I have a problem with my network cards (both wired and wireless, but I'll focus on the wireless for now). It's an Intel 3945 card in my Dell XPS M1330 laptop.  When I boot up Gentoo and check the dmesg tail:

```

[    2.581235] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s

[    2.581238] iwl3945: Copyright(c) 2003-2010 Intel Corporation

[    2.581328] iwl3945 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    2.581343] iwl3945 0000:0c:00.0: setting latency timer to 64

[    2.635865] iwl3945 0000:0c:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels

[    2.635869] iwl3945 0000:0c:00.0: Detected Intel Wireless WiFi Link 3945ABG

[    2.637893] phy0: Selected rate control algorithm 'iwl-3945-rs'

```

My ifconfig wlan0:

```

wlan0     Link encap:Ethernet  HWaddr 00:19:d2:95:62:74  

          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)

```

My dmesg tail after I try ifconfig wlan0 up (takes a minute for it to respond again):

```

[    2.589434] iwl3945 0000:0c:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    2.589449] iwl3945 0000:0c:00.0: setting latency timer to 64

[    2.643730] iwl3945 0000:0c:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels

[    2.643733] iwl3945 0000:0c:00.0: Detected Intel Wireless WiFi Link 3945ABG

[    2.645666] phy0: Selected rate control algorithm 'iwl-3945-rs'

[    3.332891] EXT3-fs (sda7): using internal journal

[    3.548569] Adding 1572860k swap on /dev/sda6.  Priority:-1 extents:1 across:1572860k 

[  242.912143] iwl3945 0000:0c:00.0: iwlwifi-3945-2.ucode firmware file req failed: -2

[  303.840299] iwl3945 0000:0c:00.0: iwlwifi-3945-1.ucode firmware file req failed: -2

[  303.840305] iwl3945 0000:0c:00.0: Could not read microcode: -2

```

LSPCI:

```

0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

```

LSMOD:

```

Module                  Size  Used by

iwl3945                49304  0 

iwlcore                60111  1 iwl3945

```

After reading other topics I figured I had to emerge iwl3945-ucode but because I didn't have a network connection I copied a file called iwlwifi-3945-ucode-15.32.2.9.tgz over to /usr/portage/distfiles and the emerge looked successful after that.

I don't know what else to do so if anyone can please point me to the right direction I'd greatly appreciate it. Let me know if you need more information.

Thanks in advance!

----------

## roarinelk

do you have the "iwlwifi-3945-[12].ucode" files somehwere in /lib/firmware ?

Error code -2 means file not found!

----------

## realone

There's a file called iwlwifi-3945-2.ucode in my /lib/firmware/ but no -1.ucode though.

----------

## Gen_Too

When i try to do this:

cesar@tux9000 ~ $ sudo ifconfig wlan0 up

Password: 

SIOCSIFFLAGS: No such file or directory

cesar@tux9000 ~ $ 

Ive iwl3945 built-in.

----------

## mikegpitt

Why not boot back into the livecd where you presumably had an internet connection, chroot into your environment again and `emerge net-wireless/iwl3945-ucode`?  This way you will ensure it has installed the correct firmware.

Also, you mentioned you are running the 2.6.24 kernel.  Any reason you are running such an old kernel?  It could be the case that the kernel is too old to work properly with that driver/firmware.  The latest stable gentoo-sources are 2.6.37.

----------

## doctork

I have a 3945 on my Lenovo T61.  I'm don't have wifi currently available, but it has worked in the past.  My LSMOD looks like:

```
iwl3945                75042  0 

iwlcore                65495  1 iwl3945

mac80211              175386  2 iwl3945,iwlcore

cfg80211              150057  3 iwl3945,iwlcore,mac80211
```

I have this microcode modules loaded:

```
iwlwifi-3945-2.ucode
```

If I recall correctly, this has worked since around sys-kernel/gentoo-sources-2.6.32, the earliest I have run on this machine.

--

doc

----------

## pilla

kernel 2.6.24-r8?

----------

