| Summary: | SMBus driver broken | ||
|---|---|---|---|
| Product: | Base System | Reporter: | larse <larse> |
| Component: | kern | Assignee: | Mark Linimon <linimon> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.4-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
larse
2001-12-08 16:40:00 UTC
State Changed From-To: open->feedback The smbus(4) driver doesn't have an active maintainer. If you want the problem fixed, you're going to have to try to get a better idea of what the problem is. Try booting the systems that work with boot -v and comparing the attach messages with those on a system that doesn't work (also booted with boot -v). Also, try to provide more detail on the exact hardware in the boxes (both working and not) using pciconf -vl. Note that the -v option was only added to picconf(8) in -STABLE recently. How wow, you're right! I didn't realize Nicholas was still working on this. He tends to go dormant for long periods of time. :-) Will you try out Nicholas' patch and copy <freebsd-gnats-submit> with your results? Ciao, Sheldon. ----- Original Message ----- Date: Mon, 10 Dec 2001 07:43:58 -0800 From: Lars Eggert <larse@ISI.EDU> To: sheldonh@FreeBSD.org cc: freebsd-bugs@FreeBSD.org, nsouch@freebsd.org Subject: Re: misc/32605: SMBus driver broken > Hi, > > sheldonh@FreeBSD.org wrote: > > > State-Changed-Why: > > The smbus(4) driver doesn't have an active maintainer. If you want the > > problem fixed, you're going to have to try to get a better idea of > > what the problem is. > > > Isn't nsouch working on it? At least he (she?) seems to have a > relatively new patch available at > http://people.freebsd.org/~nsouch/iicbus.html (Which I tried and doesn't > seem to make things better.) > > > > Try booting the systems that work with boot -v and comparing the > > attach messages with those on a system that doesn't work (also > > booted with boot -v). > > > Both systems in the PR don't work - so far I haven't found a system > which it *does* work on. > > > > Also, try to provide more detail on the exact hardware in the boxes > > (both working and not) using pciconf -vl. Note that the -v > > option was only added to picconf(8) in -STABLE recently. > > > > http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32605 > > I run 4.4-RELEASE - but I could build the -STABLE pciconf and run it, if > that'll work. > > Thanks, > Lars > -- > Lars Eggert <larse@isi.edu> Information Sciences Institute > http://www.isi.edu/larse/ University of Southern California > Responsible Changed From-To: freebsd-bugs->nsouch Nicholas is looking into this. Apologies about the false claims of no active maintainer. :-) The following program will show you what can be found on your SMBus. It
works here for an
intel based machine.
One must note that even if the smbus driver works, lmmon or healthd may
not support the
monitoring chip (see healthd manpage for more info). Especially, when
lmmon reports
IOTCL error it is when the chip at I2C addr 0x5a is not found (see
perror() call in the lmmon.c).
You may change the /dev/smb? as needed.
#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(200);
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;
cmd.cmd = 0x0;
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_READB, (caddr_t)&cmd)!=-1){
printf("%x found.\n",i);
}
}
}
close(alias);
return 0;
}
--
AlcĂ´ve Technical Manager - Nicolas.Souchu@fr.alcove.com - http://www.alcove.com
FreeBSD Developer - nsouch@freebsd.org
Nicolas Souchu wrote: > The following program will show you what can be found on your SMBus. > It works here for an intel based machine. This is what I get on the Dell laptop (I'm at IETF right now, so I can't test my SMP desktop, will do in a week): 38 found. 60 found. a0 found. > One must note that even if the smbus driver works, lmmon or healthd > may not support the monitoring chip (see healthd manpage for more > info). Especially, when lmmon reports IOTCL error it is when the > chip at I2C addr 0x5a is not found (see perror() call in the > lmmon.c). Ah, I didn't know that (I'm new to setting up SMBus). Since it wasn't found, that explains the issue. Lars -- Lars Eggert <larse@isi.edu> Information Sciences Institute http://www.isi.edu/larse/ University of Southern California Responsible Changed From-To: nsouch->linimon Assignee has agreed that this PR should be reassigned to the pool due to inactivity. To original submitter: is this still a problem on current releases? Hi, I cannot test whether the bug persists as I have no longer access to the equipment. OK to close this, IMO. Lars -- Lars Eggert NEC Network Laboratories State Changed From-To: feedback->closed Submitter can no longer test for this problem and suggests this PR should just be closed. |