# ipw3945 problems after emerge -uaDNv world yesterday

## jtp755

As the title says...problems after upgrading yesterday (it had been about a week since i had updated anything) and now my eth1(wireless) wont start and says it doesnt exist and make sure hardware or kernel module exists. any ideas? i know udev got updated so maybe thats it and also of note is m4 and linux-headers. there is a new kernel also...im running 2.6.17-r8--gentoo-sources right now. any ideas on what happened?

----------

## jtp755

i found my answer here: https://forums.gentoo.org/viewtopic-t-522841.html thanks

[edit]

upon a reboot...the problem is not fixed

though if i use rmmod and do if for ipw3945, ieee80211, and ieee80211_crypt and then use modprobe ipw3945 everything works great. Anyone got any ideas? thanks in advance!

[/edit]

----------

## jtp755

bump

----------

## richfish

Do you happen to have a separate /var filesystem?  If so, you might want to take a look at my /etc/modules.d/ipw3945:

```

install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.1; /sbin/ipw3945d --quiet

remove ipw3945 /sbin/ipw3945d --kill ; sleep 0.1; /sbin/modprobe -r --ignore-remove ipw3945

alias pci:v00008086d00004222sv*sd*bc*sc*i* off

alias pci:v00008086d00004227sv*sd*bc*sc*i* off

```

(remember to run modules-update if you make any changes)

The alias lines prevent udev from coldplugging the ipw3945 module on boot, as that requires starting up the daemon, which cannot be done without /var mounted.  I then have a "modprobe ipw3945" in /etc/conf.d/local.start.

----------

## jtp755

thanks...i do have a seperate /var. i will try your solution and get back to you. thanks.

----------

## prlewis

Hi,

I don't have a seperate var, but am getting exactly the same problem since upgrading udev.

I followed the gentoo instructions and it was all working fine until then. During bootup I get:

```
ipw3945: no version for "ieee80211_wx_get_encodeext" found: kernel tainted.

ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.0.5mpr

ipw3945: Copyright(c) 2003-2006 Intel Corporation

ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 16 (level, low) -> IRQ 17

PCI: Setting latency timer of device 0000:02:00.0 to 64

ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

```

But if I do 'rmmod ipw3945 && modprobe ipw3945' then I get this:

```
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.0.5mpr

ipw3945: Copyright(c) 2003-2006 Intel Corporation

ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 16 (level, low) -> IRQ 17

PCI: Setting latency timer of device 0000:02:00.0 to 64

ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

ipw3945: Detected geography ABG (13 802.11bg channels, 23 802.11a channels)

```

Note the last line, and it all works.

Did you get it fixed?

Cheers,

Pete.

----------

## jtp755

the above solution didnt work for me...

----------

## defenderBG

 *jtp755 wrote:*   

> though if i use rmmod and do if for ipw3945, ieee80211, and ieee80211_crypt and then use modprobe ipw3945 everything works great.

 

did this solution work? 

have u upgradet your kernel?

----------

## celticsoul

For those who have /var problem, please take a look here:

https://forums.gentoo.org/viewtopic-t-434817-postdays-0-postorder-asc-highlight-ipw3945d-start-525.html

----------

## jtp755

yeah...that works for me and no i havent upgraded my kernel...its on the list to do tonight though..

----------

## jtp755

just thought that i would say that upgrading my kernel to gs-2.6.18-r4 didnt fix the ipw3945 problem

----------

## Huttu

prlewis: I have the same problem as you after I updated ipw3945d today. Your solution worked for me but I had to use modprobe -r instead of rmmod.

I first swithed back from ipw3945-1.7.22-r4 to ipw3945-1.7.22-r3 but I that didn't help.

Is there a way to fix this problem permanently?

Cheers huttu

----------

## Huttu

Since my last post,i found out, that a certain combination of modprobe, /etc/init.d/ipw3945d and reemerge solves the problem. Unfortunately I'm not sure which comination is right. That problem is quite solution resistant

----------

## dariohy

The only solution that has worked for me is to mask the packages manually... I've downgraded the software to the following:

/etc/portage/package.mask

```
>=net-wireless/ipw3945d-1.7.22

>=net-wireless/ipw3945-1.1.0
```

Still, there's got to be a better solution to this... looking forward to it... anyway, I have no problem on using the old drivers, so far they have done the trick.

UPDATED:

After reading ahead into other posts, here's what I've learned about...

- You can use ipw3945d as it is originally intended to be upgraded to r4, the problem is that you need to chown the /var/run/ipw3945d in order to make it accesible to ipw3945d daemon. Furtheremore, make shure to change the /etc/conf.d/ipw3945d file and replace the only line there is as follows:

```
ARGS="--timeout=-1 --quiet --pid-file=/var/run/ipw3945d/ipw3945d.pid"
```

** this is a solution proposed by Fran on this post: https://forums.gentoo.org/viewtopic-t-526447-highlight-ipw3945.html

- Not recommended, but still valid, is to downgrade drivers as I mentioned before, and edit the /etc/init.d/ipw3945d, changing the lines:

```
start-stop-daemon --start --exec /sbin/ipw3945d --pidfile ${PIDFILE} -- \

     --pid-file=${PIDFILE} ${ARGS}
```

to

```
start-stop-daemon --start --exec /sbin/ipw3945d 
```

Therefore, making the daemon to run as root... inquiring some security issues like overflows and remote executions issues.

----------

## Huttu

It worked, thanks a lot. It really started to become a pain. dariohy, you've saved the day!

Thanks Huttu

----------

