kern/85106: The ICH7 smb interface is not recognised

Arthur Hartwig Arthur.Hartwig at nokia.com
Fri Jul 28 01:40:18 UTC 2006


The following reply was made to PR kern/85106; it has been noted by GNATS.

From: Arthur Hartwig <Arthur.Hartwig at nokia.com>
To: ext Mike Jakubik <mikej at rogers.com>
Cc: bug-followup at FreeBSD.org
Subject: Re: kern/85106: The ICH7 smb interface is not recognised
Date: Fri, 28 Jul 2006 11:33:31 +1000

 G'day Mike,
     Thanks for your attention. I was interested in this issue because I 
 noticed it on a Gigabyte GA-8I945-P motherboard. This particular 
 motherboard has the environmental sensors accessed over the ISA bus to a 
 ITE 8712 super-io chip rather than the ICH7 but the ICH7 support was of 
 interest to me because a system under design at the time was going to to 
 use the ICH7. That plan was revised and the system is using the 5000P 
 chipset instead.
 
 The smb support in FreeBSD is a bit inconsistent. The intpm driver 
 (seems to be the earliest smbus driver) treats a user supplied smbus 
 address as 8 bits with the low order bit the read/write bit. (This also 
 seems to be the address view of the smbmsg utility, at least as stated 
 in the man page.) However the other drivers for smb hardware that I 
 looked at all take the user supplied address as a 7-bit address and 
 shift it left one bit before giving it to the hardware. The left shit 
 allows for the read/write bit. This seems incompatible with the smbmsg 
 utility.
 
 In probing the smb bus I have found the practice most likely to succeed 
 is to use a quick write (no data supplied in that message) and see if 
 anything responds (acknowledges). My experience is that its dangerous to 
 probe 7-bit addresses below 0x10 and above 0x78. Accesses outside that 
 address range seem to hit something that locks up the controller and 
 recovery seems to be possible only through a system restart. I admit I 
 have tried only about 3 or 4 different motherboards, a poor sample size 
 from which to generalise.
 
 Arthur
 
 
 ext Mike Jakubik wrote:
 > Here are my results with a Supermicro PDSMi MB (Intel E7230 (Mukilteo) 
 > Smithfield chipset,  ICH7R + PXH-V + Intel 82573V)
 >
 > 7.0-CURRENT #0: Thu Jul 27 12:28:34 EDT 2006.
 >
 > The controller is detected:
 >
 > ichsmb0: <Intel 82801GB (ICH7) SMBus controller> port 0x1100-0x111f 
 > irq 19 at device 31.3 on pci0
 > ichsmb0: [GIANT-LOCKED]
 > smbus0: <System Management Bus> on ichsmb0
 > smb0: <SMBus generic I/O> on smbus0
 >
 > However communication does not seem to work:
 >
 > # smbmsg -p
 > Probing for devices on /dev/smb0:
 > Device @0x30: rw
 > Device @0x32: rw
 > ^C
 >
 > ichsmb0: device timeout, status=0x41
 > ichsmb0: device timeout, status=0x41
 > ichsmb0: device timeout, status=0x41
 >
 > I also tried running mbmon using SMB, however this is the result:
 >
 > # mbmon -S
 > No SMBus HWM available!!
 > InitMBInfo: Unknown error: 0
 >
 > Without any options, i get bogus temp values:
 >
 > # mbmon
 >
 > Temp.= 208.0,  0.0,  0.0; Rot.=    0,    0,    0
 > Vcore = 3.62, 3.62; Volt. = 3.62, 5.21, 11.80,   1.13,  2.09
 >
 >
 


More information about the freebsd-bugs mailing list