View previous topic :: View next topic |
Author |
Message |
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Tue Sep 26, 2006 5:27 pm Post subject: ipw3945 kernel module won't insert after gcc update [solved] |
|
|
I just upgraded to gcc 4.1.1, set my profile to 'i686-pc-linux-gnu-4.1.1', recompiled everything on my system...and now my ipw3945 drivers won't work. So I recompiled ieee80211, ipw3945, ipw3945d, ipw3945-ucode, and then tried reinserting the module. Here's the error I get:
Code: |
FATAL: Error inserting ipw3945 (/lib/modules/2.6.17-gentoo-r8/net/wireless/ipw3945.ko): invalid module format
|
Last time I saw this, all I needed to do was recompile ieee80211, and that was it. I can't figure it out now. Did my gcc upgrade break the driver? Any ideas how to fix? _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }-
Last edited by coplaniuk on Thu Sep 28, 2006 1:48 am; edited 1 time in total |
|
Back to top |
|
|
Master Shake l33t
Joined: 10 Apr 2005 Posts: 755 Location: Wilmington, Delaware
|
Posted: Tue Sep 26, 2006 5:31 pm Post subject: |
|
|
gcc4.1.1 does not break the driver. Sounds like you might've re-emerge gentoo-sources and had your .config wiped off. There is a handy tool called module-rebuild in portage try recompiling your kernel then run module-rebuild. See if that fixes it. _________________ System Specs:
64-bit gentoo linux
Q6600 @ 3.2Ghz
P35 Chipset
4 Gigs 800mhz 4-4-4-12
Nvidia GeForce 8800 GTX @ 630mhz |
|
Back to top |
|
|
madisonicus Veteran
Joined: 20 Sep 2006 Posts: 1130
|
Posted: Tue Sep 26, 2006 8:46 pm Post subject: |
|
|
I always forget to do the /usr/portage/net-wireless/ieee80211/files/remove-old after I recompile. If you haven't tried that yet, maybe give it a shot? Then re-emerge ipw3945d ipw3945 ieee80211. |
|
Back to top |
|
|
wah Guru
Joined: 25 Feb 2005 Posts: 453 Location: Raleigh, NC, USA
|
Posted: Tue Sep 26, 2006 8:59 pm Post subject: |
|
|
If this is an external module (ie - you emerged it), you will need to recompile it against the kernel source...however, if you have not recompiled your KERNEL against GCC 4.1, then you need to do that first. I had a similar issue with the nvidia module...module-rebuild did not fix it until I had recompiled my kernel with GCC 4.1
HTH,
W. _________________ - AMD64 3000+, MSI K8N-SLI, Nvidia Geforce 6600 PCIE, 2GB OCZ Dual-Channel PC3200,2x160GB SATA
- Registered Linux User #418541 |
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Wed Sep 27, 2006 4:41 am Post subject: |
|
|
Ok...tried as you guys had suggested. eth1 just isn't appearing. Here's the output of my dmesg (after I try to start net.eth1):
Quote: |
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
ipw3945: Radio Frequency Kill Switch is On:
Kill switch must be turned off for wireless networking to work.
|
So how do I go about disabling the the Radio Frequency kill switch? _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }- |
|
Back to top |
|
|
wah Guru
Joined: 25 Feb 2005 Posts: 453 Location: Raleigh, NC, USA
|
Posted: Wed Sep 27, 2006 5:00 am Post subject: |
|
|
Found this on another site...worth a shot:
Quote: |
Kill switch must be turned off for wireless networking to work.
suggested that Fn-F2 is the magic to turn off the Kill Switch. If this doesn't work then modify the BIOS (F2 on boot) to disable the wireless hotley. The wireless load command worked for me after Fn-F2 |
Good luck,
W. _________________ - AMD64 3000+, MSI K8N-SLI, Nvidia Geforce 6600 PCIE, 2GB OCZ Dual-Channel PC3200,2x160GB SATA
- Registered Linux User #418541 |
|
Back to top |
|
|
madisonicus Veteran
Joined: 20 Sep 2006 Posts: 1130
|
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Wed Sep 27, 2006 1:40 pm Post subject: |
|
|
Firmware is for the 2200 cards. 3945 cards work differently. _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }- |
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Wed Sep 27, 2006 1:44 pm Post subject: |
|
|
Okay, I'm making some progress now.
I got everything recompiled: ieee80211, ipw3945, ipw3945d, ipw3945-ucode, wireless-tools. Then I was able to connect to my hub (wirelessly) without too many problems.
Then I rebooted.
At startup, system tries to start net.eth1 (My wireless card, I have it set to run default with rc-update). It claims that it cannot find a configuration and that it's assuming DHCP, which of course fails (I don't use DHCP on my home network). So I log in as root and try to restart net.eth1 couple of times ('/etc/init.d/net.eth1 start'). The first time, it at least recognizes my configuration in /etc/conf.d/net, but it cannot find a host. I try to restart again and every time after that, it complains that the wireless has been killed (kill switch error).
I am able to get wireless working again, but I have to do the following:
1) stop ipw3945d
2) remove the following modules with rmmod: ipw3945, ieee80211_crypt_wep, ieee80211_crypt, ieee80211, firmware_something (sorry...can't remember the name, and that computer is off)
3) modprobe ipw3945
4) start ipw3945d
5) start net.eth1
And everything works fine. But as soon as I reboot, I need to start all over.
It seems almost like it's loading the wrong modules. Is that possible? Is there a way I can find where the module is loading from? If that's not the case, it seems like it's trying to start net.eth1 prematurely. I don't know if that's causing the whole kill switch thing, but it could be.
Does anyone have any other ideas? _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }- |
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Thu Sep 28, 2006 12:25 am Post subject: |
|
|
any thoughts? _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }- |
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Thu Sep 28, 2006 1:47 am Post subject: |
|
|
Figured it out, but I don't know why. I had ipw3945d starting by default (using rc-update). I removed it from all runlevels, and for some reason my card works perfectly at startup.
***EDIT***
Turns out the issue is the /etc/init.d/ipw3945d script itself. While trying to solve an unrelated issue, I downgraded my ipw3945d version and noticed it worked as it should with the daemon. When I upgraded to latest version again, it still worked. It wasn't until I did an etc-update that I discovered that I was overwriting my daemon script with a newer version. The newer version, however, is yielding errors that variables are undefined. If I use the old version of the script, I'm fine. _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }-
Last edited by coplaniuk on Fri Oct 06, 2006 10:55 pm; edited 1 time in total |
|
Back to top |
|
|
wrc1944 Advocate
Joined: 15 Aug 2002 Posts: 3456 Location: Gainesville, Florida
|
Posted: Fri Oct 06, 2006 5:13 pm Post subject: |
|
|
copanluk,
I just read this thread- I take it you still have the problem just posted on your other "performance" thread about dropping out? _________________ Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.40-r5, gcc-14
kernel-6.12.8 USE=experimental python3_12.7-final-0 |
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Fri Oct 06, 2006 10:52 pm Post subject: |
|
|
The module is inserting properly. I'm still having some problems keeping connection life...but it's unpredictable. I think it may be performance related, however. As far as this topic is concerned, I got this issue solved. If, after we get all the other things tweaked and settled, and I still have connectivity problems, I'll revive this thread. _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }- |
|
Back to top |
|
|
wrc1944 Advocate
Joined: 15 Aug 2002 Posts: 3456 Location: Gainesville, Florida
|
Posted: Fri Oct 06, 2006 11:26 pm Post subject: |
|
|
I don't have much experience with wireless, as I just have a wireless box in my little home office ,away from my router where my main system is. This might sound too simplistic, and probably not the cause, but are you sure it's not a signal strength problem? I'm just learning about this, and am quickly finding out it's very tricky and frustrating.
In my case, my low signal connection (going through several walls and a fridge/oven blockage will randomly drop out for seemingly no reason I can perceive. Does it happen when you know you have have a good signal? I guess you've gone through all the iwconfig stuff, such as this from iwconfig man page. http://linux.about.com/od/commands/l/blcmdl8_iwconfi.htm
sens
Set the sensitivity threshold. This is the lowest signal level for
which we attempt a packet reception, signal lower than this are not received. This is used to avoid receiving background noise, so you should set it according to the average noise level. Positive values are assumed to be the raw value used by the hardware or a percentage, negative values are assumed to be dBm.
With some hardware, this parameter also control the defer threshold (lowest signal level for which we consider the channel busy) and the handover threshold (lowest signal level where we stay associated with the current access point).
Example :
iwconfig eth0 sens -80 _________________ Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.40-r5, gcc-14
kernel-6.12.8 USE=experimental python3_12.7-final-0 |
|
Back to top |
|
|
coplaniuk Guru
Joined: 14 Apr 2004 Posts: 461 Location: Philadelphia, USA
|
Posted: Fri Oct 13, 2006 4:24 am Post subject: |
|
|
I figured out the exact problem...and it's one of those kick-yourself-for-being-so-simple type of things. I just had my runlevels setup wrong. I had ipw3945d and net.eth1 set for the "default" runlevel. I discovered that if I set ipw3945d in the 'boot' runlevel (and I left net.eth1 as 'default'), everything works as it should.
In hind-sight, it makes perfect sense. ipw3945d is responsible for loading the firmware and identifying the interface. It should be a boot issue. _________________ -- Coplan
~/ Outland - Art, Music, PHP and Hidden Corners of the Web
-{ Embrace Life. Evolve your computer. Emerge Gentoo. }- |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|