knetworkmanager can't acquire dhcp address on wep network
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
knetworkmanager (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: knetworkmanager
NB - this might well be a networkmanager issue, rather than knetworkmanager. But since I don't see an existing bug that seems relevant, I'm guessing that it's specific to knetworkmanager.
I have an hp compaq nc6400 with an Intel 3945 wifi card. When trying to connect to a WEP network using knetworkmanager, I always see dhcp timeouts. When using iwconfig and ifup from the command-line, though, I don't have any problems getting a dhcp address.
$ lspci | grep 3945
10:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
$ uname -a
Linux mblakele-lt 2.6.22-11-generic #1 SMP Fri Sep 7 04:31:16 GMT 2007 x86_64 GNU/Linux
$ apt-show-versions | grep network | grep manager
network-
network-
knetworkmanager
$ grep eth1 /etc/network/
#auto eth1
#iface eth1 inet dhcp
#iface eth1 inet static
Here's what I see in my syslog:
Sep 15 09:43:33 mblakele-lt NetworkManager: <debug> [1189874613.360681] nm_device_
Sep 15 09:43:33 mblakele-lt NetworkManager: <info> User Switch: /org/freedeskto
Sep 15 09:43:33 mblakele-lt NetworkManager: <info> Deactivating device eth1.
Sep 15 09:43:33 mblakele-lt dhclient: There is already a pid file /var/run/
Sep 15 09:43:33 mblakele-lt dhclient: killed old client process, removed PID file
Sep 15 09:43:33 mblakele-lt dhclient: DHCPRELEASE on eth1 to 10.0.1.1 port 67
Sep 15 09:43:33 mblakele-lt avahi-daemon[6187]: Withdrawing address record for 10.0.1.102 on eth1.
Sep 15 09:43:33 mblakele-lt avahi-daemon[6187]: Leaving mDNS multicast group on interface eth1.IPv4 with address 10.0.1.102.
Sep 15 09:43:33 mblakele-lt avahi-daemon[6187]: Interface eth1.IPv4 no longer relevant for mDNS.
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> SUP: sending command 'DISABLE_NETWORK 0'
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> SUP: sending command 'AP_SCAN 0'
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> SUP: sending command 'TERMINATE'
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:34 mblakele-lt avahi-daemon[6187]: Withdrawing address record for fe80::218:
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Device eth1 activation scheduled...
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1) started...
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) scheduled...
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) started...
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) scheduled...
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 1 of 5 (Device Prepare) complete.
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) starting...
Sep 15 09:43:34 mblakele-lt NetworkManager: <info> Activation (eth1/wireless): access point 'blakeley' is encrypted, and a key exists. No new key needed.
Sep 15 09:43:35 mblakele-lt NetworkManager: <info> supplicant_
Sep 15 09:43:35 mblakele-lt NetworkManager: <info> supplicant_
Sep 15 09:43:35 mblakele-lt NetworkManager: <info> SUP: sending command 'INTERFACE_ADD eth1^I^
Sep 15 09:43:35 mblakele-lt kernel: [ 88.677976] ADDRCONF(
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> supplicant_init() - connect to device ctrl socket (3/10).
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'AP_SCAN 1'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'ADD_NETWORK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was '0'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'SET_NETWORK 0 ssid 626c616b656c6579'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'SET_NETWORK 0 key_mgmt NONE'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'SET_NETWORK 0 wep_key0 <key>'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'SET_NETWORK 0 wep_tx_keyidx 0'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: sending command 'ENABLE_NETWORK 0'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> SUP: response was 'OK'
Sep 15 09:43:36 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 2 of 5 (Device Configure) complete.
Sep 15 09:43:37 mblakele-lt NetworkManager: <info> Activation (eth1/wireless) Stage 2 of 5 (Device Configure) successful. Connected to access point 'blakeley'.
Sep 15 09:43:37 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) scheduled.
Sep 15 09:43:37 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) started...
Sep 15 09:43:37 mblakele-lt kernel: [ 89.498644] ADDRCONF(
Sep 15 09:43:38 mblakele-lt NetworkManager: <info> Activation (eth1) Beginning DHCP transaction.
Sep 15 09:43:38 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 3 of 5 (IP Configure Start) complete.
Sep 15 09:43:38 mblakele-lt NetworkManager: <info> DHCP daemon state is now 12 (successfully started) for interface eth1
Sep 15 09:43:38 mblakele-lt dhclient: There is already a pid file /var/run/
Sep 15 09:43:39 mblakele-lt avahi-daemon[6187]: Registering new address record for fe80::218:
Sep 15 09:43:39 mblakele-lt NetworkManager: <info> DHCP daemon state is now 1 (starting) for interface eth1
Sep 15 09:43:41 mblakele-lt dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7
Sep 15 09:43:48 mblakele-lt dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 15
Sep 15 09:43:48 mblakele-lt kernel: [ 92.594741] eth1: no IPv6 routers present
Sep 15 09:44:03 mblakele-lt dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 9
Sep 15 09:44:12 mblakele-lt dhclient: No DHCPOFFERS received.
Sep 15 09:44:12 mblakele-lt NetworkManager: <info> DHCP daemon state is now 9 (fail) for interface eth1
Sep 15 09:44:12 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Timeout) scheduled...
Sep 15 09:44:12 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Timeout) started...
Sep 15 09:44:12 mblakele-lt NetworkManager: <debug> [1189874652.030530] real_act_
Sep 15 09:44:12 mblakele-lt NetworkManager: <info> Activation (eth1) New wireless user key requested for network 'blakeley'.
Sep 15 09:44:12 mblakele-lt NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP Configure Timeout) complete.
Sep 15 09:44:12 mblakele-lt dhcdbd: Unrequested down ?:3
Sep 15 09:44:12 mblakele-lt NetworkManager: <info> DHCP daemon state is now 14 (normal exit) for interface eth1
Sep 15 09:44:30 mblakele-lt NetworkManager: <WARN> nm_dbus_
Sep 15 09:44:30 mblakele-lt NetworkManager: <info> Activation (eth1) failure scheduled...
Sep 15 09:44:30 mblakele-lt NetworkManager: <info> Activation (eth1) failed for access point (blakeley)
Sep 15 09:44:30 mblakele-lt NetworkManager: <info> Activation (eth1) failed.
Sep 15 09:44:30 mblakele-lt NetworkManager: <info> Deactivating device eth1.
At this point, knetworkmanager asks me for a new key for the AP. That is just plain wrong - the existing key is fine, and iwconfig agrees that eth1 is associated with the AP. Here's what I see if I check iwconfig while knetworkmanager is waiting for that dhcp response:
$ iwconfig eth1
eth1 IEEE 802.11g ESSID:"blakeley"
Bit Rate:24 Mb/s Tx-Power:15 dBm
Retry limit:15 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=77/100 Signal level=-64 dBm Noise level=-65 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:313 Missed beacon:0
So I wish knetworkmanager were smart enough to know the difference between failing to associate and a dhcp failure....
But let's ignore that for now. If I use ifup from the command-line, the same wifi AP works fine, and gives me a dhcp address immediately:
$ grep eth1 /etc/network/
#auto eth1
iface eth1 inet dhcp
#iface eth1 inet static
$ sudo iwconfig eth1 essid "blakeley" key $KEY && sudo ifup eth1
There is already a pid file /var/run/
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://
Listening on LPF/eth1/
Sending on LPF/eth1/
Sending on Socket/fallback
DHCPRELEASE on eth1 to 10.0.1.1 port 67
There is already a pid file /var/run/
Internet Systems Consortium DHCP Client V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://
Listening on LPF/eth1/
Sending on LPF/eth1/
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 3
DHCPOFFER from 10.0.1.1
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 10.0.1.1
bound to 10.0.1.102 -- renewal in 19502 seconds.
$ iwconfig eth1; ifconfig eth1
eth1 IEEE 802.11g ESSID:"blakeley"
Bit Rate:48 Mb/s Tx-Power:15 dBm
Retry limit:15 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=72/100 Signal level=-63 dBm Noise level=-71 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:412 Missed beacon:0
eth1 Link encap:Ethernet HWaddr 00:18:DE:31:F9:D7
inet addr:10.0.1.102 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::218:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11 errors:11 dropped:423 overruns:0 frame:0
TX packets:22 errors:0 dropped:9 overruns:0 carrier:0
RX bytes:409570 (399.9 KB) TX bytes:90808 (88.6 KB)
$ ping -c 2 google.com
PING google.com (64.233.187.99) 56(84) bytes of data.
64 bytes from jc-in-f99.
64 bytes from jc-in-f99.
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 95.486/
So... my key works, and my dhcp server works. But it seems like knetworkmanager has some difficulty getting the sequence of operations right. One difference I noticed is that ifup always seems to kill off any existing dhclient pid, while knetworkmanager seems to try to reuse the existing dhclient pid.
Workaround: use iwconfig and ifup from the command-line, instead of knetworkmanager.
WPA (enterprise) works fine, too. This is another data point showing that there's no real dhcp problem: more likely a wep-specific issue.