issues with em, ndis & 1 gig RAM in -current

Bill Paul wpaul at FreeBSD.ORG
Wed Jun 30 16:24:36 PDT 2004

> For the past week or so I've been having issues with the em module for
> my network card.

Sometimes it helps to specify exactly which chipset you have. Intel has
many different 8254x boards and chip revs. It might help to know which
kind you have (sometimes problems like this only occur due to problems
with a specific silicon rev).

> The link yo-yos every 5-10 seconds making the
> connection barely usable at best, and fills up dmesg output with the
> following:
> em0: Link is up 100 Mbps Full Duplex
> em0: Link is Down
> em0: Link is up 100 Mbps Full Duplex
> em0: Link is Down
> [repeated ad nauseum]

Unfortunately, I can't really help you with this problem: Intel wrote
the em(4) driver, and I'm not terribly familiar with it. Did you
try locking the speed down instead of leaving it with autoneg on?
(That would be ifconfig em0 media 100baseTX. NOTE: I left the
"mediaopt full-duplex" part off on purpose. Just trust me on this.
Leave the switch set for autoneg and do "ifconfig em0 media 100baseTX"
and see what happens.)


> The machine in question is a 3.0GHz Northwood Pentium 4 with
> hyperthreading enabled, with an 865G motherboard. I'm using DDR 400 RAM
> in dual-channel mode. I've attached dmesg output from booting with 1G
> RAM, please let me know if there's anything else I can provide to help
> debug this.

Unfortunately, there's only one way you can help (as far as ndis is
concerned), and that's to fix it so I can debug the machine remotely. I
don't have access to any hardware even remotely like this (except
possibly for the LinkSys wireless card), so it's impossible for me to
test or debug this myself.

There are two things that could be going wrong here:

1) NDIS is doing something wrong with busdma and is not DMA mapping
   buffers in the other gigabyte of memory correctly
2) NDIS is doing something wrong with resource allocation and isn't
   mapping the PCI memory mapped register window correctly

It's hard to tell. You provided a dmesg with the machine configured
with 1GB of RAM (the working case) but not with 2GB of RAM (the
failure case), so I can't make a comparison. Regardless, without
access to the box, I'm sort of stuck.


-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at | Wind River Systems
              <adamw> you're just BEGGING to face the moose

More information about the freebsd-current mailing list