Bug 60226 - [ichsmb] [patch] ichsmb driver doesn't detects SMB bus on Asus P4B533/P4PE motherboards
Summary: [ichsmb] [patch] ichsmb driver doesn't detects SMB bus on Asus P4B533/P4PE mo...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: i386 (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: Remko Lodder
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-14 09:10 UTC by Alexander Zagrebin
Modified: 2009-10-17 07:10 UTC (History)
0 users

See Also:


Attachments
asus_smbus.patch (2.62 KB, patch)
2004-02-09 00:39 UTC, fk03eno
no flags Details | Diff
pci.c.patch (2.78 KB, patch)
2009-10-17 07:06 UTC, Alexander
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Zagrebin 2003-12-14 09:10:17 UTC
	Asus hides the SMBus PCI bridge within the ICH2 or ICH4 southbridge
	on  Asus P4B533/P4PE mainboards. So ichsmb driver doesn't detects
	SMB bus.

Fix: 

There are linux patch.
	See http://www.cs.helsinki.fi/linux/linux-kernel/2003-11/0868.html
	for details.
How-To-Repeat: 	Include
	    device	smbus
	    device	ichsmb
	    device	smb
	to the kernel config file, recompile kernel and reboot.
	New kernel will not detects SMB bus.
	pciconf -lv will not list it too.
Comment 1 fk03eno 2004-02-09 00:39:54 UTC
Attached is a patch against -CURRENT that solves this issue
by enabling the i801 SMBus when the bus is scanned.
Comment 2 Alexander Zagrebin 2004-02-10 09:38:48 UTC
I successfully applied this patch to RELENG_5_2,
but there was the compile error at fixup_pci.c.
The problem was solved after adding line "#include <dev/pci/fixup_pci.h>" to
it.
With new kernel SMBus was detected and seems to be working.
But, smbus got irq4 and i lost my sio0. :(

...
Feb  9 20:59:12 bsd kernel: [-] pmccfg: 49
Feb  9 20:59:12 bsd kernel: Enabled Intel 801SMBus
Feb  9 20:59:12 bsd kernel: pci_cfgintr: 0:31 INTA BIOS irq 9
Feb  9 20:59:12 bsd kernel: pci_cfgintr: 0:31 INTB BIOS irq 9
...
Feb  9 20:59:12 bsd kernel: ichsmb0: <Intel 82801DC (ICH4) SMBus controller>
port 0xe800-0xe81f at device 31.3 on pci0
Feb  9 20:59:12 bsd kernel: pci_cfgintr: 0:31 INTB routed to irq 4
                                              ^^^^^^^^^^^^^^^^^^^^
Feb  9 20:59:12 bsd kernel: smbus0: <System Management Bus> on ichsmb0
Feb  9 20:59:12 bsd kernel: smb0: <SMBus generic I/O> on smbus0
...
Feb  9 20:59:12 bsd kernel: sio0: configured irq 4 not in bitmap of probed
irqs 0
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^
Feb  9 20:59:12 bsd kernel: sio0: port may not be enabled
Feb  9 20:59:12 bsd kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on
isa0
Feb  9 20:59:12 bsd kernel: sio0: type 16550A
Feb  9 20:59:12 bsd kernel: sio1 at port 0x2f8-0x2ff irq 3 on isa0
Feb  9 20:59:12 bsd kernel: sio1: type 16550A
...

Can this problem to be solved?
Will this patch commited to RELENG_5_2?

Alexander Zagrebin
--
Comment 3 Bruce Evans 2004-02-10 14:44:56 UTC
On Tue, 10 Feb 2004, Alexander Zagrebin wrote:

>  I successfully applied this patch to RELENG_5_2,
>  but there was the compile error at fixup_pci.c.
>  The problem was solved after adding line "#include <dev/pci/fixup_pci.h>" to
>  it.
>  With new kernel SMBus was detected and seems to be working.
>  But, smbus got irq4 and i lost my sio0. :(
>
>  ...
>  Feb  9 20:59:12 bsd kernel: [-] pmccfg: 49
>  Feb  9 20:59:12 bsd kernel: Enabled Intel 801SMBus
>  Feb  9 20:59:12 bsd kernel: pci_cfgintr: 0:31 INTA BIOS irq 9
>  Feb  9 20:59:12 bsd kernel: pci_cfgintr: 0:31 INTB BIOS irq 9
>  ...
>  Feb  9 20:59:12 bsd kernel: ichsmb0: <Intel 82801DC (ICH4) SMBus controller>
>  port 0xe800-0xe81f at device 31.3 on pci0
>  Feb  9 20:59:12 bsd kernel: pci_cfgintr: 0:31 INTB routed to irq 4
>                                                ^^^^^^^^^^^^^^^^^^^^

sio0 on irq4 should still work.

>  Feb  9 20:59:12 bsd kernel: smbus0: <System Management Bus> on ichsmb0
>  Feb  9 20:59:12 bsd kernel: smb0: <SMBus generic I/O> on smbus0
>  ...
>  Feb  9 20:59:12 bsd kernel: sio0: configured irq 4 not in bitmap of probed
>  irqs 0
>                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  ^^^^^

This message can be ignored if you know that irq 4 is correct.  Old versions
used to fail here, but that is not quite right because it is possible for
the irq to work despite the test for it failing here.

>  Feb  9 20:59:12 bsd kernel: sio0: port may not be enabled

This message is just a normally-usless hint about why the previous message
was printed.

>  Feb  9 20:59:12 bsd kernel: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on
>  isa0

Since you didn't get the message "sio0: unable to activate interrupt in fast
mode - using normal mode", sio0 has apparently been attached first and
subsequent attachment of ichsmb should fail because sio has set up the
interrupt in fast mode so it is unavailable in the normal mode that ichsmb
wants.  If it actually succeeds, then there is a bug in the interrupt
attachment (larger than the unimplemented details that prevent changing
the sio interrupt's mode after attach time), and the bug could easily
break delivery of interrupts too.  Things should work better if ichsmb
is attached first.  I don't know how to force this except by making sio
a module.

Bruce
Comment 4 Remko Lodder freebsd_committer freebsd_triage 2006-09-11 12:46:43 UTC
State Changed
From-To: open->feedback

Hello is this still a problem in more recent versiosn of 
FreeBSD ? (6.1 for example) 


Comment 5 Remko Lodder freebsd_committer freebsd_triage 2006-09-11 12:46:43 UTC
Responsible Changed
From-To: freebsd-i386->remko

grab the PR
Comment 6 Remko Lodder freebsd_committer freebsd_triage 2007-11-17 19:49:21 UTC
State Changed
From-To: feedback->closed

Feedback timeout since 2006.
Comment 7 Alexander 2009-10-16 10:16:57 UTC
Hey, this bug still present in 7.2-STABLE.
I have Asus P4PE m/b and it's annoying :-)