2 Replies Latest reply on Apr 25, 2015 8:40 AM by AKap

    GY-88 i2c undetectable

    AKap

      I'm trying to attach a GY-88 module on a Edison Arduino Breakout. I2CDetect continously spews out stuff that I don't understand. I'm trying to figure out if this is being detected or not, and if it's being detected, what is the register address. Can someone please tell me what this means, and how to fix it? This is what spews out when i run i2cdetect.

       

      root@EdisonDrone:~# i2cdetect -y -r 6

           0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

      00:          [   31.851762] i2c-designware-pci 0000:00:09.1: ===== REGISTER DUMP (i2c) =====

      [   31.851864] i2c-designware-pci 0000:00:09.1: DW_IC_CON:               0x65

      [   31.851952] i2c-designware-pci 0000:00:09.1: DW_IC_TAR:               0x3

      [   31.852038] i2c-designware-pci 0000:00:09.1: DW_IC_SS_SCL_HCNT:       0x2f8

      [   31.852123] i2c-designware-pci 0000:00:09.1: DW_IC_SS_SCL_LCNT:       0x37b

      [   31.852208] i2c-designware-pci 0000:00:09.1: DW_IC_FS_SCL_HCNT:       0x87

      [   31.852292] i2c-designware-pci 0000:00:09.1: DW_IC_FS_SCL_LCNT:       0x10a

      [   31.852377] i2c-designware-pci 0000:00:09.1: DW_IC_INTR_STAT:         0x0

      [   31.852461] i2c-designware-pci 0000:00:09.1: DW_IC_INTR_MASK:         0x246

      [   31.852546] i2c-designware-pci 0000:00:09.1: DW_IC_RAW_INTR_STAT:     0x10

      [   31.852630] i2c-designware-pci 0000:00:09.1: DW_IC_RX_TL:             0x20

      [   31.852714] i2c-designware-pci 0000:00:09.1: DW_IC_TX_TL:             0x20

      [   31.852798] i2c-designware-pci 0000:00:09.1: DW_IC_ENABLE:            0x1

      [   31.852882] i2c-designware-pci 0000:00:09.1: DW_IC_STATUS:            0x2

      [   31.852965] i2c-designware-pci 0000:00:09.1: DW_IC_TXFLR:             0x1

      [   31.853049] i2c-designware-pci 0000:00:09.1: DW_IC_RXFLR:             0x0

      [   31.853132] i2c-designware-pci 0000:00:09.1: DW_IC_TX_ABRT_SOURCE:    0x0

      [   31.853216] i2c-designware-pci 0000:00:09.1: DW_IC_DATA_CMD:          0x0

      [   31.853298] i2c-designware-pci 0000:00:09.1: ===============================

      [   31.853414] CPU: 0 PID: 318 Comm: i2cdetect Tainted: G        W  O 3.10.17-poky-edison+ #1

      [   31.853419] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 466 2014.06.23:19.20.05

      [   31.853426] task: f5ec0590 ti: f54cc000 task.ti: f54cc000

      [   31.853487] Stack:

      [   31.853556] Call Trace:

      [   31.853981] Code: b3 ff ff 89 f8 09 d0 80 ce 04 83 ff 02 0f 44 c2 8b 15 54 4b b9 c1 89 82 00 b3 ff ff f7 c6 00 02 00 00 74 14 e8 e7 f8 0a 00 56 9d <83> c4 04 5b 5e 5f 5d c3 90 8d 74 26 00 56 9d e8 d1 f4 0a 00 83

      [   31.854006] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W  O 3.10.17-poky-edison+ #1

      [   31.854010] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 466 2014.06.23:19.20.05

      [   31.854019] task: f6c83d30 ti: f6e1e000 task.ti: f6e1e000

      [   31.854080] Stack:

      [   31.854148] Call Trace:

      [   31.854356] Code: 8b 42 08 a8 08 75 24 31 c9 8d 42 08 89 ca 0f 01 c8 0f ae f0 89 f6 89 e0 25 00 e0 ff ff 8b 40 08 a8 08 75 07 b1 01 89 f0 0f 01 c9 <85> 1d 58 a6 bc c1 75 0d 8d 55 f0 b8 05 00 00 00 e8 bd 31 d9 ff

      [   31.902106] i2c-6: recovery ignore

        • 1. Re: GY-88 i2c undetectable
          Intel_Peter

          Hello Akap,

           

          Unfortunately I don't have access to a GY-88, so I'm not able to test it on my Edison, however I did a quick test with another I2C device, and the Edison was able to detect it as you can see in the picture below:

          i2c detect.PNG

          Also, I didn't get any message like yours:

          i2c dmesg.PNG

          I believe this might have to do with your GY-88, but make sure you are using the Edison's latest image. Also you could try to get the register address with an Arduino code like this:

           

          byte address, error;
          int nDevices = 0;
          for(address = 1; address < 127; address++ )
          {
               Wire.beginTransmission(address);
               error = Wire.endTransmission();
               if (error == 0)
               {
                    Serial.print("I2C device found at address 0x");
                    if (address<16)
                         Serial.print("0");
                    Serial.print(address,HEX);
                    nDevices++;
              }
          }
          if (nDevices == 0)
              Serial.println("No I2C devices found\n");
          else
              Serial.println("\n");
          delay(1000);          // wait 1 seconds for next scan
          

           

          This code lets you detect an I2C device and find out its register address.

           

          Peter.

          • 2. Re: GY-88 i2c undetectable
            AKap

            Thanks so much for you reply. It helped out alot.