Hi, I'm the guy who's having the same problem as beatryder. I read that thread to, and tried this solution. Alas, to no avail.Seron wrote:beatryder, I had the same or very similar problem and solved it by adding a little sleep in /etc/init.d/ipw3945d right before the end of start().[post=3832423]Here's[/post] some more nfo.Code: Select all
start() { check ebegin "Starting ipw3945d" chown ipw3945d /sys/bus/pci/drivers/ipw3945/00*/cmd chmod a-w,u+rw /sys/bus/pci/drivers/ipw3945/00*/cmd start-stop-daemon --start --exec /sbin/ipw3945d --pidfile ${PIDFILE} -- \ --pid-file=${PIDFILE} ${ARGS} sleep 0.5 # <--- here eend ${?} }
That was a good idea. Seems that it doesn't work for all systems: it doesn't solve it on my system, unfortunately.zappala wrote:beatryder, I also had a similar problem with a version of this driver, and I fixed it by removing ipw3945d from the default runlevel and adding it to the boot runlevel instead. This gave it enough time to startup before net.eth1 started.
and from kerneltrap.org:dsd wrote: The other large topic was the merge of the new wireless stack (d80211) which was donated to the community by Devicescape. The stack has many more features than the current in-kernel ieee80211/softmac stack, and improves consistency between drivers. We are now much closer to getting d80211 merged into mainline Linux, but there are still some significant technical issues to be resolved.
Before the conference, several people asked me if I could raise issues with the suckiness of Intels ipw3945 driver offering in that it relies on this awkward closed-source userspace daemon. Fortunately Intel have found a way to rewrite their firmware so that the regulatory domain control is no longer at the driver level, therefore a fully open-source driver with no binary userspace part has been developed (iwlwifi). Although Intel have not yet announced it, the source code has been released here. This rewritten driver uses the d80211 stack mentioned above, so its not possible just to compile it against mainline Linux at the moment. The iwlwifi website includes instructions for how to check out the wireless-dev tree where d80211 is being held.
EDIT: d80211 patched and built without issues against kernel suspend2-2.6.19-r1, microcode copied in /lib/firmware, driver compiled seemingly without issues, loading it causes a bad lock (keyboard gets stuck, mouse still moves, after some minutes, things (namely, X) start crashing). conclusion: for now, iwlwifi is HIGHLY UNSAFE to use.Quick glance at the code shows that iwlwifi is based on ipw3945 driver and is still a bit complex compared to OpenBSD wpi driver.

This solution did not work for me either.Joebel wrote:That was a good idea. Seems that it doesn't work for all systems: it doesn't solve it on my system, unfortunately.zappala wrote:beatryder, I also had a similar problem with a version of this driver, and I fixed it by removing ipw3945d from the default runlevel and adding it to the boot runlevel instead. This gave it enough time to startup before net.eth1 started.
Thanks for the suggestion though.
Joebel
Not because it is unstable but because its *functionnality* has deeply changed. As I said >=udev-098 is incompatible with coldplug: you have to remove it. Plug and play works in a completely different manner as of udev-098.beatryder wrote:I dont understand why I should downgrade from a *stable* package?
I don't understand then. I have been using udev <= 098 with the ipw3945-1.1.13 and everything worked just fine. Now it has been removed from portage, and I am hosed.VinzC wrote:Not because it is unstable but because its *functionnality* has deeply changed. As I said >=udev-098 is incompatible with coldplug: you have to remove it. Plug and play works in a completely different manner as of udev-098.beatryder wrote:I dont understand why I should downgrade from a *stable* package?
Code: Select all
[root@inspirebox /usr/src/linux] dmesg | grep ipw
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.3mpr
ipw3945: Copyright(c) 2003-2006 Intel Corporation
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.3mpr
ipw3945: Copyright(c) 2003-2006 Intel Corporation
[root@inspirebox /usr/src/linux] dmesg | grep ieee
ieee80211: 802.11 data/management/control stack, git-1.1.13
ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
ieee80211_crypt: registered algorithm 'NULL'
ieee80211_crypt: registered algorithm 'WEP'
ieee80211_crypt: registered algorithm 'CCMP'
ieee80211_crypt: registered algorithm 'TKIP'
ieee1394: Host added: ID:BUS[0-00:1023] GUID[424fc0001805ed41]
[root@inspirebox /usr/src/linux] emerge -av ipw3945d ipw3945-ucode ipw3945 ieee80211
[ebuild R ] net-wireless/ipw3945d-1.7.22-r4 0 kB
[ebuild R ] net-wireless/ipw3945-ucode-1.14.2 0 kB
[ebuild R ] net-wireless/ipw3945-1.2.0 USE="-debug" 0 kB
[ebuild N ] net-wireless/ieee80211-1.2.16 USE="-debug" 0 kB
[root@inspirebox /usr/src/linux] /etc/init.d/ipw3945d restart
* Stopping ipw3945d ... [ ok ]
* Starting ipw3945d ...
chown: nie ma dostêpu do `/sys/bus/pci/drivers/ipw3945/00*/cmd': Nie ma takiego pliku ani katalogu
chmod: nie ma dostêpu do `/sys/bus/pci/drivers/ipw3945/00*/cmd': Nie ma takiego pliku ani katalogu
[root@inspirebox /usr/src/linux] lsmod
Module Size Used by
ipw3945 112480 0
i915 21056 3
ohci1394 31824 0
ieee1394 83892 1 ohci1394
uhci_hcd 20812 0
ehci_hcd 28364 0
[root@inspirebox /usr/src/linux] iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
[root@inspirebox /usr/src/linux] ls -la /sys/bus/pci/drivers/ipw3945
razem 0
drwxr-xr-x 2 root root 0 lut 12 15:37 .
drwxr-xr-x 17 root root 0 lut 8 21:18 ..
--w------- 1 root root 4096 lut 12 15:37 bind
-rw-r--r-- 1 root root 4096 lut 12 15:37 debug_level
lrwxrwxrwx 1 root root 0 lut 12 15:37 module -> ../../../../module/ipw3945
--w------- 1 root root 4096 lut 12 15:37 new_id
--w------- 1 root root 4096 lut 12 15:37 unbind
[root@inspirebox /usr/src/linux] ls -la ..| grep linux
lrwxrwxrwx 1 root root 14 lut 8 14:04 linux -> ./linux-2.6.20
Code: Select all
[root@inspirebox /usr/src/linux] uname -a
Linux inspirebox 2.6.20 #1 SMP Thu Feb 8 12:00:50 Local time zone must be set--see zic m i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linuxafter you modprobe ipw3945 and start the daemon, type lsmod.... if the used by column is 0 for the ipw3945 module then that means there was probably a firmware error... type dmesg and look for any ipw3945 errors, i bet it says it couldnt load the firmwaresLoDkI wrote:Ok, I realised I have ipw3945-1.2.0 emerged and ipw3945-1.1.3 from kernel, so I've done emerge -C 1.2.0 version, rm -rf /lib/modules/2.6.20/, rebuild and reinstall kernel modules - still no efect: module loaded, no /sys/bus/pci/drivers/ipw3945/00*/cmd files and no wireless interface.
The main problem is that there are no errors. Take a look:rmh3093 wrote:after you modprobe ipw3945 and start the daemon, type lsmod.... if the used by column is 0 for the ipw3945 module then that means there was probably a firmware error... type dmesg and look for any ipw3945 errors, i bet it says it couldnt load the firmware
Code: Select all
[root@inspirebox /usr/src/linux] lsmod
Module Size Used by
i915 21056 3
ohci1394 31824 0
ieee1394 83892 1 ohci1394
ehci_hcd 28364 0
uhci_hcd 20812 0
[root@inspirebox /usr/src/linux] modprobe ipw3945
* Starting ipw3945d ... [OK]
[root@inspirebox /usr/src/linux] /etc/init.d/ipw3945d start
* WARNING: ipw3945d has already been started.
[root@inspirebox /usr/src/linux] lsmod | grep ipw
ipw3945 112480 0
[root@inspirebox /usr/src/linux] dmesg | grep ipw
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.3mpr
ipw3945: Copyright(c) 2003-2006 Intel Corporation
[root@inspirebox /usr/src/linux] tail /var/log/messages
Feb 14 10:02:58 inspirebox ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.3mpr
Feb 14 10:02:58 inspirebox ipw3945: Copyright(c) 2003-2006 Intel Corporation
Feb 14 10:03:25 inspirebox rc-scripts: WARNING: ipw3945d has already been started.Code: Select all
[root@inspirebox /usr/src/linux] /etc/init.d/ipw3945d restart
* Caching service dependencies ... [ ok ]
* Stopping ipw3945d ... [ ok ]
* Starting ipw3945d ...
chown: cannot access `/sys/bus/pci/drivers/ipw3945/00*/cmd': No such file or directory
chmod: cannot access `/sys/bus/pci/drivers/ipw3945/00*/cmd': No such file or directory [ ok ]Code: Select all
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945d/files/ipw3945d-init.d,v 1.4 2006/12/22 10:11:26 phreak Exp $
PIDFILE=/var/run/ipw3945d/ipw3945d.pid
depend() {
before net
}
check() {
# Let's check if the pidfile is still present.
if [ -f "${PIDFILE}" ] ; then
eerror "The pidfile ($PIDFILE) is still present."
eerror "Please check that the daemon isn't running!"
return 1
fi
}
start() {
check
ebegin "Starting ipw3945d"
# chown ipw3945d /sys/bus/pci/drivers/ipw3945/00*/cmd
# chmod a-w,u+rw /sys/bus/pci/drivers/ipw3945/00*/cmd
start-stop-daemon --start --exec /sbin/ipw3945d --pidfile ${PIDFILE} -- \
--pid-file=${PIDFILE} ${ARGS}
sleep 0.5
eend ${?}
}
stop() {
ebegin "Stopping ipw3945d"
start-stop-daemon --stop --exec /sbin/ipw3945d --pidfile ${PIDFILE}
eend ${?}
}
They work, although when under heavy load (sftp and the likes) the ipw3945 stutters and dies..beatryder wrote:For all those interested in the older modules
Get them here:
http://neucode.org/gentoo/ipw3945.tar.bz2
Joebel wrote:They work, although when under heavy load (sftp and the likes) the ipw3945 stutters and dies..beatryder wrote:For all those interested in the older modules
Get them here:
http://neucode.org/gentoo/ipw3945.tar.bz2
Remains weird though: having a completely working network setup--> portage deletes those ebuilds, introduces new ones (now even "stable")--> no working setup.
look in dmesg for TKIP replays and mickael mic digest failure.although when under heavy load (sftp and the likes) the ipw3945 stutters and dies..
If you see the daemon run automatically once the module is loaded then you don't need ipw3945d init script because the latter was provided only for those cases where the insert/remove instructions in /etc/modules.d/ipw3945d are ignored by the system. So remove ipw3945d (emerge -C ipw3945d) and install the stable ipw3945 package. (I'd expect troubles running the daemon twice.)sLoDkI wrote:Everytime I modprobe ipw3945 - it automaticly starts ipw3945d daemon.
Joebel wrote:They work, although when under heavy load (sftp and the likes) the ipw3945 stutters and dies..
Remains weird though: having a completely working network setup--> portage deletes those ebuilds, introduces new ones (now even "stable")--> no working setup.
Rather drastic a solutionbeatryder wrote:Yeah, that pissed me off too. I actually have considered changing distros now. The only thing that has kept me around is the fact that I know it won't be much better if I go elsewhere and I know gentoo so well now that it would more work to switch.