avahi malfunctions on a machine connected to the network via multiple interfaces

Bug #1083565 reported by Till Kamppeter on 2012-11-27
38
This bug affects 7 people
Affects Status Importance Assigned to Milestone
avahi (Ubuntu)
Critical
Unassigned
network-manager (Ubuntu)
High
Unassigned

Bug Description

I have a router making up one local NAT network connected to the internet. The router allows to connect both wired and wireless. My laptops are configured to use both wired and wireless. So I can walk around with them and also connect to the quicker wired network if they are on the desk.

Problem is that when the laptops are on my desk and I plug in the network cables they stay connected on wireless and so they get connected twice, wired and wireless, with two IP addresses, appearing as two computers for the router and all other computers in the network. Most things still simply work, like accessing the internet from the laptops, SSHing to another computer, ... what causes problems is Bonjour/mDNS. Avahi broadcasts available services (I have shared CUPS printers on the laptops) into the network, using the host name of the machine assigned on installation, for example "till-lenovo". As the broadcasts go through two interfaces there is a service name conflict and it seems that Avahi tries to overcome it by using host names like "till-lenovo-1", "till-lenovo-2", ... When the laptop keeps running one sees in the "avahi-discover" output on another machine the entries from the laptop, but with host names (and so the service names) changing from time to time. This leads to a client with a print queue pointing to a printer shared by the laptop via the printer's Bonjour service name cannot print any more.

I have done a short test and Avahi stops adding numbers to the original host name when turning off wireless on the laptop so that it connects only through the wired network.

One way of fixing (or working around?) the problem would be a change in network-manager to automatically turn off wireless if the computer is connected to a wired network and switching wireless back on when the network cable gets disconnected. This would probably also solve problems with other server functionality.

Another solution would be a change in Avahi, somehow recognizing that the broadcasts through the two interfaces come from the same computer and so they can (and should) have the same service names, or recognizing that the two interfaces go into the same network and therefore broadcast only through one of them, stopping the broadcasting through the weaker one (the wireless in our case).

Changed in avahi (Ubuntu):
importance: Undecided → High
Changed in network-manager (Ubuntu):
importance: Undecided → High
Changed in avahi (Ubuntu):
milestone: none → ubuntu-13.04-feature-freeze
Changed in network-manager (Ubuntu):
milestone: none → ubuntu-13.04-feature-freeze
Thomas Hood (jdthood) wrote :

It's avahi that needs to be fixed.

summary: - network-manager should not allow a computer to access the same network
- by both wired and wireless - this especially breaks Bonjour/mDNS
+ avahi malfunctions on a machine connected to the network via multiple
+ interfaces
Till Kamppeter (till-kamppeter) wrote :

I am not sure whether this is bug 1091645 in reality.

Changed in avahi (Ubuntu):
importance: High → Critical
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in avahi (Ubuntu):
status: New → Confirmed
Changed in network-manager (Ubuntu):
status: New → Confirmed
psamuel (persaudsamuel) wrote :

Este bug no habia sido reportado aca https://bugs.launchpad.net/bugs/1091645 no es el mismo??

Carlos Luna (caralu1974) wrote :
Download full text (10.1 KiB)

I`m running Ubuntu 12.04 updated till today (09 may 2014 ) and aswell Debian Testing with KDE updated and I have the same trouble the network is not working after a 30 o 45 minutes; I can not restart the network so if I wanna have the network running well I must restart the machine and the modem.
Syslog:
May 9 16:44:10 pcdebian kernel: [ 2071.820186] via-rhine 0000:00:12.0 eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
May 9 16:44:20 pcdebian kernel: [ 2081.820185] via-rhine 0000:00:12.0 eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
May 9 17:00:16 pcdebian kernel: [ 3037.820197] via-rhine 0000:00:12.0 eth0: Transmit timed out, status 1003, PHY status 786d, resetting...

Kern.log:
May 6 12:35:48 pcdebian kernel: [ 1383.808509] via-rhine 0000:00:12.0 eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
May 6 13:26:54 pcdebian kernel: [ 0.822714] via_rhine: v1.10-LK1.5.1 2010-10-09 Written by Donald Becker
May 6 13:26:54 pcdebian kernel: [ 0.823126] via-rhine 0000:00:12.0 eth0: VIA Rhine II at 0x1f200, 00:19:db:a0:d6:13, IRQ 23
May 6 13:26:54 pcdebian kernel: [ 0.823905] via-rhine 0000:00:12.0 eth0: MII PHY found at address 1, status 0x786d advertising 01e1 Link 45e1
May 6 13:37:07 pcdebian kernel: [ 625.820368] via-rhine 0000:00:12.0 eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
May 6 13:37:17 pcdebian kernel: [ 635.820197] via-rhine 0000:00:12.0 eth0: Transmit timed out, status 1003, PHY status 786d, resetting...

Ubuntu kern.log
May 5 19:28:54 caralu74 kernel: [ 451.136479] device eth0 left promiscuous mode
May 5 19:29:01 caralu74 kernel: [ 458.572040] device eth0 entered promiscuous mode
May 5 19:36:50 caralu74 kernel: [ 926.820645] via-rhine 0000:00:12.0: eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
May 5 19:36:50 caralu74 kernel: [ 926.821393] via-rhine 0000:00:12.0: eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
May 5 19:36:54 caralu74 kernel: [ 930.820180] via-rhine 0000:00:12.0: eth0: Transmit timed out, status 1003, PHY status 786d, resetting...
May 9 16:00:02 caralu74 kernel: [ 5408.820181] via-rhine 0000:00:12.0: eth0: Transmit timed out, status 1003, PHY status 786d, resetting...

##########################
And this could be useful:
May 6 16:13:53 caralu74 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
May 6 16:13:58 caralu74 NetworkManager[1568]: <warn> (eth0): DHCPv4 request timed out.
May 6 16:13:58 caralu74 NetworkManager[1568]: <info> (eth0): canceled DHCP transaction, DHCP client pid 2876
May 6 16:13:58 caralu74 NetworkManager[1568]: <info> Activation (eth0) Stage 4 of 5 (IPv4 Configure Timeout) scheduled...
May 6 16:13:58 caralu74 NetworkManager[1568]: <info> Activation (eth0) Stage 4 of 5 (IPv4 Configure Timeout) started...
May 6 16:13:58 caralu74 NetworkManager[1568]: <info> (eth0): device state change: ip-config -> failed (reason 'ip-config-unavailable') [70 120 5]
May 6 16:13:58 caralu74 NetworkManager[1568]: <warn> Activation (eth0) failed.
May 6 16:13:58 caralu74 NetworkManager[1568]: <info> Activation (eth0) Stage 4 of 5 (IPv4 Configure Timeout) complete.
May 6 16:13:58 caralu74 NetworkMa...

Carlos Luna (caralu1974) wrote :

Some one could test if adding noapic or noacpi to the kernel line work and the net card work fine? as well could some one test installing wicd and uninstall network-manager to see if this work?

For me adding noacpi or noapic work for the net card but after one hour more or less the system freezes, disconecting the keyboard and mouse so I must restart the PC and with wicd I can make this work for me, wicd does not detect the net card or may be I do not know how to configure it.

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

Other bug subscribers