Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 130410 - ipw3945 doesn't work through modules.autoload
Summary: ipw3945 doesn't work through modules.autoload
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Mobile Herd (OBSOLETE)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-18 15:11 UTC by Padde
Modified: 2006-05-27 12:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Padde 2006-04-18 15:11:13 UTC
Hallo there,

I'm very glad that the ipw3945 driver for Intel's new "Centrino" generation's wireless LAN adapter made it into portage that fast. Thanks to Henrik Brix Andersen! I've been using the driver for the last few weeks already, now I saw that it's in portage.

Now here's my bug report (perhaps it has been discussed on the sf-list already, I didn't check carefully):

After emerging the driver, there is no info that it can't be used through the /etc/modules.autoload.d/kernel-2.6 file. If I try to load it automatically there, so that the interface is available at the time when net.wlan is run on startup, the regulatory daemon (ipw3945d) isn't being run, so the interface won't be ready as needed.

As a workaround, I put this into my /etc/conf.d/net:

preup() {
	if [ "${IFACE}" == "wlan" ]; then modprobe -r ipw3945 &>/dev/null; modprobe ipw3945 && sleep 2; fi
	return 0
}

postdown() {
	if [ "${IFACE}" == "wlan" ]; then modprobe -r ipw3945; fi
	return 0
}

Note the "sleep 2" which I also found is necessary, otherwise the interface won't be ready when the net script needs it. "wlan" must be changed to your interface's name.

Perhaps there should be a hint when emerging ipw3945 to add those lines (or something else that does the job, I don't know if this is a proper solution) to the /etc/conf.d/net. Better would be of course to investigate why the daemon isn't being started when using modules.autoload in the first place.

Anyway - keep up the good work! :)

Patrick.
Comment 1 Henrik Brix Andersen 2006-04-21 08:26:29 UTC
Do you have /var on a seperate partition?
Comment 2 Padde 2006-04-21 16:57:56 UTC
No. In fact I only have / and swap.
Comment 3 Antony Mee 2006-05-07 03:32:28 UTC
Same issue here.  I have to start ipw3945d manually and then restart NetworkManager (very annoying) to have wireless.

Henrik, I do have /var on a separate partition.  Are you suggesting that could be the problem?  I see no error message or the likes even suggesting that the ipw3945d attempted but failed to write it's pid file.
Comment 4 Surakshan Mendis 2006-05-25 18:00:30 UTC
I have the same issue. I honestly think everyone does.
So the module "loads" but its of no use unless the regulatory daemon is run as well. For that to happen I have to unload the driver and modprobe it again, and then it loads. If I do it, it loads. Maybe something is not available so early on in the module autoload process.

My / /usr /var /tmp (and /home) are on different partitions.
Comment 5 Dan Martins 2006-05-26 14:37:26 UTC
If you allow coldplug to install the module on it's own (ie remove ipw3945 from modules.autoload.d/kernel-2.6, emerge coldplug and rc-update add coldplug boot) the regulatory daemon seems to start fine. However, if you are using udev version 090 like me then this replaces coldplug but doesn't load the daemon along with the module like coldplug does :(

I'm still searching for a solution but am probably in over my head.
Comment 6 Henrik Brix Andersen 2006-05-27 12:05:10 UTC
(In reply to comment #5)
> If you allow coldplug to install the module on it's own (ie remove ipw3945 from
> modules.autoload.d/kernel-2.6, emerge coldplug and rc-update add coldplug boot)
> the regulatory daemon seems to start fine. However, if you are using udev
> version 090 like me then this replaces coldplug but doesn't load the daemon
> along with the module like coldplug does :(
> 
> I'm still searching for a solution but am probably in over my head.

The solution for now is to use coldplug instead of modules.autoload. I'm working with upstream to provide a better solution in ipw394d.