Date: Fri, 28 Jul 2006 01:40:17 GMT From: Arthur Hartwig <Arthur.Hartwig@nokia.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/85106: The ICH7 smb interface is not recognised Message-ID: <200607280140.k6S1eHUB003107@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/85106; it has been noted by GNATS. From: Arthur Hartwig <Arthur.Hartwig@nokia.com> To: ext Mike Jakubik <mikej@rogers.com> Cc: bug-followup@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 > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607280140.k6S1eHUB003107>