# [SOLVED]Recent ipw3945 problem

## tai

hi all,

These are my installed packages for getting ipw3945 to work:

```

[ebuild   R   ] net-wireless/ieee80211-1.2.15  USE="-debug" 0 kB 

[ebuild   R   ] net-wireless/ipw3945-1.1.3  USE="-debug" 0 kB 

[ebuild   R   ] net-wireless/ipw3945d-1.7.22-r4  0 kB 

[ebuild   R   ] net-wireless/wireless-tools-28  USE="nls -multicall" 0 kB 

```

These have been working for me for about a month..

...and Today i recompiled my kernel Gentoo-sources-2.6.18-r6 (i am sure that nothing related to networking was changed)

and after updating modules my wireless card cannot start on boot (but ipw3945d was *successfully* started)...its rather annoying to execute this in order to get my wireless card up:

```

rmmod ipw3945 && modprobe ipw3945

```

If i just run ipw3945d under root without using the above, i get:

```

ipw3945d - regulatory daemon

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

version: 1.7.22

2007-01-08 23:33:28: ERROR: Could not find Intel PRO/Wireless 3945ABG Network Connection

```

I tried downgrading both ieee80211 and ipw3945 to stable but same message for ipw3945d.

I remember encountering this rmmod-modprobe trick sometime before but i don't know how exactly i fixed it. May i doubt ipw3945-1.1.3 because it has been recently hard masked (from masked to hard masked, a coincidence or related to my problem?). I suppose that it should be the same because im not using the newest ipw3945-1.1.13-r2 (for 2.6.19 and up + in kernel ieee80211).

Thanks.

Best wishes,

TaiLast edited by tai on Wed Jan 10, 2007 7:31 am; edited 1 time in total

----------

## jekyll

 *tai wrote:*   

> 
> 
> ...and Today i recompiled my kernel Gentoo-sources-2.6.18-r6 (i am sure that nothing related to networking was changed)
> 
> and after updating modules my wireless card cannot start on boot (but ipw3945d was *successfully* started)...its rather annoying to execute this in order to get my wireless card up:
> ...

 

Thank you for giving me a workaround for getting my card working.  I haven't been able to get it to work all day.  I've tried:

1.  Confirmed the card worked with a Linux LiveCD, and Windows XP.

2.   Uninstalled the kernel I updated today (2.6.19, which was reported as required by ipw3945-1.1.3-r2) and backtracked to the last known configuration that I had working.

3.  Uninstalled and reinstalled ipw3945 ipw3945-ucode and ipw3945d (and ieee80211 if needed)

4.  Checked dmesg, /var/log/ipw3945, and /var/log/messages, with no luck

5.  Tried modprobe -r ipw3945 followed by modprobe ipw3945 with no luck

6.  Hit my head against the wall.

7.  Checked gentoo bugzilla for any reported errors on ipw3945 related to this problem.... no luck.

8.  Deleted the module manually in /lib/modules/2.6.*/net/wireless/ and reinstalled ipw3945

9.  Reinstalled the 2.6.19 kernel and uninstalled ieee80211 package, reinstalled ipw3945-1.1.3-r2

10.  Went for a long walk off a short pier .....

...

1000. Tried rmmod ipw3945 && modprobe ipw3945 and it worked !  (Twice!)

 *tai wrote:*   

> 
> 
> If i just run ipw3945d under root without using the above, i get:
> 
> ```
> ...

 

I get the same message.  In addition, no eth1 interface is created at all.  iwconfig lists no wireless interfaces, but lsmod shows the module ipw3945 is loaded.  The directory contents of /sys/class/net only show eth0 and lo for me (no eth1 is shown).

 *tai wrote:*   

> I tried downgrading both ieee80211 and ipw3945 to stable but same message for ipw3945d.
> 
> I remember encountering this rmmod-modprobe trick sometime before but i don't know how exactly i fixed it. May i doubt ipw3945-1.1.3 because it has been recently hard masked (from masked to hard masked, a coincidence or related to my problem?). I suppose that it should be the same because im not using the newest ipw3945-1.1.13-r2 (for 2.6.19 and up + in kernel ieee80211).
> 
> 

 

Do you mean ipw3945-1.1.3-r2?  I've installed ipw3945-1.1.3-r2 and the in kernel ieee80211 and the card works with the rmmod && modprobe trick above.  I don't think it is because 1.1.3 is hard masked, since not only is 1.1.3 hard masked, but so is 1.1.2 and 1.1.1.  I seem to recall that I wasn't able to get the wireless adapter working unless I used the latest hardmasked package.

Thanks again for the workaround!!

-jekyll

----------

## koenderoo

I'm not a user of this ipw3945 but it's likely it works the same as ndiswrapper. Which means that the drivers are compiled against the active kernel. Every time you upgrade the kernel you should recompile the drivers too. That's how it works with ndiswrapper (and ati-drivers too btw).

It's a guess, but likely: recompile the drivers against the new kernel (this means just recompile now) and it will work again.

There is a package, can't remember which one now, that you can run to recompile every package that needs recompiling when a new kernel is installed. It's waste when you have only one package, but handy when having to update multiple packages after renewing the kernel.

----------

## JeliJami

 *koenderoo wrote:*   

> There is a package, can't remember which one now, that you can run to recompile every package that needs recompiling when a new kernel is installed. It's waste when you have only one package, but handy when having to update multiple packages after renewing the kernel.

 

It's called module-rebuild

----------

## tai

 *koenderoo wrote:*   

> I'm not a user of this ipw3945 but it's likely it works the same as ndiswrapper. Which means that the drivers are compiled against the active kernel. Every time you upgrade the kernel you should recompile the drivers too. That's how it works with ndiswrapper (and ati-drivers too btw).
> 
> It's a guess, but likely: recompile the drivers against the new kernel (this means just recompile now) and it will work again.
> 
> There is a package, can't remember which one now, that you can run to recompile every package that needs recompiling when a new kernel is installed. It's waste when you have only one package, but handy when having to update multiple packages after renewing the kernel.

 

I am not sure why but its exactly this module-rebuild that destroyed my old setup... It used to be working before ipw3945-1.1.3 was hard masked.

Some old possible workarounds i tried to get my wireless card load on boot:

https://forums.gentoo.org/viewtopic-t-522993-highlight-ipw3945+rmmod.html

https://forums.gentoo.org/viewtopic-t-526447.html

https://forums.gentoo.org/viewtopic-t-527375-highlight-ipw3945+rmmod.html

But none of them works now.

Can anyone confirm that ipw3945d-1.7.22-r4 and ipw3945-1.1.3 still work?

I am gonna assume this is an ipw3945/ipw3945d bug if no one can get it working properly.

UPDATE: i already see a similar bug report on this: 

https://bugs.gentoo.org/show_bug.cgi?id=161047

 *jekyll wrote:*   

> 
> 
> Do you mean ipw3945-1.1.3-r2? I've installed ipw3945-1.1.3-r2 and the in kernel ieee80211 and the card works with the rmmod && modprobe trick above. I don't think it is because 1.1.3 is hard masked, since not only is 1.1.3 hard masked, but so is 1.1.2 and 1.1.1. I seem to recall that I wasn't able to get the wireless adapter working unless I used the latest hardmasked package.
> 
> Thanks again for the workaround!!
> ...

 

I can't use ipw3945-1.1.3-r2 because it requires kernel version 2.6.19. I am glad you finally got your wireless up!

----------

## jekyll

 *tai wrote:*   

>  *koenderoo wrote:*   I'm not a user of this ipw3945 but it's likely it works the same as ndiswrapper. Which means that the drivers are compiled against the active kernel. Every time you upgrade the kernel you should recompile the drivers too. That's how it works with ndiswrapper (and ati-drivers too btw).
> 
> It's a guess, but likely: recompile the drivers against the new kernel (this means just recompile now) and it will work again.
> 
> There is a package, can't remember which one now, that you can run to recompile every package that needs recompiling when a new kernel is installed. It's waste when you have only one package, but handy when having to update multiple packages after renewing the kernel. 
> ...

 

What problems did this cause?  I was considering using it.

 *Quote:*   

> 
> 
> Some old possible workarounds i tried to get my wireless card load on boot:
> 
> https://forums.gentoo.org/viewtopic-t-522993-highlight-ipw3945+rmmod.html
> ...

 

If the rmmod ipw3945 && modprobe ipw3945 worked, try adding it to /etc/conf.d/local.start .  I placed it there, and my card now works on bootup.  It's not a cure, just a temporary fix.  A bug should probably be filed.   I think it may be related to how udev loads the module.  I tried one of the forums that said it could prevent udev from loading it, but it didn't work.  When I left ipw3945 out of /etc/modules.autoload.d/kernel-2.6, the module was still loaded by udev, but it didn't work properly until rmmod && modprobe was done.

-jekyll

----------

## tai

It turns out that:

 *Quote:*   

> 
> 
> 08 Jan 2007; Christian Heim <phreak@gentoo.org>
> 
> -ipw3945d-1.7.22-r3.ebuild, ipw3945d-1.7.22-r4.ebuild:
> ...

 

was the cause!!

Those two lines of chown/chmod completely screwed me because ipw3945d is run under root on boot so theres no way it can light up with those code.

This is the part of my /etc/init.d/ipw3945d that was changed to (removing those chown/chmod lines):

```

start() {

        check

        ebegin "Starting ipw3945d"

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

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

        sleep 0.5

        eend ${?}

}

```

"sleep 0.5" was added to give the wireless card enough time to start up so netmount can load net.eth1 correctly. Then all my net-dependent services are autoloading again  :Very Happy:  I am gonna file a bug report and see what happens.

There might be a more elegant way to assign root and ipw3945d group permissions but i haven't been able to get that working.

----------

## jekyll

 *tai wrote:*   

> It turns out that:
> 
>  *Quote:*   
> 
> 08 Jan 2007; Christian Heim <phreak@gentoo.org>
> ...

 

I can report that this cleared up my issue as well.  No more rmmod ipw3945 && modprobe ipw3945 is needed at boot! 

Thanks!

-jekyll

----------

## gustafson

Thank you!  Removing those chown/chmod lines did it for me too.

----------

## tai

This has recently been fixed..just sync and recompile ipw3945d.

----------

## Seron

Thanks for the info. Adding sleep 0.5 solved the problem of ipw3945 not starting properly at boottime.

----------

