
Ich habe also einen neuen Akku für meinen Laptop bekommen und hatte von Anfang an Probleme.
Der Akku wurde vom Hersteller fast vollständig entladen geliefert. Ich steckte ihn in meinen Computer und der Akku meldete, dass die Laderate 0 sei und erreichte daher nie den Wert „vollständig geladen“.
Nach ein paar Minuten und einem Absturz von X11 bin ich jetzt hier ( 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'
Die Batterie wird also geladen. Die Energiekapazität beträgt nur etwa ein Viertel der angegebenen Kapazität (obwohl die Batterie erst ein paar Tage alt ist). Sie liegt bei 73 % und die Laderate ist so gering, dass nicht einmal angezeigt wird, wie lange es dauern würde, bis sie vollständig aufgeladen ist.
Ich weiß, dass man eine Batterie gewissermaßen „kalibrieren“ kann, indem man sie ein paar Stunden lang auflädt, sie dann leerlaufen lässt und sie dann wieder auflädt.
Dies scheint jedoch nicht der richtige Weg zu sein. Ich frage mich, ob ich nicht direkt auf die Smart-Daten zugreifen kann, über dieSMBus.
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 für mich ziemlich seltsam. Bedeutet das, dass nichts mit dem Bus verbunden ist?
Egal welche Adresse ich versuche zu dumpen, das Ergebnis ist immer das gleiche:
i2cdump 0 0x03
(alle anderen gültigen Adressen erzeugen die gleiche 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 seine Batterieinformationen vonirgendwo, aber ich kann nicht herausfinden, wie und von wo.
Was den I²C/SMBus-Zugriff auf die Batterie betrifft: keine Ahnung, ob ich etwas falsch mache oder ob es so nicht möglich ist.
Ich möchte wissen, wie ich auf die Daten der Smart Battery zugreifen kann, wie ich sie einstelle (vermutlich mit i2cset
) und möglicherweise, wie sie formatiert sind (welche Daten welche Informationen kodieren 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
(falsch angegebene Auslegungskapazität usw.)
Die letzte Information, die mir einfällt, ist dmidecode
die 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 dort alle diese Zeichenfolgen „OEM_Define2“ usw. sehen, die nicht viel aussagen.
dmidecode -t connector
Berichte:
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.
Antwort1
Der Smart Battery Specification (SBS)-Bus ist vom Betriebssystem aus nicht direkt zugänglich. 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: Mir ist es persönlich gelungen, mithilfe der I2C-Pins eines Raspberry PI und den von Ihnen erwähnten Befehlen direkt mit der Batterie zu kommunizieren.
Antwort2
Mit der Anzeige ist alles in Ordnung; Ihr Akku ist defekt, Sie müssen ihn also nur zurückgeben und Ersatz verlangen. Ein Lithium-Ionen-Akku mit 4 Zellen hat eine Spannung von 4,2 x 4 = 16,8 Volt im voll geladenen Zustand. Die Tatsache, dass er nur bei 15,9 Volt steht und kaum Ladung aufnimmt, deutet darauf hin, dass mindestens eine Zelle beschädigt ist.
Die Tatsache, dass die SMI- und ACPI-Daten falsch sind, weist darauf hin, dass sich der Hersteller dieses Laptops einfach nicht die Mühe gemacht hat, ihn richtig zu bauen. Daher würde ich ihn, wenn möglich, gegen Erstattung des Kaufpreises zurückgeben und nicht wieder bei ihnen kaufen.
Antwort3
Sind Sie sicher, dass es sich überhaupt um eine Smart-Batterie handelt? Die in meinem HP Pavilion ist es nicht.
Und woher Sie die Batterie haben, ist wichtig. Ich habe 3 oder 4 Versuche gebraucht, um eine funktionierende Batterie für meinen Dell zu bekommen, indem ich billige Batterien gekauft habe. Ich hatte endlich Glück beihttp://drpowerglobal.com/drbattery/aber das ist schon Jahre her, jetzt ist das Teil abgenutzt.