SMBus device communication

  • Thread starter =?ISO-8859-1?Q?Allan_Bo_J=F8rgensen?=
  • Start date
?

=?ISO-8859-1?Q?Allan_Bo_J=F8rgensen?=

I'm currently assigned to making an application that, among many other
things, talks to a device on the SMBus inside my box. I know that the
driver for the SMBus controller itself (an Intel 82801) is loaded and
running, but I don't know how to talk to it from my application. I've
googled around a bit, and have not really found anything that worked.

Any tips, pointers, samples would be greatly appreciated.

Thanks in advance,

- Allan
 
N

No Never

Hello Allan,

This is real hardware stuff.
google on how to use "inport" and "outport" commands in your programming
language.
Invest on which port your 82801 is located (a good guess is 0x500).
Go to the 82801 datasheet and take a look how SM-bus is accessed.
(A guess is that Registers 0x500-0x506 have to be accessed in correct order
to transfer the data
to a device bounded to the SM-bus.)
But that way is definitly not general and very hardware linked.

May you better search for a "ready to use" solution.
For temperature sensors there's a lot of free stuff doing it.

Regards, Wolfgang
 
?

=?ISO-8859-1?Q?Allan_Bo_J=F8rgensen?=

Hello Wolfgang,

and thank you for your reply. This is indeed real hardware stuff.

I had thought of using direct I/O too, and the address is indeed 0x0500.
However, the driver for the hardware is already installed, and I
thought it might be easier to communicate with the driver instead of
with the hardware. I have looked at the 82801 SMBus controller, and it's
not exactly simple. Not too hard either, but definitely not simple.

I have found general descriptions of how to do driver-level
communication (CreateFile, DeviceIoControl etc), but before I start
using lots of hours trying to figure out how to talk to the SMBus
driver, I thought I'd ask around here to see if anyone had done this before.

Unfortunately this is not for something standard like temperature
sensors on standard motherboards. We have placed several intelligent
devices on an ETX baseboard, and we need to communicate with those
devices. If the source was available for any of those "ready to use"
packages you mention, I could probably build on those - I'll have to check.

- Allan
 
N

No Never

Hello Allan,
I have found general descriptions of how to do driver-level communication
(CreateFile, DeviceIoControl etc), but before I start using lots of hours
trying to figure out how to talk to the SMBus driver, I thought I'd ask
around here to see if anyone had done this before.

We've also a very special solution. I liked to use the SMBus driver you
mentioned.
But the information I found about how to use ist was very limited.
Hence I spend the hours for the well described hardware.
If you've found any resources about the SMBus driver usage I would also be
interested.
We may somewhen need to change the software to a more portable version.

Regards, Wolfgang
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top