Any working ichsmb(4) platforms out there?

Jeremy Chadwick koitsu at FreeBSD.org
Fri Sep 12 18:32:40 UTC 2008


On Fri, Sep 12, 2008 at 01:12:34PM -0500, Chris Ruiz wrote:
>
> On Sep 12, 2008, at 12:57 PM, Jeremy Chadwick wrote:
>
>> On Fri, Sep 12, 2008 at 12:19:55PM -0500, Chris Ruiz wrote:
>>> I have an ICH9 system and get the following:
>>>
>>> First, my kernel:
>>> FreeBSD attack.young-alumni.com 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE
>>> #0: Sat Sep  6 08:33:04 CDT 2008     root@:/usr/src/sys/amd64/ 
>>> compile/
>>> ATTACK  amd64
>>>
>>> Dmesg:
>>> ichsmb0: <SMBus controller> port 0x3000-0x301f mem  
>>> 0xe0427000-0xe04270ff
>>> irq 18
>>> at device 31.3 on pci0
>>> ichsmb0: [GIANT-LOCKED]
>>> ichsmb0: [ITHREAD]
>>> smbus0: <System Management Bus> on ichsmb0
>>>
>>> Error:
>>> attack:~ root# smbmsg -p
>>> smbmsg: Cannot open /dev/smb0: No such file or directory
>>
>> Does your kernel include all 3 of the following devices?
>>
>> device          smbus
>> device          smb
>> device          ichsmb
>>
>> -- 
>> | Jeremy Chadwick                                jdc at parodius.com |
>> | Parodius Networking                       http://www.parodius.com/ |
>> | UNIX Systems Administrator                  Mountain View, CA, USA |
>> | Making life hard for others since 1977.              PGP: 4BD6C0CB |
>>
>
> Jeremy,
>
> I loaded smb.ko and it fixed the situation.  I had the line  
> 'ichsmb_load="YES"' in my loader.conf and it loaded smbus.ko but not  
> smb.ko for me.  Seems like a module load dependency issue.

They're all independent pieces, that's why.  I realise the naming
convention is confusing ("wait, what do I need?  Do I need iicbus?  What
is that thing?!"), and older FreeBSD kernel configuration syntaxes and
documentation made it even worse.

Here's the breakdown in layman's terms:

ichsmb(4) -- support for Intel ICHxx SMBus via PCI bus
smbus(4)  -- adds support for kernel SMBus API framework and interfaces
             with chipset SMBus driver (e.g. ichsmb(4))
smb(4)    -- creates /dev/smbXX entries and provides ioctl(2) interface
             for userland applications

Does this help reduce confusion?

I don't consider this a "dependency issue" at all.  These are all
literally separate things; you do not meed smbus(4) and smb(4) if you
just simply want to tie a driver to a feature/device that's on the PCI
bus (e.g. ichsmb(4)).

Besides, does kldload or kernel modules in general have *any* sort
of dependency tree code?  I didn't think they did.

> Here's my output:
> attack:~ root# smbmsg -p
> Probing for devices on /dev/smb0:
> Device @0x44: rw
> Device @0x50: rw
> Device @0x52: rw
> Device @0x64: w
> Device @0x80: rw
> Device @0x88: w
> Device @0x8c: r
> Device @0xc4: rw
> Device @0xd0: rw
> Device @0xd2: rw
> Device @0xe4: w

Good deal, this is functioning normally.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-stable mailing list