DWL-650/DHCP/IP Problems

Pavel Roskin proski
Mon Feb 16 22:05:22 PST 2004


On Mon, 16 Feb 2004, Kalyan Ram Chintalapati wrote:

> Output from iwconfig wlan0 >>after dhcpcd<<
>
> linux:/usr/src/hostap/utils # iwconfig wlan0
> wlan0           IEEE 802.11b  ESSID:"cuarinet" Nickname:"linux"
>                  Mode:Managed  Frequency:2.467GHz  Access Point:
> 44:44:44:44:44:44
>                  Bit Rate:11Mb/s   Sensitivity=1/3 Retry limit:16   RTS
> thr:off   Fragment thr=2312 B
>                  Encryption key:blah-blah-blah-blah-blah-blah-bl   Security
> mode:restricted
>                  Power Management:off
>                  Link Quality:27/70  Signal level:-58 dBm Noise level:-86 dBm
>                  Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>                  Tx excessive retries:0  Invalid misc:8461  Missed beacon:0

The firmware has survived, but the card has disconnected.  I think dhcpcd
just brings the interface down for a short time to set the new interface
parameters.  I remember reading about this problem long ago.  You can
patch dhcpcd not to bring the interface down.  This hack should help you -
it makes dhcpcd never bring the interface down (patch against
dhcpcd-1.3.22-pl4):

======================
--- client.c
+++ client.c
@@ -1136,7 +1136,7 @@ void *dhcpStop()
   if ( ioctl(dhcpSocket,SIOCSIFADDR,&ifr) == -1 )
     syslog(LOG_ERR,"dhcpStop: ioctl SIOCSIFADDR: %m\n");
 #endif
-  ifr.ifr_flags = saved_if_flags & ~IFF_UP;
+  ifr.ifr_flags = saved_if_flags | IFF_UP;
   if ( (IfName_len==IfNameExt_len) && ioctl(dhcpSocket,SIOCSIFFLAGS,&ifr) )
     syslog(LOG_ERR,"dhcpStop: ioctl SIOCSIFFLAGS: %m\n");
 tsc:
======================

Or you can use another dhcp client, such as dhclient of pump.  As far as I
know, dhclient doesn't bring the interface down in case of success.  Not
sure about pump.

The question still remains why the card fails to reassociate after the
interface is brought up again.  If you are interested to find out, use
ethereal on a separate interface to see what packets were exchanged
between the card and the access point.  That may be hard to debug.

-- 
Regards,
Pavel Roskin




More information about the Hostap mailing list