473,382 Members | 1,353 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

SMBus find devices

Hi,

What I would like to do is to read all kind of sensor data out of the
BMC (Baseboard Management Controller), lets take for example the
processor temperature.

I'm developing with C on a FreeBSD kernel. It's an Intel SE7210TP1-E
TPS motherboard. It supports IPMI 2.0. And the mBMC chip on the
motherboard is from National Semiconductor PC87431 interated
management controller.

As far as I've found in the documentation the BMC can be accessed
through two interfaces on this motherboard:
- SMBus
- LOM (Lan On Motherboard)

I would like to accomplish this using the SMBus, and can be found on
/dev/smb0. This is working, but then find the BMC. So I scan through
the addresses 0x20 till 0x4f and send the command 0x03 (Get UDID = get
Unique Device Identifier) for this I take an SMB frame as in the
machine/smb.h is defined. Looking in the documentation it explains
that the Device capabilitities field within the UDID frame which is
returned in the smb frame should have the value 38(dec). When trying
this with the folowing code I don't get an result that make any
sense????

[code sample]
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <machine/smb.h>
#include <stdlib.h>
#include <err.h>

/* scan */
int fd;
struct smbcmd s;
int i;
short n;
char data[32];

if ((fd = open("/dev/smb0", O_RDWR)) < 0)
warn("unable to open smb");

for (n = 0x20; n < 0x4f; n++) {
s.slave = n;
s.cmd = 3;
s.count = 17;
s.data.byte_ptr = data;
memset(s.data.byte_ptr, 0, s.count);
if (ioctl(fd, SMB_BREAD, &s) < 0)
continue;

printf("slave = 0x%02X data = ", n);
for (i = 0; i < s.count; i++) {
printf("%02X ",
((unsigned int)s.data.byte_ptr[i] & 0x00ff));
} putchar('\n');
}
close(fd);
[/code sample]

I just got 4 responses from devices, and from the data returned I
can't make up what devices they are?
It looks more if the data returned is incorrect, and have nothing to
do with the request.

And now I got really stuck, any help or ideas will be appreciated!

Thanks,

Charl
Nov 14 '05 #1
3 8051
RedLion <ch****@tunix.nl> scribbled the following:
Hi, What I would like to do is to read all kind of sensor data out of the
BMC (Baseboard Management Controller), lets take for example the
processor temperature. I'm developing with C on a FreeBSD kernel. It's an Intel SE7210TP1-E
TPS motherboard. It supports IPMI 2.0. And the mBMC chip on the
motherboard is from National Semiconductor PC87431 interated
management controller.


You'll want comp.unix.programmer or a FreeBSD-specific newsgroup.

--
/-- Joona Palaste (pa*****@cc.helsinki.fi) ------------- Finland --------\
\-- http://www.helsinki.fi/~palaste --------------------- rules! --------/
"I said 'play as you've never played before', not 'play as IF you've never
played before'!"
- Andy Capp
Nov 14 '05 #2
Isn't ther anyone who can help me with this?

I've posted to a couple of groups now, but haven't had any responses...
Nov 14 '05 #3
RedLion wrote:

Isn't ther anyone who can help me with this?

I've posted to a couple of groups now, but haven't had any responses...


Not here, as you were already told.

--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!
Nov 14 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: A. Fuentes | last post by:
Fellow Oracle Netters: I have the following problem: Enviroment: Oracle9i/AIX5.2/Veritas vxvm I am trying to create an Oracle database using RAW devices UNDER the Veritas vxvm.(Veritas...
2
by: Wolfgang | last post by:
Dear all, I'm using GPIO (general purpose IO) of a motherboard. Accessing SMBus Components directly by the Registers of the SMBus Controller. Has anybody a more elegant way not to bind the...
0
by: Sagaert Johan | last post by:
Hi How can i read cpu temperature, fanspeed ,etc from SMBus ? Is there a standard in reading motherboard temperature, fanspeed, etc ? Johan
0
by: andrew | last post by:
We are currently writing a utility to audit software and hardware within computers on a network. We need to be able to access the the memory SPD data via the SMBus. This will tell us the...
0
by: gewe | last post by:
I am using the following code to enumerate devices on the local computer: ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * from Win32_PnPEntity");...
2
by: Shoveler | last post by:
I need to find out the MAC Address of my devices on the net work. I can send a ping command in my app, and Windows will build it's ARP Cache. How can I access this ARP Cache in code? Of is there...
3
by: stacy | last post by:
I am developing an application that must look out over TCP on an ethernet connection to locate our proprietary devices. The Web application and the devices are communicating over ethernet with...
7
by: cj2 | last post by:
I saw a MS demo a few years back where they developed a web page and the software automatically rendered it for different devices. Is this what I'm looking for? http://www.asp.net/mobile/ ...
25
by: p byers | last post by:
Good Morning Folks I have a LAN Among the several connections to it are the following four devices: A MAXSTOR network Storage Device A PC running Microsoft Windows 2000 Server 5.0.2195 (SP4) A...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.