スマートバッテリーメモリを消去またはリセットする方法は?

スマートバッテリーメモリを消去またはリセットする方法は?

だからラップトップ用の新しいバッテリーを購入しましたが、最初から問題が発生しました。

メーカーはバッテリーをほぼ完全に放電したままにします。コンピュータに接続しましたが、バッテリーの充電速度がゼロと報告され、「フル充電」に達しません。

数分後、X11がクラッシュし、現在次の状態になります(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'

したがって、バッテリーは設計されたエネルギー容量の約4分の1だけを使用して充電しています(バッテリーが数日しか使用されていないにもかかわらず)、充電率は73%であり、充電速度が小さすぎてどれくらいかかるかを報告しません。完全に充電するには。

今は数時間充電してから放電し、再充電してバッテリーを「補正」できることを知っています。

しかし、これは正しいことではないようです。スマートデータに直接アクセスできないかどうか疑問に思います。中小企業バス

i2cdetect -lレポート:

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

それで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: -- -- -- -- -- -- -- --                         

私が見るには奇妙に見えます。バスに何も接続されていないという意味ですか?

どのアドレスをダンプしようとしても、結果は常に同じです。

i2cdump 0 0x03(他のすべての有効なアドレスは同じ出力を生成します):

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

それが私がどれだけ遠くに来たかです。

システムは以下からバッテリー情報を取得します。どこかにが、どうやって、どこからなのかわかりません。

バッテリーへのI²C / SMBusアクセスについては:私が何か間違っているのか、それが不可能なのかわかりません。

i2csetスマートバッテリーデータにアクセスする方法、設定方法(おそらく使用するため)、フォーマットが何であるか(どのデータがどの情報をエンコードするかなど)を知りたいです。


acpi -Vより混乱した点は次のとおりです。

Battery 0: Unknown, 73%
Battery 0: design capacity 6600 mAh, last full capacity 1680 mAh = 25%
Adapter 0: on-line

(誤った設計能力報告など)


私が考えることができる最後の情報はdmidecode出力です。

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

そこから「OEM_Define2」などの文字列をすべて見ることができますが、多くのことを教えてくれません。

dmidecode -t connectorレポート:

Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.

ベストアンサー1

SBS(スマートバッテリー仕様)バスは、オペレーティングシステムから直接アクセスできません。ただし、バッテリーピンに直接接続されたUSB-I2Cアダプターを介してバッテリーと直接通信することは可能です。

編集する: https://media.blackhat.com/bh-us-11/Miller/BH_US_11_Miller_Battery_Firmware_Public_WP.pdf

編集2:個人的には、Raspberry PIのi2cピンと呼ばれるコマンドを使用してバッテリーと直接通信することができました。

おすすめ記事