스마트 배터리 메모리를 지우거나 재설정하는 방법은 무엇입니까?

스마트 배터리 메모리를 지우거나 재설정하는 방법은 무엇입니까?

그래서 노트북용 새 배터리를 구입했는데 처음부터 문제가 생겼습니다.

제조업체는 배터리를 거의 완전히 방전된 상태로 둡니다. 컴퓨터에 연결했는데 배터리 충전 속도가 0으로 보고되어 "완전 충전"에 도달하지 않습니다.

몇 분 후 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 핀과 언급한 명령을 사용하여 배터리와 직접 통신할 수 있었습니다.

답변2

측정기에는 아무런 문제가 없습니다. 배터리에 결함이 있으므로 반품하고 교체를 요청하면 됩니다. 완전히 충전된 4셀 리튬 이온 배터리의 전압은 4.2 x 4 = 16.8V입니다. 15.9에 불과하고 충전이 거의 유지되지 않는다는 사실은 배터리 중 하나 이상이 손상되었음을 나타냅니다.

smi 및 acpi 데이터가 정확하지 않다는 사실은 이 노트북 제조업체가 단순히 노트북을 만드는 데 신경을 쓰지 않았다는 것을 의미하므로 가능하다면 환불을 위해 반품하고 다시는 구매하지 않을 것입니다.

답변3

스마트 배터리 맞나요? 내 HP Pavilion에 있는 것은 그렇지 않습니다.

배터리의 출처도 중요합니다. Dell에서 작동하는 배터리를 구하고 값싼 배터리를 구입하는 데 서너 번의 시도가 필요했습니다. 드디어 운이 좋았어http://drpowerglobal.com/drbattery/그런데 그게 몇 년 전 일이라 지금은 낡아버렸어요.

관련 정보