smb driver for Nvidia ION (intel ATOM) chipset

Jeremy Chadwick freebsd at jdc.parodius.com
Thu Jan 7 06:38:33 UTC 2010


On Thu, Jan 07, 2010 at 06:34:13AM +0100, Oliver Lehmann wrote:
> Oliver Lehmann wrote:
> 
> > Hi,
> > 
> > has anyone tried using the nfsmb(4) driver for the Nvidia ION chipset's
> > SMB controller?
> > 
> > none3 at pci0:0:3:5:       class=0x0b4000 card=0x83f91043 chip=0x0aa310de rev=0xb1 hdr=0x00
> >     vendor     = 'Nvidia Corp'
> >     device     = 'NVIDIA nForce System Management Controller (nForce)'
> >     class      = processor
> > 
> > I could try to just change one of the device IDs in pci/nfsmb.c to 0x0aa3
> > and see if it works but if someone has already tried this and says "won't
> > work" I can avoid maybe crashing my box ;)
> 
> Adjusting the driver was kinda easy
> 
> but now I'm stuck with no idea what "-c" argument I should use for mbmon..
> 
> nfsmb0: <nForce2/3/4 MCP SMBus Controller> port 0x4900-0x493f,0x4d00-0x4d3f,0x4e00-0x4e3f irq 20 at device 3.2 on pci0
> smbus0: <System Management Bus> on nfsmb0
> nfsmb1: <nForce2/3/4 MCP SMBus Controller> on nfsmb0
> smbus1: <System Management Bus> on nfsmb1
> smb0: <SMBus generic I/O> on smbus0
> smb1: <SMBus generic I/O> on smbus1
> root at nudel nfsmb> mbmon -S -s0 -d
> SMBus[NVidia nForce2] found, but No HWM available on it!!
> InitMBInfo: Device not configured
> Exit 1
> root at nudel nfsmb> mbmon -S -s1 -d
> SMBus[NVidia nForce2] found, but No HWM available on it!!
> InitMBInfo: Device not configured
> Exit 1
> root at nudel nfsmb> mbmon -S -s1 -c8 1
> InitMBInfo: Device not configured
> Exit 1
> root at nudel nfsmb> 
> 
> ru@ provided an smbtest.c to find out where the slave devices are when he
> initially made the nfsmb driver but the file is gone from his freefall
> page...
> Maybe someone saved it somewhere?
> 
> http://lists.freebsd.org/pipermail/freebsd-current/2005-December/059065.html

If you look inside /usr/ports/sysutils/mbmon/work/xmbmon205 once
the port is built (e.g. "make"), you'll find there are other utilities
for attempting to find the slave address, such as "testsmb"

Be aware that these devices can contain more than one address on the
bus.  Be aware that "probing" is risky business as well -- I've seen

1) Are you certain your motherboard has a H/W monitoring IC on it?
Visual inspection of the board can help, but isn't always accurate (I've
found many boards where the silkscreening on the H/W IC does not match
what the behaviour of the chip is and therefore had to involve the
vendor to get details of chip behaviour).  You'll need to look for
chips with logos from Winbond, LM, or AMD (non-north/southbridge).

2) If so, are your sure the H/W monitoring IC is tied to SMBus?  If not,
LPC (classic ISA-style I/O ports) are all you'll have available.  You'll
need to contact the board vendor to get this, as well as base registers
and offsets used for accessing data.

3) Finally, and most importantly, does mbmon support the exact model and
revision of H/W monitoring IC on your board?  If not, you're wasting
your time.  :-)

It's easy to get confused by the state of hardware monitoring on not
only FreeBSD but other OSes as well; they all make it sound like
monitoring things "just magically works with SMBus", and that isn't the
case.  SMBus is just a communication architecture; the software using
SMBus still has to know what's on the other end and what offsets
correlate with what thermistors / fans / etc. and how to decode that
data (it's per-chip specific).

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |


More information about the freebsd-stable mailing list