Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 2003 21:30:38 -0600
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Duncan Barclay <dmlb@dmlb.org>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: bcm4400 driver and Dell 8500
Message-ID:  <20030828033038.GA24315@panzer.kdm.org>
In-Reply-To: <XFMail.20030827182757.dmlb@dmlb.org>
References:  <20030827131039.GA17250@panzer.kdm.org> <XFMail.20030827182757.dmlb@dmlb.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 27, 2003 at 18:27:57 +0100, Duncan Barclay wrote:
> 
> On 27-Aug-2003 Kenneth D. Merry wrote:
> > On Wed, Aug 27, 2003 at 08:40:25 +0100, Duncan Barclay wrote:
> >> Hello James and Ken,
> >> 
> >> Both of you are having real problems with the bcm driver and both of you
> >> have a Dell 8500.
> >> 
> >> This is James' dmesg output, which from memory looks very similar to your
> >> Ken?
> >> 
> >> > bcm0: <Broadcom 10/100 Base-T Ethernet> mem 0xfaffe000-0xfaffffff irq 11
> >> > at device 0.0 on pci2
> >> > bcm0: Ethernet address: ff:ff:ff:ff:ff:ff
> >> > panic: bcm0: Strange type for core 0xffffffff
> > 
> > Yep, the messages I get are identical when I load it as a module.
> > 
> >> > I'm running 5.1-current from august 22nd.  I can try pulling down the
> >> > latest 5.1 tommorow if you think this might help.  This is the same result
> >> > as when I tried the driver from over a month ago.
> >> 
> >> We think that the problem is something to do with the PCI configuration of
> >> the machine. The ethernet address being ff:ff:ff:ff:ff:ff indicates that the
> >> memory map is not right.
> >> 
> >> > Before sending this email I was going to obtain a backtrace.  I recompiled
> >> > with the symbol table and kernel debugger and now the driver appears to
> >> > work fine.  Should it work this way?
> >> 
> >> Hmm interesting. Ken can you try this and see if the driver then works?
> > 
> > I've already got the kernel debugger on.  Do you mean changing the module
> > compile somehow so that more symbols are included?  (It seems to resolve
> > the function addresses in the module fine.)
> > 
> > The stack trace from the module load is:
> > 
> > panic()
> > bcm_chip_get_core()
> > bcm_chip_reset()
> > bcm_attach()
> > device_probe_and_attach()
> > etc.
> > 
> > If I boot a kernel with the bcm driver compiled in, and don't attach to the
> > docking station, it comes up fine until I insert my fxp card in the carbus
> > slot.  Then I get the panic in bcm_ring_rx_eof() that I reported last
> > night.  FWIW, when I have the driver compiled in, the memory location is
> > identical to location used when the module loads (above), but the ethernet
> > address is properly decoded:
> 
> This is still smelling of memory stuff outside of my experience.
> 
> > bcm0: <Broadcom 10/100 Base-T Ethernet> mem 0xfaffe000-0xfaffffff irq 11 at
> > device 0.0 on pci2
> > bcm0: Ethernet address: 00:0b:db:94:bf:42
> > miibus0: <MII bus> on bcm0
> > 
> > If I boot a kernel with the bcm driver compiled in, and don't attach to the
> > docking station, and don't insert my fxp card, I get slightly further.  I
> > tried running dhclient, and got:
> > 
> > All mbufs or mbuf clusters exhausted, please see tuning(7).
> > bcm0: initialization failed: no memory for rx buffers
> 
> Just checked dhclient and it works fine for me.

I just had another failure case (when I loaded bcm(4) as a module but
didn't have my fxp card inserted) where dhclient just hung up.  I didn't
get any out of mbufs errors.

> > Then I tried just manually ifconfiging the interface, and it works!
> > 
> > Here's what netstat -m says:
> > 
> > {erebor:/usr/home/ken:1:0} netstat -nm
> > mbuf usage:
> >         GEN cache:      0/0 (in use/in pool)
> >         CPU #0 cache:   576/608 (in use/in pool)
> >         Total:          576/608 (in use/in pool)
> >         Mbuf cache high watermark: 512
> >         Maximum possible: 34304
> >         Allocated mbuf types:
> >           576 mbufs allocated to data
> >         1% of mbuf map consumed
> > mbuf cluster usage:
> >         GEN cache:      0/0 (in use/in pool)
> >         CPU #0 cache:   575/584 (in use/in pool)
> >         Total:          575/584 (in use/in pool)
> >         Cluster cache high watermark: 128
> >         Maximum possible: 17152
> >         3% of cluster map consumed
> > 1320 KBytes of wired memory reserved (98% in use)
> > 1 requests for memory denied
> > 0 requests for memory delayed
> > 0 calls to protocol drain routines
> > 
> > Performance, once I manually assigned an address seems okay; I was able to
> > ftp a file over from another machine at a little over 11MB/sec.
> 
> Cool, thats about right.
>  
> > If I insert the fxp card after the bcm driver is configured, the cardbus
> > initialization fails, and then I get the following messages over and over
> > again:
> > 
> > "eek j=6, macCurrent 511, con288"
> 
> This is a little loop that waits for the card to finish DMAing a packet. There
> should be a DELAY(1) in there. But it may be commented out.

That's bad...in general the chip should DMA the packet and then update the
consumer index and generate an interrupt.  I don't know how this particular
chip works, though.  The DELAY is commented out.

> Do we think that cardbus is trashing the memory space somehow?

That could very well be the case.  I don't know anything about cardbus,
though.

Ken
-- 
Kenneth Merry
ken@kdm.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030828033038.GA24315>