# [ALMOST SOLVED] ipw3945 wifi card not working (Thinkpad T60)

## e-nigma

Hello,

I´ve beet trying to get my ipw3945abg wifi card working since many hours now.

I´m using the kernel 2.6.19 with the ieee802.11 subsystem builtin.

I´ve emerged the ipw3945 driver version 1.1.3-rc2, my ipw3945d is version 1.7.22-r4.

When I start the ipw3945 daemon, I get:

```
# /etc/init.d/ipw3945d restart

 * Stopping ipw3945d ...                                                  [ ok ]

 * Starting ipw3945d ...                                                  [ ok ]

```

lsmod gives me:

```
# lsmod

Module                  Size  Used by

capability              5896  0 

commoncap               8192  1 capability

ipw3945               206756  0 

snd_hda_intel          21528  1 

snd_hda_codec         162944  1 snd_hda_intel

snd_pcm                78596  2 snd_hda_intel,snd_hda_codec

snd_timer              23940  1 snd_pcm

snd_page_alloc         11272  2 snd_hda_intel,snd_pcm

evdev                  11392  0 

```

modprobing the kernel module works perfectly. (also unloading)

The problem  arises when I do:

```
 # ipw3945d --foreground

ipw3945d - regulatory daemon

Copyright (C) 2005-2006 Intel Corporation. All rights reserved.

version: 1.7.22

2007-01-21 16:05:44: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection

```

lspci tells me: 

```

# ipw3945d --foreground

ipw3945d - regulatory daemon

Copyright (C) 2005-2006 Intel Corporation. All rights reserved.

version: 1.7.22

2007-01-21 16:05:44: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection

monolith enigma # lspci

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)

00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)

00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)

00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)

00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02)

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400

02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller

03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

15:00.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

```

I´ve posted my kernel .config here: http://rafb.net/p/bogp0I79.html

I hope someone can help me getting the wifi working.

Thanks in advance.

----------

## everolth

Hi,

Maybe this sounds stupid but did you install the firmware, i.e. ipw3945-ucode? I also have the same wireless card in a dell inspiron 9400 and I had no problem running it. If you want I can send you my kernel .config file so that you can compare.

----------

## e-nigma

Sorry that I didn´t mention this, but I have installed  net-wireless/ipw3945-ucode-1.13 . So that´s not the problem.

Anyway thank you. If you have the same kernel as I (2.6.19 gentoo), I´d be glad to see your .config.

----------

## everolth

Ok, I have sent you my .config file. I hope that it helps.

----------

## e-nigma

Thanks for your .config but I didn´t find anything that could have helped me. So the problem is still not solved

----------

## Horus424

I've got a similar problem with the Lenovo X60s. Up to now, ipw3945 works (even WPA) only when using Kernel 2.6.18. (and ipw3945d-1.7.18). I have tried all different version combinations (Kernel 2.6.19, 2.6.20, ipw3945d-1.7.22-r4.....), but only the above mentioned combination works for me. With ipw3945d-1.7.22-r4, the module is loaded successfully only once while booting (but not assotiating). After removing the kernel module (or restarting ipw3945d), I get the same error as you do.

If someone has a working configuration for kernels > 2.6.18, plz let us know...

----------

## e-nigma

Thanks very much for your post. I´ve now downgraded everything to your level, and it now seems to work. I think that there´s a bug in the ipw3945d deamon.

----------

## Horus424

i have just found out, that 2.6.18-r6 is no  longer available. I will try to get it working under 2.6.19 again. I found a few suggestions here in the forum, like https://forums.gentoo.org/viewtopic-t-526447.html. (Fran's post). I will keep you up to date of my progress.

----------

## Horus424

All right, now i got it working under 2.6.19-3, but its a bit complicated. I use ipw3945-1.1.3-r2 (hartmasked) and ipw3945d-1.7.22-r4. Concerning ieee80211, i did an emerge -C and used the in kernel stack (compiled in the kernel). While booting, the interface is associanting via WPA as I mentioned in my previous post. Because it is a notebook, I want to be able to to shutdown and restart WLAN. But that was not working (ipw3945d returned an error, that no wireless card was found). to restart, i use a series of commandos:

/etc/init.d/ipw3945d stop

rmmod ipw3945

rm /var/run/ipw3945d/ipw3945.pid (i don't know why that is necessary, but without it, ipw3945d complains on restarting, that it cannot create the pid file....)

modprobe ipw3945 (this will start ipw3945d, too)

Finally I modified /etc/conf.d/ipw3945d as mentioned in fran's post adding  --pid-file=/var/run/ipw3945d/ipw3945.pid to the ARGS part...

I hope this will help you. When I find a simpler solution (I am still dreaming of Networkmanager), I will inform you.

----------

## e-nigma

Jeahh, you are my hero  :Wink: . This really works perfectly, I´m currently using the ipw3945!. Off coures this is not the perfect solution, so if you find anything better, please let me know. Btw, do you use Networkmanager?

----------

## Horus424

 :Very Happy:  like I said, I still dream of it. I have tried Networkmanager again yesterday (with 2.6.19 now). But I have two problems:

The Association via WEP does not work

After half a minute WLAN LED is still flashing and it seems, it tries to associate, Networkmanager is crashing

But for me, it not really a problem. Most of the time, I use two different Wireless Lan Networks (home and office, both are WEP protected). Wpa_supplicant works without problem. Only, when using open WLAN's (like T-Mobile in Germany), I change my /etc/conf.d/net back to WEP (commenting out the wpa_supplicant part). I don't know why exactly, I can't get WEP with wpa_supplicant to work. So, I have a working WEP and a working WPA configuration working  :Smile: 

But still Networkmanager seem invitingly... I will keep you informed.

----------

## e-nigma

I´ve tried networkmanager too, but now ipw3945 doesn´t work anymore. So I´ve unmerged it, but it didn´t help.  :Sad: 

[EDIT] I´ve now deleted the /var/run/ipw3945d directory and recreated it, and  applied chmod 777 to it, and now it works again:)

BTW, do you also have a thinkpad t60?

----------

## menschmeier

Hi,

I have the same probleme. I thought ipw3945 will work well under linux when I bought thsi laptop ...   :Sad: 

I installed kernel-2.6.18.6 and then I tried to emerge  *Quote:*   

> net-wireless/ipw3945d-1.7.18

  but it is hardmasked.

I tried to unmask is by inserting it in  *Quote:*   

> /etc/portage/package.unmask

 . But it still fails to emerge. 

How did you do it?

menschmeier

----------

## menschmeier

Hi,

I have the same probleme. I thought ipw3945 will work well under linux when I bought thsi laptop ...   :Sad: 

I installed kernel-2.6.18.6 and then I tried to emerge  *Quote:*   

> net-wireless/ipw3945d-1.7.18

  but it is hardmasked.

I tried to unmask is by inserting it in  *Quote:*   

> /etc/portage/package.unmask

 

But it still fails to emerge. 

How did you do it?

menschmeier

----------

## rmh3093

 *e-nigma wrote:*   

> Hello,
> 
> I´ve beet trying to get my ipw3945abg wifi card working since many hours now.
> 
> I´m using the kernel 2.6.19 with the ieee802.11 subsystem builtin.
> ...

 

the reason why the /etc/init.d/ipw3945d script works is because when you emerge ipw3945d in does a 'chown ipw3945d /sbin/ipw3945d' (and /etc/init.d/ipw3945d runs ipw3945d as user="ipw9345d") so you cant run the program as root because the owner of ipw3945d has to be the same as what is on /sys/bus/pci/drivers/ipw3945/00*/cmd

sooo... to get around this you could edit /etc/init.d/ipw3945d and change the line with 'chown ipw3945d /sys/bus/pci/drivers/ipw3945/00*/cmd' to 'chown root /sys/bus/pci/drivers/ipw3945/00*/cmd' then 'chown root /sbin/ipw3945d' and reboot, should be be all good then

----------

## e-nigma

try adding: ACCEPT_KEYWORDS="~x86" in front of emerge ipw3945d, if this doesn´t work please post the messages you get when trying to emerge.

@rmh3093: This seems to be a good idea. I´ve done chmod 777 on the file, that also works, but anyway thank you.

----------

