We cannot get the lm-sensors user-space adapter to work on our embedded system. Problem seems to be localized to the Intel 82801 Southbridge. SHORT DESCRIPTION We are trying to read an eeprom located on the SMBus ( using i2c_smbus_read_byte_data() ). Debug messages from the driver show that the SMBus is busy (or not ready to Transmit). However there is other debug output just before the busy-check which shows some important host registers to have all FF's in them; this seems to be abnormal. We have not used "sensors-detect"; it is a perlscript and getting perl onto our embedded system would be quite ungainly. Any help would be appreciated. Details, souce code, and kernel config are below. Thanks, Patrick DETAILS: The fail occurs at the beginning of the following file/function: drivers/i2c/busses/i2c-i801.c:i801_transaction() Debug information shows that all five registers have FF in them and that the SMBus is busy: i801_smbus : Transaction (pre): CNT=ff, CMD=ff, ADD=ff, DAT0=ff, DAT1=ff i801_smbus : SMBus busy (1f). Resetting... i801_smbus : Failed! (1f) SOURCE CODE: drivers/i2c/busses/i2c-i801.c:i801_transaction() ( lines 183-206 ) static int i801_transaction(void) { int temp; int result = 0; int timeout = 0; dev_dbg(&I801_dev->dev, "Transaction (pre): CNT=%02x, CMD=%02x, " "ADD=%02x, DAT0=%02x, DAT1=%02x\n", inb_p(SMBHSTCNT), inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0), inb_p(SMBHSTDAT1)); /* Make sure the SMBus host is ready to start transmitting */ /* 0x1f = Failed, Bus_Err, Dev_Err, Intr, Host_Busy */ if ((temp = (0x1f & inb_p(SMBHSTSTS))) != 0x00) { dev_dbg(&I801_dev->dev, "SMBus busy (%02x). Resetting...\n", temp); outb_p(temp, SMBHSTSTS); if ((temp = (0x1f & inb_p(SMBHSTSTS))) != 0x00) { dev_dbg(&I801_dev->dev, "Failed! (%02x)\n", temp); return -1; } else { dev_dbg(&I801_dev->dev, "Successfull!\n"); } } ... KERNEL CONFIGURATION (using 2.6.14.1) Since we need to reduce the size of the kernel, we've tried to eliminate any unnecessary drivers. We've followed the 2.6 Kernel Configuration instructions at: http://www.lm-sensors.org/wiki/Kernel2.6 <http://www.lm-sensors.org/wiki/Kernel2.6> ...with the following exceptions: * Under I2C_support>I2C_Algorithms : all 3 drivers are configured as built-in instead of modules * Under I2C_support>I2C_Hardware_Bus_Support : Intel 82801 is configured as "built-in" and the remaining 20 drivers are excluded * Under I2C_support>Misc_I2C_Chip_support : EEPROM reader and the 3 Phillips drivers are included; remaining 4 drivers are excluded. * Under Hardware Monitoring support: "Hardware Monitoring Support" is included as a module but all 27 drivers under it are excluded -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20070606/23eab584/attachment.html