tech-kern archive

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

Re: i2c and indirect vs. direct config



Mouse <mouse%Rodents-Montreal.ORG@localhost> writes:

>> Your points about explicit config make a lot of sense; reminds me of
>> qbus and isa bus where you have to know.
>
> Well, except that on Qbus and ISA, most devices can be probed
> relatively harmlessly.  That is, asking a driver "there might be a
> device you handle at this address, check it out?" is a reasonable thing
> to do.  There certainly are exceptions, a few cases of devices X and Y
> such that having device Y's driver probe for a Y at A when there's
> really an X at A will do something unfortunate to the X.  But they are
> few and rare.
>
> As I read thorpej's mail, that's far less true of i2c.
>
> /~\ The ASCII				  Mouse
> \ / Ribbon Campaign
>  X  Against HTML		mouse%rodents-montreal.org@localhost
> / \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Can "far less true" be quantified somehow??  I seem to remember one
known device that didn't like to be probed, something on a Lenovo laptop
I think, but I don't remember if it was a read cycle or a write cycle
that made the device upset.  Or something else..


Does the techniques mentioned in these offer any hope of determining the
presence of an actual device at a particular address on the bus in a
harmless manor:

http://forum.arduino.cc/index.php?topic=61520.0
https://electronics.stackexchange.com/questions/76617/determining-i2c-address-without-datasheet

The second, in particular, simply does a start+address+stop.. if the
response to the address was ACK there was a device, otherwise, there if
it was a NAK there wasn't anything there.  I don't know how well this
works in in practice.  But it would seem to be something that would not
be able to upset a device.




-- 
Brad Spencer - brad%anduin.eldar.org@localhost - KC8VKS - http://anduin.eldar.org


Home | Main Index | Thread Index | Old Index