# b44 TX and RX flow control is off (SOLVED)

## hanj

Hello All

I've seen some mention of this problem.. but no solution that works. I'm experiencing some weirdness with b44. I'm experiencing intermittent slowness. DHCP is quick, and overall the interface is working well. I just notice downloading some packages, it's extremely slow. I fetch the package off of another gentoo box, using the same mirror.. and it hauls. Checking dmesg, I notice this..

```
b44: eth0: Link is up at 100 Mbps, full duplex.

b44: eth0: Flow control is off for TX and off for RX.
```

The flow control is off for TX and RX. Does anyone know a solution for this, or how to set it?

My info...

```
Portage 2.1-r1 (default-linux/x86/no-nptl, gcc-3.4.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4 i686)

=================================================================

System uname: 2.6.17-gentoo-r4 i686 Genuine Intel(R) CPU           T2050  @ 1.60GHz

Gentoo Base System version 1.6.15

app-admin/eselect-compiler: [Not Present]

dev-lang/python:     2.4.2

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     [Not Present]

dev-util/confcache:  [Not Present]

sys-apps/sandbox:    1.2.12

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.13-r3

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-march=pentium-m -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -mcpu=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://172.16.0.2/gentoo-portage"

USE="x86 X acpi alsa apache2 apm arts avi berkdb bitmap-fonts bzip2 chroot cli crypt cups curl dba dillo dlloader dri dvd eds emboss encode etheral firefox foomaticdb fortran gd gdbm gif gpm gps gstreamer gtk gtk2 i8x0 imlib innodb isdnlog jpeg libg++ mad motif moznoxft mp3 mpeg ncurses nls ogg opengl opens oss pam pcmcia pcre pdflib perl php png posix pppd pwdb python qt qt3 qt4 quicktime readline reflection samba sdl session snortsam sockets spell spl ssl tcpd truetype truetype-fonts type1-fonts vorbis xface xine xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU video_cards_nvidia"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
```

This is a brand new Dell Inspiron E1505.

```
03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

        Subsystem: Dell Unknown device 01af

        Flags: bus master, fast devsel, latency 64, IRQ 5

        Memory at dcbfe000 (32-bit, non-prefetchable) [size=8K]

        Capabilities: [40] Power Management version 2
```

I also checked to see that ACPI isn't on the same interrupt...

```
           CPU0

  0:     297099          XT-PIC  timer

  1:        384          XT-PIC  i8042

  2:          0          XT-PIC  cascade

  5:       2740          XT-PIC  eth0

  7:          1          XT-PIC  uhci_hcd:usb4

  8:          2          XT-PIC  rtc

  9:          3          XT-PIC  acpi, uhci_hcd:usb3

 10:          2          XT-PIC  uhci_hcd:usb1, ehci_hcd:usb5, ohci1394

 11:         65          XT-PIC  HDA Intel, uhci_hcd:usb2

 14:      28537          XT-PIC  libata

 15:         25          XT-PIC  ide1

NMI:          0

ERR:          0

```

b44 is built into the kernel.. not as a module. Any help is greatly appreciated. Let me know if anyone needs any additional information.

[edit]

I just tried making it a kernel module.. same result.

[/edit]

Thanks in advance.

hanjiLast edited by hanj on Thu Aug 03, 2006 5:51 am; edited 1 time in total

----------

## hanj

Here is an example of the behaviour... with wget as my example.

```
Dell Laptop (10.0.0.12) to Internet

http://211.xxx.xxx.xxx/gedit.tar.bz2

Resolving 211.xxx.xxx.xxx... 211.xxx.xxx.xxx

Connecting to 211.xxx.xxx.xxx|211.xxx.xxx.xxx|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 2,358,509 (2.2M) [application/x-tar]

 5%  31,913        12.83K/s

Another Gentoo Box (10.0.0.32) to Internet

http://211.xxx.xxx.xxx/gedit.tar.bz2

Resolving 211.xxx.xxx.xxx... 211.xxx.xxx.xxx

Connecting to 211.xxx.xxx.xxx|211.xxx.xxx.xxx|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 2,358,509 (2.2M) [application/x-tar]

14%  346,913      137.94K/s

Dell Laptop (10.0.0.12) to Gentoo Box on LAN (10.0.0.32)

http://comp/gedit.tar.bz2

Resolving comp... 10.0.0.32

Connecting to comp|10.0.0.32|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 2,358,509 (2.2M) [application/x-tar]

100%   2,358,509     10.59M/s

```

So 

laptop to lan = 10.59M/s approximately

another linux box to wan = 137.94K/s

but

my laptop to wan = 12.83K/s!!!!!

Now I ran this test for awhile, then I started seeing errors via ifconfig. When I start seeing errors, my LAN connection goes bad until reboot.

When I boot into the liveCD all wget tests work fine. I never receive errors and connection always looks good. I can't figure out what I'm missing. Anyone out there with a working 2.6.17-gentoo-r4 config on a Dell e1505.. please let me know. Now in livecd enviro, my nic is eth1 because eth0 is firewire over ethernet. I have a strong feeling I'm missing a module or config option to make nic behave correctly.

Thanks!

hanji

----------

## hanj

This is solved.

https://forums.gentoo.org/viewtopic-p-3489197.html#3489197

Rolling back 2.6.16-r12 worked. Bug is posted.

https://bugs.gentoo.org/show_bug.cgi?id=142609

Thanks!

hanji

----------

## VinzC

Hi.

Two years later, I have the exact same problem... but with 2.6.26-gentoo-r2  :Shocked:  . Downgrading to 2.6.12 shouldn't be an option though  :Laughing:  ... Is it the same bug?

Thanks in advance.

----------

## bunder

 *Quote:*   

> 02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

 

works fine for me on 2.6.18-r6...  regression perhaps?  i've yet to try newer kernels.

cheers

----------

## VinzC

I'm trying 2.6.27 branch. Let's see...

----------

## VinzC

I've found the reason: my home switch. It's a small 8-port home switch that I bought a long time ago. I'll try another switch and see if the problem is solved.

----------

