I2C errors appeared with multiple usb devices

Jump to: navigation, search

With multiple USB devices connected environment, I2C bus error occur when operating I2C device. We observed the following two patterns.

Pattern 1: [ 133.082741] i2c-rcar e66d8000.i2c: error -11 : f

Arbitration lost occurs on the I2C bus, and rcar_i2c_master_xfer() fails with EAGAIN. When an I2C interrupt occurs, bit 5 (Master Arbitration Lost) of the Master Status Register (ICMSR) is set.

Pattern 2: [ 183.453555] i2c-rcar e66d8000.i2c: error -110 : 13

I2C device access timeout occurs and rcar_i2c_master_xfer () fails with ETIMEDOUT. Timeout occurs because the Master Stop Transmitted bit of the Master Status Register (ICMSR) is not set.

Although the causal relationship between the USB devices and the I2C bus is unclear, it seems that the hardware is detecting an abnormality. (From Master Status Register (ICMSR))

[ Reproduce environment ] Renesas bsp 3.15 Rcar M3 StarterKit + KF-M06

M3 USB2.0(CN 5) <-------> USBHUB <----> USB WIFI

                                                           <----> USB MEMORY * 2
                                                           <----> USB mouse dongle

KF-M06(CN 29) <--------> CMOS Camera

When CMOS camera is operated (capture), I2C bus error occurs probability as below. pattern1: 1/10. pattern2: 1/2.

Thanks, WN

00:03, 7 March 2019

Hi Can we reproduce this phenomenon if we don't use USB Wifi? M3 USB2.0(CN5) <---> USB HUB <---> USB MEMORY * 2 and USB mouse dongle KF-M06(CN29) <---> CMOS camera(ov5642)

I cannot reproduce.(0/20) Could you try it on another KF board?

18:42, 13 March 2019

As a result of our confirmation again, it can be reproduced, even if the USB device is not connected. Let me share the reproduction the scenario below. In addition, I used another board butI2C error is still reproduced.

[ Reproduce environment ]

- Renesas bsp 3.15 - Rcar M3 StarterKit + KF-M06 - CMOS Camera OV5642

 Connected CMOS Camera to CN 29 on KF-M06.

- capture command

 Customized based on V4L2 video capture example in here.
 please see the attached file.
 # capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 12800 -H 720 -c 1000 -t 60 -z


[ 1491.549362] i2c-rcar e66d8000.i2c: error -11 : f


[ 1443.614690] i2c-rcar e66d8000.i2c: error -110 : 3

When capture command was executed, I2C bus error occurs probability as below. pattern1: 3/10. pattern2: 4/10.

Your feedback would be welcome. Thanks

05:07, 1 April 2019

I confirmed but did not reproduce.(0/20)

root@m3ulcb:~# dmesg|grep ov5642
[    2.583901] ov5642 22-003c: Chip ID 0x5642 detected
root@m3ulcb:~# capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 720 -c 1000 -t 60 -z
fb0 Fixed Info:
     @ 0x57400000, len=8294400, line=7680 bytes,
   Geometry - 1280 x 800, 32 bpp
/dev/video0 FPS:  29.1
/dev/video0 FPS:  29.1

My environments:
- M3 SK (Connected: HDMI, Serial(cn12), Ether(cn7))
- KF M06(Connected: CMOS camera(cn29))

02:09, 2 April 2019

Thank you for the confirmation. Let me re-check with another camera module.

03:01, 11 April 2019