# ipw3945 - eth1 no wireless extensions

## zalun

Hi

The problem is - after installing drivers, switching off the Fn+F2 key the iwconfig shows "eth1 no wireless extensions"

I have Dell Inspiron 6400 with Core Duo, ipw3945 and ATI1300

I've installed gentoo 2 years ago on some desktop machine, later only some servers.

I decided to go back to gentoo again (after 2y Ubuntu) as I like to use the power of the machine I have.

I installed it once, and wifi worked perfectly, but then I updated udev and everything "went down". I tried to fix it, believe me, but (as the install wasn't very rich) I decided to do it again. And what happens - completely different experience: 

 * Wifi Kill was on

 * and now eth1 no wireless extensions

BTW I had to copy the ipw3945.ucode from /lib/firmware to /lib/modules/...`uname -r`/drivers/firmware to get to this point

The only strange thing in udev is MTRR.

I'm using 

 * ipw3945 1.1.0-r1

 * ipw3945-ucode  1.13

 * ipw3945d 1.7.22-r3

 * ieee80211 1.1.13-r1 (I see that there is a 1.2.15 ~86 as well I'll try it waiting for some help)

Below some output from logs:

```

dmesg | grep ipw

ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.1.0mpr

ipw3945: Copyright(c) 2003-2006 Intel Corporation

ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

ipw3945: Detected geography ABG (13 802.11bg channels, 23 802.11a channels)

ipw3945: Detected geography ABG (13 802.11bg channels, 23 802.11a channels)

ipw3945: Error sending cmd #08 to daemon: time out after 500ms.

```

```

localhost ~ # dmesg | grep iee

ieee80211_crypt: registered algorithm 'NULL'

ieee80211: 802.11 data/management/control stack, 1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

ieee80211_crypt: registered algorithm 'WEP'

```

```

localhost ~ # iwconfig

lo        no wireless extensions.

eth0      no wireless extensions.

eth1      radio off  ESSID:off/any  

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

          Bit Rate:0 kb/s   Tx-Power:off   

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

          Encryption key:1234-5678-9098-7654-3212-3456-78   Security mode:open

          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:3   Missed beacon:0

```

yeah! it works! let's turn on the net!

```

localhost ~ # /etc/init.d/net.eth1 start

 * Starting eth1

 *   Wireless radio has been killed for interface eth1                                                                                                   [ !! ]

```

ehhh didn't worked, let's try again

```

localhost ~ # /etc/init.d/net.eth1 start

 * Starting eth1

 *   Configuring wireless network for eth1

eth1      no wireless extensions.

Error for wireless request "Set Mode" (8B06) :

    SET failed on device eth1 ; Resource temporarily unavailable.

 *   eth1 does not support setting the mode to "managed"

Error for wireless request "Set Mode" (8B06) :

    SET failed on device eth1 ; Resource temporarily unavailable.

 *   eth1 does not support setting the mode to "managed"

Error for wireless request "Set ESSID" (8B1A) :

    SET failed on device eth1 ; Resource temporarily unavailable.

 * ERROR:  net.eth1 caught an interrupt

```

so the wifi was truly killed

```

localhost ~ # iwconfig

lo        no wireless extensions.

eth0      no wireless extensions.

eth1      no wireless extensions.

```

The other strange thing in the dmesg is MTRR

```

ipw3945: Detected geography ABG (13 802.11bg channels, 23 802.11a channels)

mtrr: no more MTRRs available

mtrr: no more MTRRs available

mtrr: no more MTRRs available

mtrr: no more MTRRs available

ieee80211_crypt: registered algorithm 'WEP'

```

And the only config I have:

```

localhost ~ # cat /etc/conf.d/wireless

essid_eth1="any"

key_mamma="12345678909876543212345678"

preferred_aps=("mamma")

```

----------

## zalun

Update after installing ieee82011 1.2.15.

The WiFi lid is blinking.

But the system freezes after coldplug (long before ipw3945d)

Enough for today.

Waiting for help.

----------

## tai

Does your /etc/conf.d/net look something like this (assuming ur using standard dhcp)[/code]:

```

modules=("iwconfig")

config_eth0=("dhcp")

dhcpcd_eth0=""

config_eth1=("dhcp")

dhcpcd_eth1=""

```

----------

## gustafson

Did you have a resolution?  I see this post is really old but it describes my problem exactly.  

I've tried iwconfig and wpa_supplicant.  I don't think it is a configuration issue.  

With ifconfig everything works swimmingly except trying to choose a ESSID.  By default it connects to an open system.  This isn't mine, when I blacklist the ESSID this is when the problem occurs.

----------

## nianderson

Grrr I hate this stupid ipw3945 driver.

its always been a bit flakey for me but recently I updated my system including kernel.

Funny thing is after the update it worked for a few days. Today I cant get it to work at all

```

* Starting eth1

 *   Configuring wireless network for eth1

eth1      no wireless extensions.

Error for wireless request "Set Mode" (8B06) :

    SET failed on device eth1 ; Resource temporarily unavailable.

 *   eth1 does not support setting the mode to "managed"

Error for wireless request "Set Mode" (8B06) :

    SET failed on device eth1 ; Resource temporarily unavailable.

 *   eth1 does not support setting the mode to "managed"

Error for wireless request "Set ESSID" (8B1A) :

    SET failed on device eth1 ; Resource temporarily unavailable.

 *   Failed to configure wireless for eth1                                [ !! ]

```

Seems very close to the first post anyone have any ideas?

running gentoo-sources 2.6.19-r5

----------

## Drone1

Kernel versions >= 2.6.18 need to have ieee80211 config'd in the kernel, not emerged from portage. I prefer to modularize them, as it helps with troubleshooting.

That being said, once all ipw3945* have been emerged, run 'modules-update' then 

```
modprobe -l |grep 'ipw'
```

 to make sure ipw3945 shows up.

The procedure goes something like this:

- modprobing 'ipw3945' should start /etc/init.d/ipw3945d which checks /etc/conf.d/wireless for 'wireless network settings'

----- this should add ieee80211 and any other ieee80211 modules you have set up

-- you should now be able to run 'iwconfig' and see eth1 wireless connection settings. if 'Tx-Power: off' , 'iwconfig eth1 txpower auto' and it should enable it. if not, down it, up it, the usual things you do to interfaces.....

- next, you should be able to start /etc/init.d/net.eth1 ,which will look to /etc/conf.d/net for interface IP specifics.

That should be it. This of course is going on the premise that the appropriate stuff is modularized, ipw3945* packages emerge properly and, nothing spooky is going on.

Here is another post that goes into a little bit more detail on this.

----------

## nianderson

Indeed when I updated to 2.6.19-r5 i did remove the out of kerenl ieee80211 that I had been using before. What is so odd is that it worked after my upgrade and after I did the module-rebuild rebuild  on the ipw3945 drivers.

It just stopped working yesterday for some unknown reason. Last night I upgraded to 2.6.20-gentoo-sources and rebuild my modules for it. Oddly enough that seemed to do the trick. But as it worked for a day on .19 ill reserve judgement for later when I get home and hop back on the wireless.

----------

## azote

same problem here... i'm going to try this at home

----------

## nianderson

What seems to have happened is that the radio is no turning on when the driver loads. If I turn on the radio after the driver loads then restart ipw3945d then connect to my ap then pull an address things work.

I cant remember how to turn on the radio from the cli i got lazy and just kwifimanager to do that.

----------

## DirtyHairy

I've had similar symptoms giving me headache for some time. Apparently something goes wrong when the demon is loaded and after some seconds, I get a timeout in dmesg and radio is turned off. Fortunately, I can use turn it on again via echoing 0 into /sys/bus/pci/drivers/ipw3945/[someaddress]/rf_kill, e.g. via 

```
echo 0 > $(find -L /sys/bus/pci/drivers/ipw3945 -maxdepth 2 2>&1 | grep rf_kill)
```

, after which it behaves as it should. I suspect this to be some hardware timing flaw as other people having the very same hardware configuration (lenovo thinkpad T60)  don't suffer from this.

----------

## azote

uhm that didn't work ... :s

----------

## piewie

this is an italien guide, but it seems to be the completest that I know for ipw3945

http://www.debianclan.org/index.php?option=com_content&task=view&id=87&Itemid=38

----------

## nianderson

So this seems to work at the cli for me.

```

ifcfg eth1 down

echo 0 > $(find -L /sys/bus/pci/drivers/ipw3945 -maxdepth 2 2>&1 | grep rf_kill)

/etc/init.d/ipw3945d restart

iwconfig eth1 essid MYESSID

dhcpcd eth1

```

----------

