# ipw2200 / wpa_supplicant / DHCP timeouts [SOLVED?]

## Eggplant!

Hello folks!

Having some really odd issues with my wireless. This is a Dell 9300 laptop with a built in Intel PRO/Wireless 2915ABG MiniPCI Adapter. Using the net-wireless/ipw2200 and net-wireless/ieee80211packages. Gentoo Kernel 2.6.15-r1. I've configured it to start up via wpa_supplicant and DHCP. And it works, but not during boot! 

As the machine boots, net.eth1 starts, wpa_supplicant starts, finds my access point and associates with my SSID (using WEP) without problems. DHCP starts... and times out. This eventually fails and the machine finishes boot. If I log in, and immediately issue a "sudo /etc/init.d/net.eth1 restart" wpa_supplicant is stopped, started, and grabs a DHCP address instantly. From that point on I have no issues. 

What the heck?

Possibly relevant packages:

```

net-wireless/ieee80211 1.1.6

net-wireless/ipw2200 1.0.8-r1

net-wireless/ipw2200-firmware 2.2 2.3 2.4

net-wireless/wpa_supplicant 0.5.0-r1

net-misc/dhcpcd 2.0.0

sys-kernel/gentoo-sources 2.6.15-r1

```

Last edited by Eggplant! on Wed Feb 08, 2006 1:16 am; edited 1 time in total

----------

## dgaffuri

I've exactly the same problem, look at this post. I marked it solved but it wasn't (misconfiguration in /etc/conf.d/net made me use iwconfig instead of wpa_supplicant). It just doesn't get a DHCP response after modprobing ipw2200.

----------

## Eggplant!

Interesting. Thanks for the pointer. My issue is exactly the same...

I'm able to reproduce the effect after boot if I issue iwpriv eth1 sw_reset  as mentioned on your original thread. DHCP will fail the first time the init script runs. Running it a second time works.

You say you started using iwconfig instead of wpa_supplicant... did this solve the issue for you? Is it specifically a wpa_supplicant problem?

----------

## dgaffuri

iwconfig works, but I can't use it at work where I need WPA. Currently I run wired when I'm there. For reference, the laptop is a Toshiba Tecra M2 with 

```
# lspci -v -s 02:05.0

02:05.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

        Subsystem: Intel Corporation Unknown device 2741

        Flags: bus master, medium devsel, latency 64, IRQ 11

        Memory at fceff000 (32-bit, non-prefetchable) [size=4K]
```

----------

## Eggplant!

Sigh. Still no luck.

I unmerged the portage packages for ieee80211 and ipw2200 and started using the in-kernel versions in gentoo-sources 2.6.25-r1. Same results. 

My conf.d/net config is very similar to dgaffuri's with the exeption that I'm not using ifplud or netplug, so those options are not present. I lowered the DHCP timeout to make waiting to log in less painful. 

```
# etc/conf.d/net

# eth0

iface_eth0="dhcp"

dhcpcd_eth0="-RN"

# eth1

modules_eth1=("wpa_supplicant")

wpa_supplicant_eth1="-Dwext"

iface_eth1="dhcp" 

dhcpcd_eth1="-RN -t 10"
```

My hardware is slightly different:

```
03:03.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI Adapter (rev 05)

        Subsystem: Intel Corporation Unknown device 1020

        Flags: bus master, medium devsel, latency 64, IRQ 5

        Memory at dfcfd000 (32-bit, non-prefetchable) [size=4K]

        Capabilities: [dc] Power Management version 2
```

----------

## Eggplant!

Still no solution to this. Tried downgrading to "stable" wpa_supplicant (0.4.7) but I still get the same results. This used to work flawlessly a few kernel revisions ago (2.6.13-ish) but I've changed so much since then with the kernel, the modules, and wpa_supplicant I can't say which bit is failing.

----------

## dgaffuri

No luck with 0.5.1 too. I've diffed output from wpa_supplicant when not working (left) and working (right).

```
Added interface eth1                                            Added interface eth1

Wireless event: cmd=0x8b06 len=8                                Wireless event: cmd=0x8b06 len=8

RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added                RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added

RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added                RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added

State: DISCONNECTED -> SCANNING                                 State: DISCONNECTED -> SCANNING

Starting AP scan (broadcast SSID)                               Starting AP scan (broadcast SSID)

Wireless event: cmd=0x8b15 len=20                             | Scan timeout - try to get results

Wireless event: new AP: 00:0d:88:61:ac:fe                     | Received 169 bytes of scan results (1 BSSes)

State: SCANNING -> ASSOCIATED                                 | Scan results: 1

Associated to a new BSS: BSSID=00:0d:88:61:ac:fe              | Selecting BSS from priority group 0

No keys have been configured - skip key clearing              | 0: 00:0d:88:61:ac:fe ssid='reply' wpa_ie_len=0 rsn_ie

Network configuration found for the current AP                |    skip - no WPA/RSN IE

                                                              >    selected non-WPA AP 00:0d:88:61:ac:fe ssid='reply'

                                                              > Trying to associate with 00:0d:88:61:ac:fe (SSID='reply'

                                                              > Cancelling scan request

                                                              > WPA: clearing own WPA/RSN IE

                                                              > Automatic auth_alg selection: 0x1

WPA: clearing AP WPA IE                                         WPA: clearing AP WPA IE

WPA: clearing AP RSN IE                                         WPA: clearing AP RSN IE

WPA: clearing own WPA/RSN IE                                    WPA: clearing own WPA/RSN IE

                                                              > No keys have been configured - skip key clearing

                                                              > wpa_driver_wext_set_key: alg=1 key_idx=0 set_tx=1 s

                                                              > wpa_driver_wext_set_drop_unencrypted

                                                              > State: SCANNING -> ASSOCIATING

                                                              > wpa_driver_wext_associate

                                                              > Setting authentication timeout: 10 sec 0 usec

EAPOL: External notification - portControl=ForceAuthorized      EAPOL: External notification - portControl=Force

                                                              > Wireless event: cmd=0x8b06 len=8

                                                              > Wireless event: cmd=0x8b1a len=14

                                                              > Wireless event: cmd=0x8b15 len=20

                                                              > Wireless event: new AP: 00:00:00:00:00:00

                                                              > Added BSSID 00:00:00:00:00:00 into blacklist

                                                              > State: ASSOCIATING -> DISCONNECTED

                                                              > EAPOL: External notification - portEnabled=0

                                                              > EAPOL: External notification - portValid=0

                                                              > CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys

                                                              > RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added

                                                              > Wireless event: cmd=0x8b15 len=20

                                                              > Wireless event: new AP: 00:0d:88:61:ac:fe

                                                              > State: DISCONNECTED -> ASSOCIATED

                                                              > Associated to a new BSS: BSSID=00:0d:88:61:ac:fe

Associated with 00:0d:88:61:ac:fe                               Associated with 00:0d:88:61:ac:fe

WPA: Association event - clear replay counter                   WPA: Association event - clear replay counter

EAPOL: External notification - portEnabled=0                    EAPOL: External notification - portEnabled=0

EAPOL: External notification - portValid=0                      EAPOL: External notification - portValid=0

EAPOL: External notification - portEnabled=1                    EAPOL: External notification - portEnabled=1

EAPOL: SUPP_PAE entering state S_FORCE_AUTH                     EAPOL: SUPP_PAE entering state S_FORCE_AUTH

EAPOL: SUPP_BE entering state IDLE                              EAPOL: SUPP_BE entering state IDLE

Cancelling authentication timeout                               Cancelling authentication timeout

State: ASSOCIATED -> COMPLETED                                  State: ASSOCIATED -> COMPLETED

CTRL-EVENT-CONNECTED - Connection to 00:0d:88:61:ac:fe comple   CTRL-EVENT-CONNECTED - Connection to 00:0d:

RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added                RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added

Scan timeout - try to get results                             <

Received 170 bytes of scan results (1 BSSes)                  <

Scan results: 1                                               <

Selecting BSS from priority group 0                           <

0: 00:0d:88:61:ac:fe ssid='reply' wpa_ie_len=0 rsn_ie_len=0 c <

   skip - no WPA/RSN IE                                       <

   selected non-WPA AP 00:0d:88:61:ac:fe ssid='reply'         <

Already associated with the selected AP.                      <
```

Here's I've launched dhcpcd

```
RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added                RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added

RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added              <

l2_packet_receive - recvfrom: Network is down                 <

RTM_NEWLINK, IFLA_IFNAME: Interface 'eth1' added              <
```

Here I've interrupted wpa_supplicant

```
CTRL-EVENT-TERMINATING - signal 2 received                      CTRL-EVENT-TERMINATING - signal 2 received

Removing interface eth1                                         Removing interface eth1

State: COMPLETED -> DISCONNECTED                                State: COMPLETED -> DISCONNECTED

wpa_driver_wext_deauthenticate                                  wpa_driver_wext_deauthenticate

No keys have been configured - skip key clearing              | wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 s

                                                              > wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 s

                                                              > wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 s

                                                              > wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 s

                                                              > wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 s

EAPOL: External notification - portEnabled=0                    EAPOL: External notification - portEnabled=0

EAPOL: SUPP_PAE entering state DISCONNECTED                     EAPOL: SUPP_PAE entering state DISCONNECTED

EAPOL: SUPP_BE entering state INITIALIZE                        EAPOL: SUPP_BE entering state INITIALIZE

EAPOL: External notification - portValid=0                      EAPOL: External notification - portValid=0

wpa_driver_wext_set_wpa                                         wpa_driver_wext_set_wpa

wpa_driver_wext_set_drop_unencrypted                            wpa_driver_wext_set_drop_unencrypted

wpa_driver_wext_set_countermeasures                             wpa_driver_wext_set_countermeasures

No keys have been configured - skip key clearing                No keys have been configured - skip key clearing

                                                              > Removed BSSID 00:00:00:00:00:00 from blacklist (clear)
```

Hope this will mean something to someone out there.

----------

## jwj

Bump, same annoying problem here.

----------

## Eggplant!

I think I may have found a temporary solution to this issue in this thread.

I noticed similar firmware errors to the ones mentioned in that thread. If I disable the hardware crypto features in the ipw2200 driver as outlined there, DHCP is able to grab an address the first time and everything works! Several people mention their issues were solved upgrading to 1.0.10 of the IPW driver without having to disable hardware crypto support. I'll try that next and report back.

in /etc/modules.d/ipw2200:

```
options hwcrypto=0
```

----------

## dgaffuri

 *Eggplant! wrote:*   

> I think I may have found a temporary solution to this issue in this thread.

 

Not for me. It's already disabled.

----------

## jwj

 *Eggplant! wrote:*   

> 
> 
> in /etc/modules.d/ipw2200:
> 
> ```
> ...

 

should be:

```

options ipw2200 hwcrypto=0

```

but doesnt solve the problem with ipw2200-1.0.10 for me.

----------

## Eggplant!

Hmm. Well, it ALMOST solves it for me. 

After turning off hw crypto, it works about 50% of the time. Where as before, it never worked. Bizarre.

----------

## dgaffuri

I've emerged sys-apps/baselayout-1.12.0_pre16 and now wpa_supplicant works. But iwconfig doesn't work anymore (dhcpcd timeout).

----------

## jwj

sys-apps/baselayout-1.12.0_pre16-r1 in combination with net-wireless/ipw2200-1.0.10 fixes my problem, thanks everybody!

----------

## dgaffuri

 *jwj wrote:*   

> sys-apps/baselayout-1.12.0_pre16-r1 in combination with net-wireless/ipw2200-1.0.10 fixes my problem, thanks everybody!

 

Glad to know. Does it work with iwconfig too (when you use a WEP network, of course)?

----------

## jwj

 *dgaffuri wrote:*   

> Glad to know. Does it work with iwconfig too (when you use a WEP network, of course)?

 

I dont use iwconfig, but I read, you should use a hex key instead of an ascii key with newer baselayouts.

----------

## dgaffuri

 *jwj wrote:*   

> I dont use iwconfig, but I read, you should use a hex key instead of an ascii key with newer baselayouts.

 

Yes, I read it in another thread and that fixes my problem. Thank you very much for the info.

----------

## UberLord

 *jwj wrote:*   

>  *dgaffuri wrote:*   Glad to know. Does it work with iwconfig too (when you use a WEP network, of course)? 
> 
> I dont use iwconfig, but I read, you should use a hex key instead of an ascii key with newer baselayouts.

 

Who says? If that's the case, file a bug. I maintain that bit of baselayout and I use ASCII keys. So phooey!

----------

## dgaffuri

 *UberLord wrote:*   

> Who says? If that's the case, file a bug. I maintain that bit of baselayout and I use ASCII keys. So phooey!

 

Look at this bug, and to my original one marked as a duplicate. It really seems so.

----------

## dgaffuri

 *dgaffuri wrote:*   

>  *UberLord wrote:*   Who says? If that's the case, file a bug. I maintain that bit of baselayout and I use ASCII keys. So phooey! 
> 
> Look at this bug, and to my original one marked as a duplicate. It really seems so.

 

I got it.  Removing single quotes from the ascii key value

```
key_<essid>="s:'<ascii key'"
```

solves the problem.

----------

## m.vandenheuvel

I use wpa_supplicant with ipw2100 drivers, with the same problem. I fixed it with removing ivman from rc-update. I think ivman tries to load the firmware and asks for an IP while booting the net.ethX service. With kde-3.5 automounting still works ok, so it seems that the problem is fixed here...

----------

