Date: Sat, 21 Sep 2002 22:58:45 +0200 From: Nicolas Souchu <nsouch@free.fr> To: Bruce M Simpson <bms@spc.org> Cc: hardware@FreeBSD.ORG, Dan Larsson <dl@tyfon.net> Subject: Re: Getting /dev/smb* to work. Message-ID: <20020921225845.B1519@armor.fastether> In-Reply-To: <20020828100722.GH24795@spc.org>; from bms@spc.org on Wed, Aug 28, 2002 at 11:07:23AM %2B0100 References: <20020827233627.S76730-100000@hq1.tyfon.net> <20020828100722.GH24795@spc.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--YZ5djTAD1cGYuMQK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Wed, Aug 28, 2002 at 11:07:23AM +0100, Bruce M Simpson wrote:
> On Wed, Aug 28, 2002 at 12:01:15AM +0200, Dan Larsson wrote:
> > While trying to get hardware monitoring to work on my computer I
> > found the below procedure to enable the smbus device.
> > It didn't get me any closer to actually monitoring the hardware with
> > xbmon, lmmon or healthd. But the device is there.
>
> I'd like to add to this. uname is:
> FreeBSD triage.dollah.com 4.6-STABLE FreeBSD 4.6-STABLE #1: Sun Aug 25 11:23:33 BST 2002 root@triage.dollah.com:/usr/src/sys/compile/TRIAGE i386
>
> Box in question is a Sony Vaio PCG-Z600HEK. dmesg looks like this:-
>
> pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
> ...
> intpm0: <Intel 82371AB Power management controller> port 0x1040-0x104f irq 9 at device 7.3 on pci0
> intpm0: I/O mapped 1040
> intpm0: intr IRQ 9 enabled revision 0
> smbus0: <System Management Bus> on intsmb0
> smb0: <SMBus general purpose I/O> on smbus0
> intpm0: PM I/O mapped 8000
Run the attached program to probe the smbus.
Nicholas
--
Nicholas Souchu - nsouch@free.fr - nsouch@FreeBSD.org
--YZ5djTAD1cGYuMQK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="detect.c"
/*-
* Copyright (c) 1999 Nicolas Souchu
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* [id for your version control system, if any]
*/
#include <stdlib.h>
#include <fcntl.h>
#include <machine/smb.h>
int doioctl(int alias, int cmd, caddr_t param)
{
int error = 1;
int retry = 3;
while (error && retry--) {
usleep(100000);
error = ioctl(alias, cmd, param);
}
return (error);
}
int main (int argc,char argv[])
{
int alias, i;
unsigned char byte=0;
struct smbcmd cmd;
bzero(&cmd, sizeof(cmd));
cmd.data.byte_ptr = &byte;
alias = open("/dev/smb0", O_RDWR);
for (i=2; i<254; i+=2)
{
if (i != 0xd2) {
cmd.slave=(u_char)i;
if(doioctl(alias, SMB_RECVB, (caddr_t)&cmd)!=-1){
printf("%x found.\n",i);
} else {
printf("%x failed.\n",i);
}
}
}
close(alias);
return 0;
}
--YZ5djTAD1cGYuMQK--
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020921225845.B1519>
