Re: eth0 carrier wrongly seen on



On Fri, 2009-01-16 at 22:36 +0100, Sébastien Mazy wrote:
> On Fri, Jan 16, 2009 at 03:24:23PM -0500, Dan Williams wrote:
> > Carrier detection is driven by netlink events, so the issue could be in
> > a number of places.  To do top-level debugging, when you plug a cable in
> > and unplug it again, does anything happen in the log?
> 
> Thanks for your really quick reply. Here are a few more tests.
> 
> Situation:
>  - no cable connected
>  - wlan0 configured by NM
>  - static eth0 configured by NM
> 
> Action:
>  - plug the cable in
> 
> /var/log/messages.log:
> 
> 0000:00:19.0: eth0: Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
> 0000:00:19.0: eth0: 10/100 speed: disabling TSO
> ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> 
> Action:
>  - unplug the cable
> 
> /var/log/messages.log:
> 
> 0000:00:19.0: eth0: Link is Down
> NetworkManager: <info>  (eth0): carrier now OFF (device state 8)
> NetworkManager: <info>  (eth0): device state change: 8 -> 2
> NetworkManager: <info>  (eth0): deactivating device (reason: 40).
> NetworkManager: <info>  Policy set 'Auto my_wifi_network' (wlan0) as default for routing and DNS.
> 
> Action:
>  - plug the cable in
> 
> /var/log/messages.log:
> 
> 0000:00:19.0: eth0: Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
> 0000:00:19.0: eth0: 10/100 speed: disabling TSO
> NetworkManager: <info>  (eth0): carrier now ON (device state 2)
> NetworkManager: <info>  (eth0): device state change: 2 -> 3
> NetworkManager: <info>  Activation (eth0) starting connection 'home static'
> NetworkManager: <info>  (eth0): device state change: 3 -> 4
> NetworkManager: <info>  Activation (eth0) Stage 1 of 5 (Device Prepare) scheduled...
> NetworkManager: <info>  Activation (eth0) Stage 1 of 5 (Device Prepare) started...
> NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) scheduled...
> NetworkManager: <info>  Activation (eth0) Stage 1 of 5 (Device Prepare) complete.
> NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) starting...
> NetworkManager: <info>  (eth0): device state change: 4 -> 5
> NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) successful.
> NetworkManager: <info>  Activation (eth0) Stage 3 of 5 (IP Configure Start) scheduled.
> NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) complete.
> NetworkManager: <info>  Activation (eth0) Stage 3 of 5 (IP Configure Start) started...
> NetworkManager: <info>  (eth0): device state change: 5 -> 7
> NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP Configure Get) scheduled...
> NetworkManager: <info>  Activation (eth0) Stage 3 of 5 (IP Configure Start) complete.
> NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP Configure Get) started...
> NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) scheduled...
> NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP Configure Get) complete.
> NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) started...
> NetworkManager: <info>  Policy set 'Auto my_wifi_network' (wlan0) as default for routing and DNS.
> NetworkManager: <info>  (eth0): device state change: 7 -> 8
> NetworkManager: <info>  Policy set 'home static' (eth0) as default for routing and DNS.
> NetworkManager: <info>  Activation (eth0) successful, device activated.
> NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) complete.
> 
> > Failing that,
> > we'll need to make a netlink carrier test tool to show what's happening
> > on netlink and see if the kernel/driver is lying to us or not delivering
> > events.
> 
> Another detail: the problem only occurs on the first start of NM. If I
> stop it and start it again, I'm connected through wlan0 and NM
> acknowledges there is no cable plugged.
> 
> With these elements, it seems unlikely that the problem is related to
> NM. I'm interested in monitoring netlink messages though. Are there some
> tools to do so?

Not specifically, I'll have to extract the NM netlink monitor code and
put it into a binary that you can just build and run to see what
happens, or, if you're comfortable re-building the package for your
distro I can give you a patch that will debug the activity more.

Dan




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