Intel 6300ESB (ICH) SMBus controller not working

Mike Tancsa mike at sentex.net
Tue Apr 12 05:31:49 PDT 2005


At 01:03 AM 12/04/2005, Philip Murray wrote:
>On 12/04/2005, at 2:38 PM, Mike Tancsa wrote:
>
>>At 09:24 PM 11/04/2005, Philip Murray wrote:
>>>Hi,
>>>
>>>I'm running RELENG_5 on a Dell PowerEdge 750 and the ichsmb driver 
>>>doesn't want to work with it, I get the following on boot:
>>>
>>>ichsmb0: <Intel 6300ESB (ICH) SMBus controller> port 0x8c0-0x8df irq 17 
>>>at device 31.3 on pci0
>>>device_attach: ichsmb0 attach returned 6
>>
>>Does it work if you add
>>
>>debug.acpi.disabled="sysresource"
>>
>>to /boot/loader.conf
>>
>
>Thanks for that, It kind of worked. Am I correct in thinking that, that 
>prevents ACPI attaching to the controller so that the ichsmb driver can? 
>In which case, if ACPI does attach to it, does that mean I'd get 
>temperature values in the hw.acpi.thermal tree?

Not sure of the full details as to what it disables, but I can still get it 
with it in my loader.conf
  sysctl -A hw.acpi.thermal
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.tz0.temperature: 40.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 73.0C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 75.0C
hw.acpi.thermal.tz0._ACx: 73.0C -1 -1 -1 -1 -1 -1 -1 -1 -1

# grep -i smbu /var/run/dmesg.boot
ichsmb0: <Intel 82801EB (ICH5) SMBus controller> port 0x5000-0x501f irq 10 
at device 31.3 on pci0
smbus0: <System Management Bus> on ichsmb0
smb0: <SMBus generic I/O> on smbus0

# cat /boot/loader.conf
debug.acpi.disabled="sysresource"

Also, for xmbmon, it doesnt seem to need the smb device compiled into the 
kernel.  I think the issue is the ICH6 info has changed and its just not 
parsing the information correctly.  Try mbmom -D on your machine
[verify1] /home/mdtancsa# mbmon -D
Probe Request: none
 >>> Testing Reg's at SMBus <<<
[Intel8XX(ICH/ICH2/ICH3/ICH4/ICH5/ICH6), IO-Base:0x5000]
  SMBus slave 0x5E(0x2F) found...
  SMBus slave 0x88(0x44) found...
  SMBus slave 0xA0(0x50) found...
  SMBus slave 0xA4(0x52) found...
Set SMBus slave address: 0x5E
Probing Winbond/Asus/LM78/79 chip:
   CR40:0xFF,  CR41:0xFF,  CR42:0xFF,  CR43:0xFF
   CR44:0xFF,  CR45:0xFF,  CR46:0xFF,  CR47:0xFF
   CR48:0xFF,  CR49:0xFF,  CR4A:0xFF,  CR4B:0xFF
   CR4C:0xFF,  CR4D:0xFF,  CR4E:0xFF,  CR4F:0xFF
   CR56:0xFF,  CR58:0xFF,  CR59:0xFF,  CR5D:0x19
   CR3E:0xFF,  CR13:0xFF,  CR17:0xFF,  CRA1:0xFF
   CR20:0xFF,  CR22:0xFF,  CR23:0xFF,  CR24:0xFF
   CR27:0xFF,  CR29:0xFF,  CR2A:0xFF,  CR2B:0xFF
Set SMBus slave address: 0x5E
Probing Winbond W83L78x chip:
   CR40:0xFF,  CR41:0xFF,  CR42:0xFF,  CR43:0xFF
   CR44:0xFF,  CR45:0xFF,  CR46:0xFF,  CR47:0xFF
   CR48:0xFF,  CR49:0xFF,  CR4A:0xFF,  CR4B:0xFF
   CR4C:0xFF,  CR4D:0xFF,  CR4E:0xFF,  CR4F:0xFF
   CR20:0xFF,  CR21:0xFF,  CR22:0xFF,  CR23:0xFF
   CR26:0xFF,  CR27:0xFF,  CR28:0xFF,  CR29:0xFF
   CR2B:0xFF,  CR2C:0xFF,  CR2D:0xFF,  CR2E:0xFF
SMBus[Intel8XX(ICH/ICH2/ICH3/ICH4/ICH5/ICH6)] found, but No HWM available 
on it!!
 >>> Testing Reg's at ISA-IO <<<
[ISA Port IO-Base:0x290]
Probing Winbond/Asus/LM78/79 chip:
   CR40:0x01,  CR41:0x00,  CR42:0x00,  CR43:0xFE
   CR44:0xFF,  CR45:0x00,  CR46:0x00,  CR47:0xF0
   CR48:0x2D,  CR49:0x03,  CR4A:0x01,  CR4B:0xC4
   CR4C:0x18,  CR4D:0x15,  CR4E:0x01,  CR4F:0xA3
   CR56:0x00,  CR58:0xFF,  CR59:0xFF,  CR5D:0xFF
   CR3E:0x00,  CR13:0x00,  CR17:0x3C,  CRA1:0xC7
   CR20:0x82,  CR22:0xD2,  CR23:0xBE,  CR24:0x5E
   CR27:0x20,  CR29:0x3C,  CR2A:0xFF,  CR2B:0xF0
Probing ITE7805/7812/SIS950 chip:
   CR00:0x01,  CR01:0xF0,  CR02:0x01,  CR03:0xF0
   CR0A:0x01,  CR48:0x2D,  CR50:0xFF,  CR51:0xFF
   CR20:0x82,  CR21:0xC7,  CR22:0xD2,  CR23:0xBE
   CR24:0x5E,  CR25:0x00,  CR26:0x00,  CR27:0x20
   CR28:0xFF,  CR29:0x3C,  CR2A:0xFF,  CR2B:0xF0
   CR0B:0x01,  CR0D:0x3C,  CR0E:0x01,  CR0F:0x01
Using ISA-IO access method!!
* Int.Tec.Exp. Chip IT8705F/IT8712F or SIS950 found.
[verify1] /home/mdtancsa#

On a 915 box I have,
[verify1]% mbmon

Temp.= 255.0, 240.0, 61.0; Rot.= 11250, 1350000, 675000
Vcore = 2.08, 3.20; Volt. = 3.34, 5.08,  5.78,  -0.00, -0.00
^C
[verify1]%

However, lmmon does seem to work

[verify1] /home/mdtancsa# lmmon -p
MB temp:
33C / 91F / 306K
Fans:
   1 :    0 rpm
   2 : 2812 rpm
   3 :    0 rpm
Voltages:
   Vcore1 :  +2.078V
   Vcore2 :  +3.125V
   + 3.3V :  +3.281V
   + 5.0V :  +4.932V
   +12.0V :  +5.875V
   -12.0V :  -0.000V
   - 5.0V :  -0.000V


and the thermal info is there

[verify1] /home/mdtancsa# sysctl -A hw.acpi.thermal
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.tz0.temperature: 33.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 50.0C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 100.0C
hw.acpi.thermal.tz0._ACx: 50.0C -1 -1 -1 -1 -1 -1 -1 -1 -1
[verify1] /home/mdtancsa#

>sysutils/xmbmon and sysutils/healthd can't seem to read anything from it 
>anyway. Is this because the SMBus has no temperature sensors tied to it? 
>It has them in the BIOS, so I assumed I could read them in FreeBSD.
>
>I get ichsmb0: irq 0x04 during -1 in dmesg when trying healthd and
>
>root at alexis:~/ > healthd -S
>ioctl(SMB_WRITEB): Permission denied
>
>Cheers,
>Phil



More information about the freebsd-stable mailing list