All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] tap SMBus vis PCI slot?
@ 2013-01-24  9:17 Robert Smith
  2013-01-24  9:51 ` Jean Delvare
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Robert Smith @ 2013-01-24  9:17 UTC (permalink / raw)
  To: lm-sensors


[-- Attachment #1.1: Type: text/plain, Size: 1137 bytes --]

I am interested in connecting my arduino to my motherboard's SMBus and I
read the 'Hardware Hacking' web page here:

http://www.lm-sensors.org/wiki/HardwareHacking

It occurred to me that the SMBus pins are routed to the PCI slot pins
A40/A41, so I figured it should be possible to modify a PCI riser card and
use this to access the SMBus.

Just wondering if anyone has any experience to share regarding this as it
wasn't mentioned as a possibility on the Hardware page it seems that it
would be a lot simpler than modifying a DIMM since you can get riser cards
which use ribbon cables.

FYI, with the Arduino I would like to create a PID fan controller which can
access the motherboard sensors directly. It would also be able to
control/read the motherboard's built in fan controller as well as control
additional PWM fans, at least that's the idea.

I hope to also be able to configure the arduino from the PC via the SMBus
and possibly feed it cpu load information if that is useful in controlling
the fans... probably not necessary with the PID controller. It could be
useful to be able to switch between different cooling profiles.

[-- Attachment #1.2: Type: text/html, Size: 1430 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] tap SMBus vis PCI slot?
  2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
@ 2013-01-24  9:51 ` Jean Delvare
  2013-01-24 10:01 ` Robert Smith
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Jean Delvare @ 2013-01-24  9:51 UTC (permalink / raw)
  To: lm-sensors

On Thu, 24 Jan 2013 10:17:17 +0100, Robert Smith wrote:
> I am interested in connecting my arduino to my motherboard's SMBus and I
> read the 'Hardware Hacking' web page here:
> 
> http://www.lm-sensors.org/wiki/HardwareHacking
> 
> It occurred to me that the SMBus pins are routed to the PCI slot pins
> A40/A41, so I figured it should be possible to modify a PCI riser card and
> use this to access the SMBus.
> 
> Just wondering if anyone has any experience to share regarding this as it
> wasn't mentioned as a possibility on the Hardware page it seems that it
> would be a lot simpler than modifying a DIMM since you can get riser cards
> which use ribbon cables.

I have not done that, but it should work, assuming the vendor actually
routed the SMBus signals to all PCI slots. I think they are supposed to
do so, but...

Alternatively, a number of motherboard models make the SMBus accessible
directly through pins, similar to extra USB port connectors. You should
check first if your board has this.

> FYI, with the Arduino I would like to create a PID fan controller which can
> access the motherboard sensors directly. It would also be able to
> control/read the motherboard's built in fan controller as well as control
> additional PWM fans, at least that's the idea.

I admit I am very skeptical how you intend to achieve this. Please
remember that the SMBus is not designed to be multi-master and thus you
have absolutely no guarantee that things will work if you attempt to
make the Arduino an SMBus master. I also see no way you can talk to
non-SMBus (e.g. LPC or CPU-embedded) sensors.

So you would need dedicated software on the host to periodically poll
and send all the information to the Arduino. At which point you might
as well have said software do the fan speed control by itself, assuming
the board includes fan speed controllers. Most do these days.

> I hope to also be able to configure the arduino from the PC via the SMBus
> and possibly feed it cpu load information if that is useful in controlling
> the fans... probably not necessary with the PID controller. It could be
> useful to be able to switch between different cooling profiles.

Happy hacking nevertheless :)

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] tap SMBus vis PCI slot?
  2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
  2013-01-24  9:51 ` Jean Delvare
@ 2013-01-24 10:01 ` Robert Smith
  2013-01-24 10:10 ` Jean Delvare
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Robert Smith @ 2013-01-24 10:01 UTC (permalink / raw)
  To: lm-sensors


[-- Attachment #1.1: Type: text/plain, Size: 2856 bytes --]

Thanks,

My motherboard is an Intel DX58SO. I have read the documentation and it
doesn't mention a header but it does mention that the SMBus is routed to
the (single) PCI slot.

I understood that SMBus is a multi master bus? certainly my plans rely on
this.

"SMBus is a two-wire multi-master bus, meaning that more than one device
capable of controlling the bus
can be connected to it."

from section 2 'Characteristics' of:

http://smbus.org/specs/smbus110.pdf


On Thu, Jan 24, 2013 at 10:51 AM, Jean Delvare <khali@linux-fr.org> wrote:

> On Thu, 24 Jan 2013 10:17:17 +0100, Robert Smith wrote:
> > I am interested in connecting my arduino to my motherboard's SMBus and I
> > read the 'Hardware Hacking' web page here:
> >
> > http://www.lm-sensors.org/wiki/HardwareHacking
> >
> > It occurred to me that the SMBus pins are routed to the PCI slot pins
> > A40/A41, so I figured it should be possible to modify a PCI riser card
> and
> > use this to access the SMBus.
> >
> > Just wondering if anyone has any experience to share regarding this as it
> > wasn't mentioned as a possibility on the Hardware page it seems that it
> > would be a lot simpler than modifying a DIMM since you can get riser
> cards
> > which use ribbon cables.
>
> I have not done that, but it should work, assuming the vendor actually
> routed the SMBus signals to all PCI slots. I think they are supposed to
> do so, but...
>
> Alternatively, a number of motherboard models make the SMBus accessible
> directly through pins, similar to extra USB port connectors. You should
> check first if your board has this.
>
> > FYI, with the Arduino I would like to create a PID fan controller which
> can
> > access the motherboard sensors directly. It would also be able to
> > control/read the motherboard's built in fan controller as well as control
> > additional PWM fans, at least that's the idea.
>
> I admit I am very skeptical how you intend to achieve this. Please
> remember that the SMBus is not designed to be multi-master and thus you
> have absolutely no guarantee that things will work if you attempt to
> make the Arduino an SMBus master. I also see no way you can talk to
> non-SMBus (e.g. LPC or CPU-embedded) sensors.
>
> So you would need dedicated software on the host to periodically poll
> and send all the information to the Arduino. At which point you might
> as well have said software do the fan speed control by itself, assuming
> the board includes fan speed controllers. Most do these days.
>
> > I hope to also be able to configure the arduino from the PC via the SMBus
> > and possibly feed it cpu load information if that is useful in
> controlling
> > the fans... probably not necessary with the PID controller. It could be
> > useful to be able to switch between different cooling profiles.
>
> Happy hacking nevertheless :)
>
> --
> Jean Delvare
>

[-- Attachment #1.2: Type: text/html, Size: 3832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] tap SMBus vis PCI slot?
  2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
  2013-01-24  9:51 ` Jean Delvare
  2013-01-24 10:01 ` Robert Smith
@ 2013-01-24 10:10 ` Jean Delvare
  2013-01-24 14:45 ` Guenter Roeck
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Jean Delvare @ 2013-01-24 10:10 UTC (permalink / raw)
  To: lm-sensors

On Thu, 24 Jan 2013 11:01:37 +0100, Robert Smith wrote:
> Thanks,
> 
> My motherboard is an Intel DX58SO. I have read the documentation and it
> doesn't mention a header but it does mention that the SMBus is routed to
> the (single) PCI slot.

OK.

> I understood that SMBus is a multi master bus? certainly my plans rely on
> this.
> 
> "SMBus is a two-wire multi-master bus, meaning that more than one device
> capable of controlling the bus
> can be connected to it."
> 
> from section 2 'Characteristics' of:
> 
> http://smbus.org/specs/smbus110.pdf

Ah, my bad, I thought SMBus had stripped off the multimaster capability
of I2C but clearly I'm wrong, sorry.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] tap SMBus vis PCI slot?
  2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
                   ` (2 preceding siblings ...)
  2013-01-24 10:10 ` Jean Delvare
@ 2013-01-24 14:45 ` Guenter Roeck
  2013-01-29 18:25 ` Robert Smith
  2013-01-29 20:01 ` Jean Delvare
  5 siblings, 0 replies; 7+ messages in thread
From: Guenter Roeck @ 2013-01-24 14:45 UTC (permalink / raw)
  To: lm-sensors

On Thu, Jan 24, 2013 at 11:10:16AM +0100, Jean Delvare wrote:
> On Thu, 24 Jan 2013 11:01:37 +0100, Robert Smith wrote:
> > Thanks,
> > 
> > My motherboard is an Intel DX58SO. I have read the documentation and it
> > doesn't mention a header but it does mention that the SMBus is routed to
> > the (single) PCI slot.
> 
> OK.
> 
> > I understood that SMBus is a multi master bus? certainly my plans rely on
> > this.
> > 
> > "SMBus is a two-wire multi-master bus, meaning that more than one device
> > capable of controlling the bus
> > can be connected to it."
> > 
> > from section 2 'Characteristics' of:
> > 
> > http://smbus.org/specs/smbus110.pdf
> 
> Ah, my bad, I thought SMBus had stripped off the multimaster capability
> of I2C but clearly I'm wrong, sorry.
> 
Still needs a multi-master capable controller, though. Many multi-master systems
use bus master selectors such as PCA9541 to avoid the pitfalls of multi-master
access (such as one master blocking the bus). Actually, thinking about it, I
never encountered a multi-master system without similar protection.

Guenter

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] tap SMBus vis PCI slot?
  2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
                   ` (3 preceding siblings ...)
  2013-01-24 14:45 ` Guenter Roeck
@ 2013-01-29 18:25 ` Robert Smith
  2013-01-29 20:01 ` Jean Delvare
  5 siblings, 0 replies; 7+ messages in thread
From: Robert Smith @ 2013-01-29 18:25 UTC (permalink / raw)
  To: lm-sensors


[-- Attachment #1.1: Type: text/plain, Size: 1982 bytes --]

Quick update..

I successfully connected my Arduino UNO via the SMBus pins in the PCI slot
today and used the Arduino Wire library to read temperatures from the
motherboard's aSC7621. I checked the readings against speedfan and they
matched.

It was only left running for a few minutes but I'm optimistic that it will
work ok long term, the manual for the ICH10R states that the SMBus master
is capable of multi mastering as is the Arduino.

If anyone needs to access their motherboard's SMBus then this might be a
good solution. It seems that PCIe slots also have pins for SMBus (not sure
if they are regularly connected?) and if you have a spare slot then then
the riser card makes for an extremely simple non invasive connection.

Regards,

Robert.


On Thu, Jan 24, 2013 at 3:45 PM, Guenter Roeck <linux@roeck-us.net> wrote:

> On Thu, Jan 24, 2013 at 11:10:16AM +0100, Jean Delvare wrote:
> > On Thu, 24 Jan 2013 11:01:37 +0100, Robert Smith wrote:
> > > Thanks,
> > >
> > > My motherboard is an Intel DX58SO. I have read the documentation and it
> > > doesn't mention a header but it does mention that the SMBus is routed
> to
> > > the (single) PCI slot.
> >
> > OK.
> >
> > > I understood that SMBus is a multi master bus? certainly my plans rely
> on
> > > this.
> > >
> > > "SMBus is a two-wire multi-master bus, meaning that more than one
> device
> > > capable of controlling the bus
> > > can be connected to it."
> > >
> > > from section 2 'Characteristics' of:
> > >
> > > http://smbus.org/specs/smbus110.pdf
> >
> > Ah, my bad, I thought SMBus had stripped off the multimaster capability
> > of I2C but clearly I'm wrong, sorry.
> >
> Still needs a multi-master capable controller, though. Many multi-master
> systems
> use bus master selectors such as PCA9541 to avoid the pitfalls of
> multi-master
> access (such as one master blocking the bus). Actually, thinking about it,
> I
> never encountered a multi-master system without similar protection.
>
> Guenter
>

[-- Attachment #1.2: Type: text/html, Size: 2868 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [lm-sensors] tap SMBus vis PCI slot?
  2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
                   ` (4 preceding siblings ...)
  2013-01-29 18:25 ` Robert Smith
@ 2013-01-29 20:01 ` Jean Delvare
  5 siblings, 0 replies; 7+ messages in thread
From: Jean Delvare @ 2013-01-29 20:01 UTC (permalink / raw)
  To: lm-sensors

On Tue, 29 Jan 2013 19:25:01 +0100, Robert Smith wrote:
> Quick update..
> 
> I successfully connected my Arduino UNO via the SMBus pins in the PCI slot
> today and used the Arduino Wire library to read temperatures from the
> motherboard's aSC7621. I checked the readings against speedfan and they
> matched.
> 
> It was only left running for a few minutes but I'm optimistic that it will
> work ok long term, the manual for the ICH10R states that the SMBus master
> is capable of multi mastering as is the Arduino.
> 
> If anyone needs to access their motherboard's SMBus then this might be a
> good solution. It seems that PCIe slots also have pins for SMBus (not sure
> if they are regularly connected?) and if you have a spare slot then then
> the riser card makes for an extremely simple non invasive connection.

Thanks for the update, I have updated the wiki to mention this option.

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-01-29 20:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-24  9:17 [lm-sensors] tap SMBus vis PCI slot? Robert Smith
2013-01-24  9:51 ` Jean Delvare
2013-01-24 10:01 ` Robert Smith
2013-01-24 10:10 ` Jean Delvare
2013-01-24 14:45 ` Guenter Roeck
2013-01-29 18:25 ` Robert Smith
2013-01-29 20:01 ` Jean Delvare

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.