cvs commit: src/sys/dev/bfe if_bfe.c if_bfereg.h
Makoto Matsushita
matusita at jp.FreeBSD.org
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
/boot/kernel/if_bfe.ko-255
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