Also habe ich einen neuen Akku für meinen Laptop bekommen und von Anfang an habe ich Probleme.
Der Akku wurde fast vollständig vom Hersteller entladen. Ich habe es an meinen Computer angeschlossen und der Akku würde melden, dass die Laderate 0 ist und daher niemals "voll aufgeladen" erreichen würde.
Nach ein paar Minuten und einem X11-Absturz bin ich jetzt bei diesem ( upower -i /org/freedesktop/UPower/devices/battery_BAT0
):
native-path: BAT0
vendor: Hewlett-Packard
model: Primary
power supply: yes
updated: Fri 21 Oct 2016 08:28:33 AM CEST (106 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: charging
warning-level: none
energy: 17.8704 Wh
energy-empty: 0 Wh
energy-full: 24.192 Wh
energy-full-design: 95.04 Wh
energy-rate: 0.0996923 W
voltage: 15.947 V
percentage: 73%
capacity: 25.4545%
technology: lithium-ion
icon-name: 'battery-full-charging-symbolic'
Der Akku wird also aufgeladen, die Energiekapazität beträgt nur etwa ein Viertel der geplanten Kapazität (obwohl der Akku nur ein paar Tage alt ist), er liegt bei 73% und die Laderate ist so gering, dass dies nicht der Fall ist Berichten Sie sogar, wie viel es dauern würde, bis es vollständig aufgeladen ist.
Jetzt weiß ich, dass Sie einen Akku irgendwie "kalibrieren" können, indem Sie ihn einige Stunden lang aufladen, dann leer laufen lassen und dann wieder aufladen.
Dies scheint jedoch nicht der richtige Weg zu sein. Ich frage mich, ob ich nicht direkt über den SMBus auf die Smart-Daten zugreifen kann .
i2cdetect -l
Berichte:
i2c-0 smbus SMBus I801 adapter at 8000 SMBus adapter
i2c-1 i2c NVIDIA i2c adapter 0 at 1:00.0 I2C adapter
i2c-2 i2c NVIDIA i2c adapter 2 at 1:00.0 I2C adapter
i2c-3 i2c NVIDIA i2c adapter 3 at 1:00.0 I2C adapter
i2c-4 i2c NVIDIA i2c adapter 5 at 1:00.0 I2C adapter
Also habe ich versucht, SMBus ( i2cdetect -r 0
) zu testen :
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Das ist ziemlich seltsam für mich. Bedeutet das, dass nichts mit dem Bus verbunden ist?
Egal welche Adresse ich ausgeben möchte, das Ergebnis ist immer das gleiche:
i2cdump 0 0x03
(Alle anderen gültigen Adressen erzeugen dieselbe Ausgabe):
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0, address 0x1a, mode byte
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
So weit bin ich gekommen.
Das System erhält die Batterieinformationen von irgendwoher , aber ich kann nicht herausfinden, wie und von wo.
Was den I²C / SMBus-Zugang zum Akku betrifft: Keine Ahnung, ob ich etwas falsch mache oder ob es so unmöglich ist.
Ich möchte wissen, wie man auf intelligente Batteriedaten zugreift, wie man sie einstellt (vermutlich mit i2cset
) und möglicherweise wie sie formatiert sind (welche Daten welche Informationen codieren usw.).
acpi -V
ist noch verwirrter:
Battery 0: Unknown, 73%
Battery 0: design capacity 6600 mAh, last full capacity 1680 mAh = 25%
Adapter 0: on-line
(Entwurfskapazität falsch angegeben usw.)
Die letzte Information, die ich finden kann, ist die dmidecode
Ausgabe:
Handle 0x0010, DMI type 39, 22 bytes
System Power Supply
Location: OEM_Define0
Name: OEM_Define1
Manufacturer: OEM_Define2
Serial Number: OEM_Define2
Asset Tag: OEM_Define3
Model Part Number: OEM_Define4
Revision: OEM_Define5
Max Power Capacity: 75 W
Status: Present, OK
Type: Regulator
Input Voltage Range Switching: Auto-switch
Plugged: No
Hot Replaceable: No
Sie können all diese "OEM_Define2" usw. Zeichenfolgen dort sehen, die nicht viel aussagen.
dmidecode -t connector
Berichte:
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.
quelle
Antworten:
Auf den SBS-Bus (Smart Battery Specification) kann nicht direkt vom Betriebssystem aus zugegriffen werden. Es ist jedoch möglich, über einen USB-I2C-Adapter, der direkt an die Batteriestifte angeschlossen ist, direkt mit der Batterie zu kommunizieren.
BEARBEITEN: https://media.blackhat.com/bh-us-11/Miller/BH_US_11_Miller_Battery_Firmware_Public_WP.pdf
EDIT 2: Ich persönlich habe es geschafft, mit den i2c-Pins eines Raspberry PI und den von Ihnen erwähnten Befehlen direkt mit dem Akku zu sprechen.
quelle
Es ist nichts falsch mit dem Messgerät; Ihre Batterie ist defekt, daher müssen Sie sie nur zurückgeben und einen Ersatz anfordern. Ein 4-Zellen-Li-Ionen-Akku hat eine voll aufgeladene Spannung von 4,2 x 4 = 16,8 Volt. Die Tatsache, dass es nur bei 15,9 sitzt und kaum Ladung nimmt, zeigt an, dass mindestens eine Zelle beschädigt ist.
Die Tatsache, dass die smi- und acpi-Daten falsch sind, deutet darauf hin, dass der Hersteller dieses Laptops sich einfach nicht die Mühe machen konnte, ihn richtig zu bauen. Daher würde ich ihn nach Möglichkeit gegen eine Rückerstattung zurückgeben und nicht erneut bei ihnen kaufen.
quelle
Sind Sie sicher, dass es sich sogar um eine intelligente Batterie handelt? Der in meinem HP Pavilion ist es nicht.
Und woher kommt die Batterie? Ich habe 3 oder 4 Versuche gebraucht, um einen funktionierenden Akku für meinen Dell zu bekommen, der billige Akkus gekauft hat. Ich hatte endlich viel Glück bei http://drpowerglobal.com/drbattery/, aber das war vor Jahren, jetzt habe ich das abgenutzt.
quelle