Helps: how to use i801--SMBus functions viai2c-dev module in Linux?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michael,

On 2005-11-07, Mingkun Gu wrote:
> Thank you for the advices. I've also tried to write/read block data
> to/from the ICH6 SMBus but failed to receive successful returns. I did
> tried other commands. I received successful returns for I2C_SMBUS_QUICK,
> I2C_SMBUS_BYTE-DATA (read/write) and I2C_SMBUS_WORD_DATA (read), and
> unsuccessful returns (-1) for I2C_SMBUS_WORD_DATA (write) and
> I2C_SMBUS_BLOCK_DATA (read/write)
> when calling the ioctl function of the i2c-dev module.
>
> Any comments and advices?

Does your client chip actually support all these transaction types?

An SMBus transaction will only work if the target chip does expect that
transaction type for the given "command" byte. If not, the chip will
not ACK all the bytes or will stop sending data, causing the transaction
to fail.

You may want to read the SMBus specification for clarifications on what
each transaction does. You should not try random transactions. Only use
the transaction types your client chip expects for each command. These
should be documented.

--
Jean Delvare




[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux