Quindi, ho ricevuto una nuova batteria per il mio laptop e, fin dall'inizio, ho problemi.
La batteria è stata quasi completamente scaricata dal produttore. L'ho collegato al mio computer e il battitore segnalava che la velocità di carica è 0, e quindi non raggiungerebbe mai "completamente carica"
Dopo un paio di minuti e avendo l'arresto X11, ora sono a questo ( 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'
Quindi la batteria si sta caricando, la capacità energetica è solo circa un quarto di quella progettata (anche se la batteria ha solo un paio di giorni), si trova al 73% e la velocità di carica è così piccola, non lo fa anche segnalare quanto ci vorrebbe fino a quando non sarà completamente carico.
Ora, so che puoi "calibrare" una batteria, caricandola per un paio d'ore, poi lasciandola scarica e ricaricandola.
Questo non sembra essere il modo giusto di fare, però. Mi chiedo se non riesco ad accedere direttamente ai dati intelligenti, tramite SMBus .
i2cdetect -l
rapporti:
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
Quindi, ho provato a sondare SMBus ( i2cdetect -r 0
):
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: -- -- -- -- -- -- -- --
Questo è abbastanza strano per me, significa che non c'è nulla collegato all'autobus?
Non importa quale indirizzo sto cercando di scaricare, il risultato è sempre lo stesso:
i2cdump 0 0x03
(tutti gli altri indirizzi validi producono lo stesso output):
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
Ecco quanto sono arrivato lontano.
Il sistema ottiene le informazioni sulla batteria da qualche parte , ma non riesco a capire come e da dove.
Per quanto riguarda l'accesso I²C / SMBus alla batteria: non ho idea se sto facendo qualcosa di sbagliato, o è impossibile così.
Vorrei sapere come accedere ai dati della batteria intelligente, come impostarli (presumibilmente con i2cset
) e possibilmente come sono formattati (quali dati codificano quali informazioni, ecc.)
acpi -V
è ancora più confuso:
Battery 0: Unknown, 73%
Battery 0: design capacity 6600 mAh, last full capacity 1680 mAh = 25%
Adapter 0: on-line
(capacità di progettazione riportata in modo errato, ecc.)
L'ultima informazione che posso trovare è l' dmidecode
output:
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
Puoi vedere tutte queste stringhe "OEM_Define2", ecc., Che non dicono molto.
dmidecode -t connector
rapporti:
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.