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