Re: Why whenever I enable the WiFi interface NM sends a DHCPDISCOVER if still not associate with any AP?



On Mon, 2009-02-09 at 23:12 +0000, Stolz wrote:
> 2009/2/9 Dan Williams <dcbw redhat com>:
> > On Sat, 2009-02-07 at 16:24 +0000, Stolz wrote:
> >> Whenever I switch from wired to wireless interface, it takes more than
> >> 45 seconds to get the wireless interface enabled. Looking at the logs,
> >> seems the problem is (k)Networkmanager sends a DHCPDISCOVER before
> >> been associated with any AP:
> >
> > Can you post some logs from when you enable the wireless interface?  The
> > logs you've got start too late to be able to see exactly what's
> > happening.
> >
> > NM *should* be associating with the AP first (including all security
> > setup), and only when the wifi card says it's successfully associated
> > with the AP, will NetworkManager begin DHCP.
> >
> > Dan
> 
> 
> Hello Dan.
> 
> Here is the full log. I activated the WiFI interface exactly at 01:04:03
> The log also can be read at http://rafb.net/p/K4H7x991.html

Much better.  So NetworkManager doesn't know that your device is a wifi
device, as you can see near the top when NM detects wlan0 as an ethernet
device.  This is likely because the driver is not reporting the correct
stuff to HAL.  If you look in the output of 'lshal', you should find a
section for 'wlan0'.  Mine looks like:

udi = '/org/freedesktop/Hal/devices/net_00_16_33_33_33_33'
  info.capabilities = {'net', 'net.80211'} (string list)
  info.category = 'net.80211'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_8086_4220'  (string)
  info.product = 'WLAN Interface'  (string)
  info.subsystem = 'net'  (string)
  info.udi = '/org/freedesktop/Hal/devices/net_00_16_33_33_33_33'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'net'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1e.0/0000:02:02.0/net/eth2'  (string)
  net.80211.mac_address = 96355641140  (0x166f3e6734)  (uint64)
  net.address = '00:16:33:33:33:33'  (string)
  net.arp_proto_hw_id = 1  (0x1)  (int)
  net.interface = 'eth2'  (string)
  net.linux.ifindex = 3  (0x3)  (int)
  net.originating_device = '/org/freedesktop/Hal/devices/pci_8086_4220'  (string)
  net.physical_device = '/org/freedesktop/Hal/devices/pci_8086_4220'  (string)

You can see that "info.capabilities" contains the item "net.80211".
That means that HAL recognizes the device as a wifi device.  You'll
probably need to talk to your distribution's HAL maintainer, and/or the
person responsible for the kernel driver to figure out why it's not
providing the right stuff to HAL.

Dan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]