panic in 8-CURRENT / BGE hang
Jung-uk Kim
jkim at FreeBSD.org
Wed Oct 24 16:04:57 PDT 2007
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
More information about the freebsd-current
mailing list