This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ40Z80: NAK bailout issue

Part Number: BQ40Z80
Other Parts Discussed in Thread: EV2400

Dear Team,

When customers use BQ40Z80 to read information, the following will often appear NAK bailout. 
What is the reason? Thank you!


BR,
Jimmy
  • Hi Jimmy,

    This is most likely an issue with their i2c controller or linux kernel, not the BQ40Z80.

    Best,

    Jessica

  • Hi Jessica,

    I appreciated your great support!

    What does the picture means below? thanks!

    Many Thanks,

    Jimmy

  • Hello Jimmy,

    If the gauge is busy with a flash erase or flash write operation, it will NACK if it is addressed by a device during the flash modifications.

    Sincerely,

    Wyatt Keller

  • Hi Keller,

    We appreciated your great support!

    Customers have tried to use i2C  commands to read the battery information without the driver, but this situation still occurs. What is the reason?

    Many Thanks,

    Jimmy

  • Hello Jimmy,

    What method are you using to read from the gauge without the driver?

    I would recommend communicating with the EV2400 as a reference and look at the communication with a logic analyzer to confirm if your driver/communication method is within the communication specification for SMBus.

    Sincerely,

    Wyatt Keller

  • Hi Keller,

    We appreciated your great support always!

    it’s only i2cget -y 0 0xb 0xd w.
    The method of reading is the simplest R/W.
    #!/bin/sh i=1 while [ "$i" -le 600 ]; do # cat /sys/class/power_supply/sbs-5-000b/uevent > /tmp/powinfo.txt i2cget -y 0 0xb 0xd w echo $i i=$(( i + 1 )) sleep 1 done

    Use driver; cat /sys/class/power_supply/sbs-5-000b/uevent > /tmp/powinfo.txt
    Without driver: i2cget -y 0 0xb 0xd w


    Many Thanks,
    Jimmy
     
  • Hi Jimmy,

    As Wyatt mentioned, we recommend communicating with the EV2400 as a reference and look at the communication with a logic analyzer to confirm if your driver/communication method is within the communication specification for SMBus. It is difficult for us to debug their communication when they aren't using our tools because we are not familiar with their API/drivers. Also, please ensure that the customer is using SMBus and not I2C.

    Best,

    Jessica