Kernel Bug Tracker – Bug 3050
(net b44) Link is down! problem
Last modified: 2007-11-02 08:42:45 UTC
Distribution: Gentoo Linux
Hardware Environment: Acer TM 803LCi, Intel Centrino, 512MB
When I try to connect to some servers the link goes down.
I think it is only hapening when it is using UDP.
Because when I browse the network with a smb browser nothing goes wrong.
But when I start a file transfer the link goes down.
The same thing is happening with FTP.
However, if I disable ACPI support in the kernel everything works fine.
I tried the driver from broadcom.com but that driver doesn't work good either.
Ifconfig says that i have 2000000 transfer errors with the broadcom driver.
But I need ACPI or else my tft dimming buttons wont work.
Is it ACPI or is it just the b44 driver
BTW: I tested the network cables the work fine.
Steps to reproduce:
Created attachment 3339 [details]
The last kernel config I used
I installed Windows on my laptop and then booted linux again. It does now work
again. Did Windows do something with that NIC?
I can confirm this problem.
Today, I upgraded from 2.6.7 to 2.6.10 and Not I get sth like this:
Jan 14 15:17:31 aragorn b44: eth0: Link is down.
Jan 14 15:17:36 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:17:36 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:17:37 aragorn b44: eth0: Link is down.
Jan 14 15:17:39 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:17:39 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:17:40 aragorn b44: eth0: Link is down.
Jan 14 15:17:51 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:17:51 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:17:55 aragorn b44: eth0: Link is down.
Jan 14 15:18:02 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:18:02 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:18:05 aragorn b44: eth0: Link is down.
Jan 14 15:18:07 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:18:07 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:18:08 aragorn b44: eth0: Link is down.
Jan 14 15:18:10 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:18:10 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:18:11 aragorn b44: eth0: Link is down.
Jan 14 15:18:13 aragorn b44: eth0: Link is up at 100 Mbps, full duplex.
Jan 14 15:18:13 aragorn b44: eth0: Flow control is on for TX and on for RX.
Jan 14 15:18:14 aragorn b44: eth0: Link is down.
The Hardware-LED goes off if the link is considered down.
Before that, I used 2.6.7 and did never ever see such a problem. Today, I
upgraded, but still did not see this happening until now, app. 7 hours after the
What I did is opening an SMB-connection to my samba-server (but got timeouts). I
did not do this earlier today, so I think it's related to that.
Have a look at #3765
I had this problem, but only when doing a network transfer (at the time FTP) but
only if at the same time I was writing to a sata disk (the transfer and write
did not have to be related)
I got a new nic, and moved from uni (vacation).
I just updated to 2.6.10, theres a few b44 updates (ignore carrier loss signals
etc..) so I updated and its seems to be working BUT I only tried with SMB
transfer. where as before I used FTP at 7 to 8 megaBytes a sec which is good for
a 100mbit nic. I'll try with ftp and report back
Upgrade to kernel 2.6.11-rc1 seems to fix this for me. I don't see the problem
now with samba any more.
Sorry, but atm, I see the problem reappearing with linux-2.6.11-rc4. I am fully
confused now, as it happens unreproducable with several versions from 2.6.7 to
bug #3765 seems to be a duplicate to this. I don't think it is related to S-ATA,
because I don't have this kind of hardware, I just have an Acer TM800 pretty
much the same as the reporter has. ;-)
I can confirm this behaviour on an Acer TM800, using kernels 2.6.9 and 2.6.10 on
Gentoo Linux. Disabling ACPI 'fixes' the issue, as suggested by the reporter.
Once traffic throughput reaches a certain level (only 10K/s is needed), the link
bounces and transfer rates drop to between 3 and 12K/s. For me, protocols make
no difference providing the traffic is fast enough to trigger the bounce.
What is confusing is that I've previously run most vanilla kernels up to and
including 2.6.9 with identical .config to the one used now, without any trouble.
I don't know if GCC and co. have anything to do with it, as the problem has only
started since I re-built a new clean system, with newer revisions of gcc (and
related tools) than before.
Resetting my bios and keeping the default settings on my acer TM800 seems to fix
this problem for me.
@comment #8: Did you do a hardware-reset (by opening the case and putting a
jumper) or just a "reload default settings" inside the BIOS software?
I tried the latter one and did not succeed.
I can confirm this exists on a Fujitsu Lifebook S2110 with a 'Broadcom
Corporation BCM4401-B0 100Base-TX (rev 02)' NIC. Niether resetting the BIOS nor
using acpi=off helps. The only way I can use the NIC without the link going
down and up with heavy network traffic is by setting it to 10Mb/s with ethtool.
Unfortunately it has only maxed out at ~ 2.7Mb/s when set to 10Mb/s (which is
also puzzling but secondary to the link down with 100Mb/s). This is with kernel
2.6.16 though I also tried the latest driver from Broadcom (v1.00g) and neither
scratch that last comment about bandwidth problems when setting speed to 10Mb/s.
When using netcat I was able to fill the 10Mb/s.
Compiling all SCSI drivers as modules can help.
Created attachment 9160 [details]
I have also a broadcom 4401 NIC on an amilo l1310g and I use kernel 126.96.36.199.
It works when browsing samba share, or I can watch a movie from share but when
I try to copy something then begins copying a few MB then stops. After then if
I try to ping the other host, I get destination host unreachable. I can get it
wokr again just after a reboot. Tried also with acpi=off and pci=noacpi, but
it's worse. When setting the IP of the NIC I get:
b44: eth0: BUG! Timeout waiting for bit 00000002 of register 42c to clear.
ADDRCONF(NETDEV_UP): eth0: link is not ready
lorand-nb:~# b44: eth0: Link is up at 100 Mbps, full duplex.
b44: eth0: Flow control is off for TX and off for RX. "then I plug the cable"
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
The first line appears only when passing acpi=off and pci=noacpi to the kernel.
I found a workaround for this. If I compile the kernel with SMP suport then the
NIC is working else it has problems.
Any updates on this bug? Does current kernel work better for you?
Problems that you described suggest that interrupts were not setup correctly, and the card was either in poll mode or riding on some other device if they were sharing interrupt, this would explain timeouts. The interrupt subsystem was reworked around 2.6.19. If anyone can confirm there is still a problem with his device, we'll keep the bug open.