tpa81(sensor temperatur)

80 views
Skip to first unread message

zaenal abidin

unread,
Nov 16, 2016, 12:35:27 AM11/16/16
to BeagleBoard
tomorrow i can running thermal with i2c in bbb ,therefor im clean one file.there are file erased.
when i run file again .showed

    thermal1= bus.read_byte_data(address, reg1)
IOError: [Errno 121] Remote I/O error


anyone know to fix it?

William Hermans

unread,
Nov 16, 2016, 12:45:25 AM11/16/16
to beagl...@googlegroups.com
http://permalink.gmane.org/gmane.linux.distributions.gumstix.general/60029

> The signals on the bus are the same as shown in my previous posted
picture.
> The error is as follows:
>      error I2C_RDWR errno=121(Remote I/O error)

Generally, that means that the remote didn't respond properly (i.e.
didn't ACK).

As Rob suggested, I'd adjust the bus speed down to 100 kHz. I seem to
recall that this is done by specifying

i2c_bus=3,100

on the kernel command line (which originates from u-boot).


--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/073122df-6f41-4970-8523-48801ff6d4de%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

William Hermans

unread,
Nov 16, 2016, 12:49:52 AM11/16/16
to beagl...@googlegroups.com
So, i2c_bus=3,100 probably won't work for your case. You'll probably have replace "3" to reflect the proper I2C bus you're using. But in case you're using a bus thats already in use ( 0, or 2 ), I'd probably not try the above.

Graham

unread,
Nov 16, 2016, 10:45:49 AM11/16/16
to BeagleBoard
There are many things that can cause that error.

It means that the I2C device is not replying to its address on the buss.

It could be a wiring error, the I2C device is not hooked up correctly.

The BeagleBone has three I2C busses. You could be looking on the wrong bus.

It could mean there are no pull up resistors on the I2C bus.

It could mean that the part is busy. This would mean that it answers some times and not others. It is very common for EEPROMs to not answer when they are busy writing to the internal memory, or parts with data converters to not answer when they are busy doing a conversion. The solution to the busy problem is to wait a few milliseconds, then try again, perhaps a maximum of ten times before giving up.

--- Graham

==

woody stanford

unread,
Jan 30, 2017, 4:03:42 PM1/30/17
to BeagleBoard
You are using I2C to read a thermistor? What are you building an atom smasher lol?

Switch your I2C to ADC and find a PDF of a themistor-to-voltage network of discretes and just read the ADC.

My God man. :D
Reply all
Reply to author
Forward
0 new messages