[TangerineSDR] I2C Extension - 30 m verdict- too flaky for now.

David Witten wittend at wwrinc.com
Fri Feb 28 14:17:39 EST 2020


It looks like the verdict is in on using full magnetometer support boards
with a single span of CAT 6a shielded twisted pair cable - for now.  The 30
m (100foot) cable does not seem to work satisfactorily.

It seems clear to me that it works 'a little', I2cdetect reports devices at
0x18  (MCP9808), 0x19 (MCP9808), and 0x20 (the RM3100 module) most of the
time. Since I am doing this testing from the NVIDIA Xavier the bus used is
/dev/i2c-8.  I have no idea what that is at 0x74.

>From code written in C the device setup and verifies  the revision id of
the RM3100 most of the time.  But then errors seem to accumulate and
timeouts occur.

I'm not even certain at the moment which I2C signalling rate is in use
here.  It is just the default, perhaps 100 k.  I'll look into mechanisms
for lowering the rate used. I think that I saw an ioctl() call that may
help.

So for now 50' seems rock solid, 100' is too flaky to use.  I'll try to
find a way to connect a 50' with a 25 cable to see where that gets us.

The cable used is Amazon's pride off-the-shelf overnight stuff.  The
package says (in very small type):

100' Cat 5a
550 MHz
Snagless Shielded (SSTP/SFTP)
Gigabit Ethernet Patch Cable - Black.

I do not know the wire gauge used.

Results on Xavier (same on Odroid-N2):

dave at rio:~/projects/SWx/Software/SWx-C/i2c-c$ sudo i2cdetect -y -r 8
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 19 -- -- -- -- -- --
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- 74 -- -- --
dave at rio:~/projects/SWx/Software/SWx-C/i2c-c$ sudo ./simplei2c
i2c_init OK!
RM3100 Detected Properly: REVID: 22.
Polling I2C device: 20.

readRegister set register: Remote I/O error
readRegister set register: Remote I/O error
readRegister read value: Resource temporarily unavailable
readRegister set register: Connection timed out
readRegister read value: Connection timed out
readRegister set register: Connection timed out
readRegister read value: Connection timed out
readRegister set register: Resource temporarily unavailable
readRegister read value: Remote I/O error
readRegister set register: Remote I/O error
readRegister read value: Resource temporarily unavailable
readRegister set register: Remote I/O error
readRegister read value: Remote I/O error
readRegister set register: Remote I/O error
readRegister read value: Input/output error
readRegister set register: Resource temporarily unavailable
readRegister read value: Remote I/O error
readRegister set register: Remote I/O error
readRegister read value: Remote I/O error
readRegister set register: Input/output error
readRegister read value: Remote I/O error
readRegister set register: Input/output error
readRegister read value: Remote I/O error
readRegister set register: Remote I/O error
readRegister read value: Input/output error
readRegister set register: Connection timed out
readRegister read value: Connection timed out
...
etc.

Dave Witten, KD0EAG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/tangerinesdr_lists.tapr.org/attachments/20200228/908f1c50/attachment.html>


More information about the TangerineSDR mailing list