cvs commit: src/sys/dev/bfe if_bfe.c if_bfereg.h

Makoto Matsushita matusita at
Tue May 9 12:12:42 UTC 2006

> Can you tell the me the following:
> 1.  How much RAM does your system have?
> 2.  What revision of the bfe chip do you have, according to dmesg?

Q1: 512MB, including video RAM (kernel recognize 495MB total)

Q2: from dmesg with -v option,

bfe0: <Broadcom BCM4401 Fast Ethernet> mem 0xf9100000-0xf9101fff irq 10 at
device 1.0 on pci1
bfe0: Reserved 0x2000 bytes for rid 0x10 type 3 at 0xf9100000
miibus0: <MII bus> on bfe0
bmtphy0: <BCM4401 10/100baseTX PHY> on miibus0
bmtphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bfe0: bpf attached
bfe0: Ethernet address: 00:04:2e:01:ed:9e
bfe0: [MPSAFE]

> Then, if you're sure it's the if_bfereg.h change and not the if_bfe.c 
> change that causes the problem, try playing with the values of 
> BFE_TX_LIST_CNT and BFE_RX_LIST_CNT - those are the only two values that 
> changed.  I changed them from 511 to 128.  You could try values like 127, 
> 255, 256, 510... see if any/all of those work.

I've tested with following kernel modules:

% ls  /boot/kernel/if_bfe.ko-*
/boot/kernel/if_bfe.ko-127      /boot/kernel/if_bfe.ko-256
/boot/kernel/if_bfe.ko-128      /boot/kernel/if_bfe.ko-383
/boot/kernel/if_bfe.ko-129      /boot/kernel/if_bfe.ko-384
/boot/kernel/if_bfe.ko-191      /boot/kernel/if_bfe.ko-511

where if_bfe.ko-XXX means "set BFE_TX_LIST_CNT/BFE_RX_LIST_CNT to XXX."

Each time kernel boots, load a kernel module manually, boot -s, then try
/etc/netstart and see what's happen.

Works fine: 384, 511
Don't work: 127, 128, 129, 191, 255, 256, 383

It is very interesting that 383 doesn't work but 384 ok.

Makoto `MAR' Matsushita

More information about the cvs-src mailing list