FreeBSD nfe driver and IPMI cards

Robert Wojciechowski robertw at expressyard.com
Thu Sep 13 07:10:56 PDT 2007


> You may only want to enable IPMI Tx/Rx. Blindly enabling entire MAC
> generates more problems. forcedeth uses different bits for IPMI Rx/Tx.
> 

Oh, hmm. I didn't see anything in forcedeth 0.60 that only enabled the
IPMI Rx/Tx. It does turn out that I was looking at an older version,
though, and that they now set the packet filter to non-promisc mode just
in case before starting the Rx. I updated the patch to include that.

>  >
>  > I have attached my new patch to this email that does the above,
>  > guarded by the sysctl.
>  >
> 
> Btw, it seems there is typo in the patch. You used sc-
> >nfe_process_limit
> instead of sc->nfe_enable_ipmi in enable_ipmi value range check. In
> order to check IPMI capability you don't need '&' operator.
> 

Oops, yes. The typo and dereferencing were mistakes, thanks for catching
that. Updated in the patch.

>  > I have no idea how to handle the second case you mentioned, during
>  > attach. It does indeed cause a disruption in IPMI, but only for a
few
>  > seconds. Where is the MAC and PHY reset and if it wasn't reset when
>  > using IPMI, what problems could it cause?
>  >
> 
> It's somewhat complex. MAC reset is done by nfe(4) whereas all PHY
> related handling is done by its PHY driver(ciphy(4), e1000phy(4),
> rgephy(4), rlphy(4) etc) and link state change event can also
> enable/disable MAC. See nfe_link_task().
> Witout proper reset operation of PHY, some functions like automatic
> MDI/MDI-X detection, wakeup from powerdown mode, special page register
> settings wouldn't be activated which in turn result in operating at
> legacy mode. In worst case the PHY wouldn't work at all and you may
> see no link, i.e. "no career" message.
> 

This is probably also a problem for many other NICs I'm assuming? Not
many drivers seem to handle detection of ASF/IPMI and initialize
carefully to avoid causing problems.

That being said, with the changes in this current patch at least a
machine is manageable if you reboot/shutdown/unload the module. Perhaps
handling the attach perfectly will have to wait until Nvidia opens up
the specs.

-- Robert


More information about the freebsd-net mailing list