Comments (6)
Hi,
I probably won't be able to help since I've never had this issue with the packs I've worked on but if you're getting that output it means the firmware is still running and responding to commands so this seems like some kind of communications issue to me at first glance.
Does disconnecting and reconnecting the SMBus wires (without resetting the controller) have any effect when the interface is in this state?
Does anything change if you modify SMBEnablePEC(1);
to SMBEnablePEC(0);
in smbusb_sbsreport.c?
from smbusb.
@emersonknapp
Some Gas Gauging ICs really could stuck communicating on SMBUS when quering requests frequently by FX2LP boards.
The reason still not clear but in some cases reconnecting SCL and SDA lines would restore normal communication. If not then power-on reset of the dev board is required.
Have noticed that some battery packs based on bq8055 are subject to this issue.
Do you know which Gas Gauge IC is used in your battery packs?
from smbusb.
Yes, I have experienced that reconnecting the SCL and SDA lines fixes the issue. Do you have any idea how I could make this happen in software?
Unfortunately I don't know what gas gauge they're using inside the RRC2054 battery, I'm hesitant to crack it open since it was a little pricey.
I'm currently solving my problem by using a CP2112 which seems to have more stable communication (sometimes get read errors but then it comes back, I think it may be my calling side not waiting for a transaction to complete) - I can close this issue for now since I don't think I'll be actively following up on it.
from smbusb.
Good to know you found a solution!
By the way similar issues could happen when communicating in MultiMaster environment due to lack of arbitrage on the bus. You have noted that you are working with Pack/Charger combination so collisions could occur with another bus Master while simultaneously talking with one slave.
Me beleive that it's not easy to solve such issues at high level software side. It needs to look at Cypress documentation for EZ-USB i2c hardware engine and then to modify FX2LP firmware. At first glance it's need to emulate "Smbus disconnect" event by changing SCL and SDA to z-state.
Regarding Gas Gauge used in your specific battery pack it's not compulsory to crack it)
With high probability chip could be detected by smbus scanning for i2c register's signatures (aka "gauge fingerprints") using discovery tools developed by Victor and available in this project.
from smbusb.
That sounds useful, what "gauge fingerprints" should I look for? Is there a list somewhere that I could consult?
from smbusb.
There is no collected lists in one place. Usually they distributed in users working directories if they care about saving those "fingerprints" for future references.
Some ICs has autodetect features built-in by chip manufacturers.
You could run "smbusb_scan.exe -w 16" and send me the output for checking with my lists.
It's better to continue in PM not to off-topic here.
orionv76(at)"Google Mail Dot Com"
from smbusb.
Related Issues (20)
- writing program to bq8030 doesn't work HOT 9
- Add support for CP2112 development board HOT 2
- Error Opening SMBusb: libusb error -11 HOT 8
- Eeprom verification bypassed? HOT 3
- adding support for /dev/i2c on linux? HOT 5
- I am using degilent jtag usb cable,can it be supportted? HOT 7
- armv7l/gcc - Build failed HOT 2
- connection issue - smbusb firmware error HOT 2
- Can we use this solution to reset a laptop battery? HOT 3
- TODO: Support for newer sdcc versions HOT 3
- Add xxdi as an alternative to xxd
- Python bindings compatible with 'smbus' module HOT 1
- Can't complete make command HOT 4
- Test command write
- can this be used with ch341a chip i2c mode to read smbus on battery? thx
- possible virus attack?
- Can't compile from sources
- PLEASE RELEASE
- Fix for SDCC 4.2.3 (makes the firmware compile with SDCC at least up to current SDCC 4.4.0)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smbusb.