Re: panic in 8-CURRENT / BGE hang

From: Jung-uk Kim <jkim_at_FreeBSD.org>
Date: Wed, 24 Oct 2007 19:04:46 -0400
On Wednesday 24 October 2007 05:10 pm, JoaoBR wrote:
> On Wednesday 24 October 2007 15:19:49 Jung-uk Kim wrote:
> > > > > because hw.bge.allow_asf defaults to 0 in releng_6 and to 1
> > > > > in 7
> > > > >
> > > > > somebody knows why this changed? Would be kind of handy if
> > > > > this where in the man page since almost all tyans and other
> > > > > server boards have this bge nics
> > > >
> > > > When I MFC'd bge(4) on RELENG_6, I decided to turn it off by
> > > > default. See the diff between RELENG_6 and MFC point:
> > > >
> > > > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.
> > > >c.di ff?r2=1.91.2.21;r1=1.186
> > > >
> > > > Since RELENG_7 is branched, I think we should do the same on
> > > > the branch as well.
> > >
> > > So, what exactly does hw.bge.allow_asf do? �I've been running
> > > -current on several different tyan boards with on-board bge
> > > devices for the last few years without a hanging problem.
> > > I just checked and found hw.bge.allow_asf=1.
> >
> > Basically it makes it work better with some IPMI modules (e.g.,
> > server management daughter cards). �While it works on some
> > platforms, it breaks some, i.e., it is very sensitive to firmware
> > and BIOS.
>
> not the very best clarification ...
>
> so this ASF does mean what at the end? is it  ASF as know as for a
> part of the Eprom region? and if enabled it allows the card to load
> it or beeing controlled by it ?

For remote server management, there are two major APIs:

ASF by DMTF:
http://www.dmtf.org/standards/asf/

IPMI by Intel:
http://www.intel.com/design/servers/ipmi/

The main goal of the two technologies is the same, i.e., out-of-band 
server management.  Both use Remote Management and Control Protocol 
(RMCP) for the network protocol but ASF is implemented on NIC 
firmware level while IPMI is implemented on baseboard management 
controller (BMC).  Now BCM57xx firmware has built-in ASF stack and 
the interface can be shared with BMC.  If there is a BMC on-board and 
network controller is shared, obviously you cannot just reset the 
controller, etc.  You have to 'tell' the firmware that you are about 
to do critical things, such as reset, start, stop, link negotiation, 
etc, so that it can communicate with BMC beforehand.  If you turn on 
hw.bge.allow_asf, it does just that.  Unfortunately, it does not work 
for all systems in the real world because they are not created equal, 
e.g., different spec. revisions, hardware implementations, firmware, 
BIOS, etc.  Basically some system fails *without* it while some 
system fails *with* it.  Hence, the tunable was necessary.  At least, 
that is how I understand it.

Jung-uk Kim
Received on Wed Oct 24 2007 - 21:04:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:20 UTC