# intel wireless (ipw3945) not working

## Aurisor

Hello all,

I'm working on getting my wireless working on my ibm t60 thinkpad.  I've followed the guide at:

http://gentoo-wiki.com/HARDWARE_ipw3945

It seems to be working fine so far, but I'm running aground at the very end.

First the basic stats:

uname -a : Linux boomstick 2.6.22-gentoo-r9 #2 SMP PREEMPT Mon Nov 5 14:48:16 EST 2007 i686 Intel(R) Core(TM) Duo CPU T2400 @ 1.83GHz GenuineIntel GNU/Linux

lspci | grep intel -i : 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

And here's what I've done:

1) Compiled all of the suggested items into my kernel

2) emerged iwp3945 and ipw3945d.  the daemon starts successfully.  the module is running:

boomstick beta # lsmod

Module                  Size  Used by

vmnet                  29860  13 

vmmon                1793068  0 

ipw3945               172068  1 

3) i unmasked iwlwifi and installed it successfully.

4) I modprobe iwlwifi, and I get this:

boomstick beta # modprobe iwl3945

FATAL: Error inserting iwl3945 (/lib/modules/2.6.22-gentoo-r9/net/wireless/iwl3945.ko): Unknown symbol in module, or unknown parameter (see dmesg)

boomstick beta # dmesg

iwl3945: Unknown symbol sta_info_get

iwl3945: Unknown symbol ieee80211_start_queues

iwl3945: Unknown symbol ieee80211_tx_status

iwl3945: Unknown symbol ieee80211_stop_queue

iwl3945: Unknown symbol ieee80211_stop_queues

iwl3945: Unknown symbol ieee80211_get_hdrlen

iwl3945: Unknown symbol ieee80211_scan_completed

iwl3945: Unknown symbol ieee80211_unregister_hw

iwl3945: Unknown symbol ieee80211_beacon_get

iwl3945: Unknown symbol ieee80211_register_hwmode

iwl3945: Unknown symbol ieee80211_rx_irqsafe

Any ideas?

I'll be trolling the forums all afternoon, so if anyone needs more info, just let me know and I'll provide it.

----------

## Telemin

looks like you need to compile the 802.11 netowrk stack into your kernel.

I'm on a windows box atm so I can't tell you the exact options, but poke around in the netowrk options of menuconfig and you should find it.

----------

## hoacker

Did you emerge both iwlwifi and ipw3945? You should only use one.

----------

## Aurisor

 *hoacker wrote:*   

> Did you emerge both iwlwifi and ipw3945? You should only use one.

 

Really? That's not at all clear from the documentation...bogus!

As it stands now, I have ipw3945 and ipw3945d installed and running smoothly.  Iwlwifi is barfing whenever I try to modprobe it.

It seems most sensible, then to remove iwlwifi.  I assume I would do this by removing this kernel option:

```

Networking --->

   Wireless --->

   <M> Generic IEEE 802.11 Networking Stack (mac80211)

         [ ]   Enable LED triggers

         [ ]   Enable debugging output   

```

And then running an:

emerge -C iwlwifi && emerge ipw3945 ipw3945d

to be safe.  Does that sound right?

If I've really understood you, I'm going to write whomever maintains that documentation, because that is really confusing.

Thanks for your quick and helpful replies!

----------

## Aurisor

 *freestyling wrote:*   

> looks like you need to compile the 802.11 netowrk stack into your kernel.
> 
> I'm on a windows box atm so I can't tell you the exact options, but poke around in the netowrk options of menuconfig and you should find it.

 

Right now I have the kernel option mentioned in the previous post compiled in....though in light of Hoacker's comments, it seems more likely that this is due to having two conflicting packages installed at the same time.

----------

## hoacker

Indeed, ipw3945 and iwlwifi are different drivers for the same hardware. Your steps to remove kernel settings for iwlwifi and removing iwlwifi packages seem right to me.

ipw3945 is a tricky one, it took me days to get it working. With 2.6.22 kernel the newest packages didn't work for me, I had to use ipw3945-1.2.0. Now I'm using 2.6.23-kamikaze sources (which include ipw3945-1.2.2) and it works.

iwlwifi is the newer driver and still shows some issues (see forum thread) but it seems to work fine for most people. It is intended for replacing ipw3945 as far as I understood. Unfortunately it does not work for me. Maybe you give it a try if you like...

----------

## Aurisor

 *hoacker wrote:*   

> Indeed, ipw3945 and iwlwifi are different drivers for the same hardware. Your steps to remove kernel settings for iwlwifi and removing iwlwifi packages seem right to me.
> 
> ipw3945 is a tricky one, it took me days to get it working. With 2.6.22 kernel the newest packages didn't work for me, I had to use ipw3945-1.2.0. Now I'm using 2.6.23-kamikaze sources (which include ipw3945-1.2.2) and it works.
> 
> iwlwifi is the newer driver and still shows some issues (see forum thread) but it seems to work fine for most people. It is intended for replacing ipw3945 as far as I understood. Unfortunately it does not work for me. Maybe you give it a try if you like...

 

Cool, thanks for the suggestions.

Just out of curiosity, how did your machine just "not work" with ipw3945?  I seem to have followed the guide to the letter and removed all traces of iwlwifi, but there is just no evidence of eth1, and I have no idea how to proceed.

----------

## hoacker

 *Aurisor wrote:*   

> 
> 
> Just out of curiosity, how did your machine just "not work" with ipw3945?  I seem to have followed the guide to the letter and removed all traces of iwlwifi, but there is just no evidence of eth1, and I have no idea how to proceed.

 

I couldn't connect to the router with the newer packages but the interface was available. 

What could have gone wrong with your install? Hm. 

- The interface could also be wlan0 or something. Any other interface available (iwconfig)?

- Is the module loaded? Ask lsmod.

- Check /etc/udev/rules.d/70-persistent-net.rules for entries with iwlwifi or ipw3945. Remove (if any) and reboot.

- Any error messages concerning ipw394 in the logs?

----------

## Drone1

On my T60P, prior to iwlwifi coming out I had used ipw3945 and ipw3945d and both worked without issue. 

I had set it up so when I modprobe'd 'ipw3945', ipw3945d starts which in turn starts net.eth1, running the wireless settings. After that, I ran 'dhcpcd eth1' to pull an IP. 

With the upgrade to 2.6.23, I moved to iwlwifi, and find its simpler than the above multistep with ipw3945.

Set the 3945 use flag for 'iwlwifi' when you emerge it so it pulls the 3945 ucode package, since you NEED THAT. Appropriate *80211 kernel modules are probably also needed....

After that, all I do now is run /etc/init.d/net.eth1 start, and it connects the wireless, and pulls the IP.

With iwlwifi, ifconfig shows the following devices:

```

eth1

wmaster0_

```

----------

## Aurisor

 *hoacker wrote:*   

>  *Aurisor wrote:*   
> 
> Just out of curiosity, how did your machine just "not work" with ipw3945?  I seem to have followed the guide to the letter and removed all traces of iwlwifi, but there is just no evidence of eth1, and I have no idea how to proceed. 
> 
> I couldn't connect to the router with the newer packages but the interface was available. 
> ...

 

Ooh, I've got this in iwconfig:

```

eth1      unassociated  ESSID:off/any  

          Mode:Managed  Frequency=nan kHz  Access Point: Not-Associated   

          Bit Rate:0 kb/s   Tx-Power:16 dBm   

          Retry limit:15   RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:off

          Link Quality:0  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:64   Missed beacon:0

```

That means I'm off to the races, right?  I was just expecting /etc/init.d/net.eth0 to show up magically or something to appear in ifconfig.

----------

## hoacker

 *Aurisor wrote:*   

> 
> 
> That means I'm off to the races, right?

 

I don't know that idiom, but I think the answer is: yes! Now that the interface is available you can go on and configure it. I recommend following the HOWTOs in the wiki. Ask if you get stuck...

----------

