Not reconnecting wired in wired only situation.

Bug #431051 reported by Erik de Castro Lopo on 2009-09-16
2
Affects Status Importance Assigned to Milestone
wicd
Undecided
Unassigned

Bug Description

Running wicd 1.6.1.

If I have wired and wireless set up so that wired takes over from wireless when available I can do:

      wired connection -> disconnect and autmatically go to wireless -> connect automatically go to wired

and all is fine.

However, if I don't have any of the local APs configured the following happens:

    wired connection -> disconnect for a minute, reconnect -> autoreconnect fails

and I have to manually bring up the gui and hit the connect button.

Chatted on irc with adam7 about this. He requested the following:

      $ cat /sys/class/net/eth0/carrier
      1

      $ sudo ethtool eth0
      Settings for eth0:
              Supported ports: [ TP ]
              Supported link modes: 10baseT/Half 10baseT/Full
                                      100baseT/Half 100baseT/Full
                                      1000baseT/Full
              Supports auto-negotiation: Yes
              Advertised link modes: 10baseT/Half 10baseT/Full
                                      100baseT/Half 100baseT/Full
                                      1000baseT/Full
              Advertised auto-negotiation: Yes
              Speed: 1000Mb/s
              Duplex: Full
              Port: Twisted Pair
              PHYAD: 1
              Transceiver: internal
              Auto-negotiation: on
              Supports Wake-on: pumbag
              Wake-on: g
              Current message level: 0x00000001 (1)
              Link detected: yes

I did a test where I had a connection, unplugged it, waited for a couple of minutes, plugged in, waited a couple more minutes, then as it was still not connected, clicked the connect button in the GUI. While I did all this I was doing "tail -f" on the log file and got this:

   2009/09/16 22:08:45 :: Putting interface down
   2009/09/16 22:08:45 :: Releasing DHCP leases...
   2009/09/16 22:08:45 :: Setting false IP...
   2009/09/16 22:08:45 :: Flushing the routing table...
   2009/09/16 22:08:45 :: Putting interface up...
   2009/09/16 22:08:45 :: Running DHCP
   2009/09/16 22:08:45 :: There is already a pid file /var/run/dhclient.pid with pid 134519072
    2009/09/16 22:08:45 :: Internet Systems Consortium DHCP Client V3.0.6
   2009/09/16 22:08:45 :: Copyright 2004-2007 Internet Systems Consortium.
   2009/09/16 22:08:45 :: All rights reserved.
   2009/09/16 22:08:45 :: For info, please visit http://www.isc.org/sw/dhcp/
   2009/09/16 22:08:45 ::
   2009/09/16 22:08:45 :: wmaster0: unknown hardware address type 801
   2009/09/16 22:08:46 :: wmaster0: unknown hardware address type 801
   2009/09/16 22:08:46 :: Listening on LPF/eth0/00:03:1d:06:7d:13
   2009/09/16 22:08:46 :: Sending on LPF/eth0/00:03:1d:06:7d:13
   2009/09/16 22:08:46 :: Sending on Socket/fallback
   2009/09/16 22:08:50 :: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
   2009/09/16 22:08:50 :: DHCPOFFER of 192.168.118.148 from 192.168.118.202
   2009/09/16 22:08:50 :: DHCPREQUEST of 192.168.118.148 on eth0 to 255.255.255.255 port 67
   2009/09/16 22:08:50 :: DHCPACK of 192.168.118.148 from 192.168.118.202
   2009/09/16 22:08:50 :: bound to 192.168.118.148 -- renewal in 228596 seconds.
   2009/09/16 22:08:50 :: DHCP connection successful
   2009/09/16 22:08:50 :: Connecting thread exiting.
   2009/09/16 22:08:50 :: Sending connection attempt result Success

The odd thing is that the "Putting interface down" message occured when I hit the connect button to reconnect. That means that wicd is not detecting the disconnect of the wired connection.

Erik de Castro Lopo (erikd) wrote :

I've investigated the issue around the wierd PID value:

    There is already a pid file /var/run/dhclient.pid with pid 134519072

This turns out to be an issue with dhclient on hardy. I am not seeing the same thing with jaunty.

Reproducing this:

     sudo dhclient badiface0

creates a /var/run/dhclient.pid file of zero length. Then,

     sudo dhclient eth0

runs dhclient with reads the empty PID file as 134519072.

This doesn't cause a problem so I'm ignoring it.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers