Зарегистрирован: 08 авг 2019, 10:38 Наличности на руках: 0.00 Сообщения: 0 Откуда: Нижний Новгород
Коллеги вопрос есть. решил поучиться восстанавливать накопившиеся дохлые аккумы. В основном делы, сейчас 2 на bq20857, а они оказались с паролем от делла. Вопрос следующий: кто сталкивался с такими? Может кто подскажет пароль на них? или как сбросить?
Manufacturer Access: 0781 Remaining Capacity Alarm: 285 mAh(/10mWh) Remaining Time Alarm: 10 min Battery Mode: 6000 At Rate: 0 mAh(/10mWh) At Rate Time To Full: 65535 min At Rate Time To Empty: 65535 min At Rate OK: 1 Temperature: 23.55 degC Voltage: 7113 mV Current: 0 mA Average Current: 0 mA Max Error: 1 % Relative State Of Charge 0 % Absolute State Of Charge 0 % Remaining Capacity: 0 mAh(/10mWh) Full Charge Capacity: 2603 mAh(/10mWh) Run Time To Empty: 65535 min Average Time To Empty: 65535 min Average Time To Full: 65535 min Charging Current: 256 mA Charging Voltage: 16800 mV Battery Status: 0ad0 Cycle Count: 79 Design Capacity: 2850 mAh(/10mWh) Design Voltage: 14600 mV Specification Info: 0031 Cell 0 voltage: 12343 mV Cell 1 voltage: 12631 mV Cell 2 voltage: 18228 mV Cell 3 voltage: 17221 mV
Подключите контроллер правильно, выведете из спячки, проверьте напряжение на разъеме.
Что значит правильно? Что-то же он читает. Можно подробнее? 16.8В поданы на (+) разъёма но на (V+) ничего нет. Даже после запайки резисторов и закорачивании ключей ничего не поменялось :(
Да знаю я это все. Это не первая батарея (смотрите мои посты) 8 минут в хреновейшем качестве рассказывать как отпаять батареи и на их место припаять резисторы? Повторюсь. Проц работает и все подключено правильно потому как читается.
А от себя какой-нибудь совет?
Спецы, отзовитесь!
Реяльные напряжения на резисторах 4.1В - 4.25В Распиновка - (-)(-)(-)(?)(C)(D)(+)(+) Сажание (?) на 0 ничего не дало.
Проверяйте места пайки/подключения резисторов к плате(площадки), не забываем, что они(площадки) сдвоенные. Очередность/последовательность подключения резисторов к промежуточным точкам на плате.
Зарегистрирован: 21 июл 2019, 15:15 Наличности на руках: 0.00 Сообщения: 41 Откуда: Курск
Запаяно все неплохо. С этим проблем не предвидится. Я бы настоятельно советовал подавать напряжение не в разъем, а непосредственно на площадки батареи, к указанным точкам: Причем, не 16,8В, а порядка 14В с ограничением тока ~200mA. Измерьте, как распределятся напряжения по резисторам, и смотрите новый отчет. интересуют: Cell 1..4 voltage и общий: Voltage
P.S. Может где звучало, но что то не нашел. Какой вообще там собственно чип? На фотках нифига не разглядишь. Отчет вы снимаете, как я понял Каросиумовской утилитой. Не самое универсальное средство, в том числе и в отношении напряжений по ячейкам Cellvoltage. Даже у чипов с техасовской прошивкой бывают варианты регистров для этого.
VitaliyK писал(а):
Повторюсь. Проц работает и все подключено правильно потому как читается.
Вот был у меня случай, не помню точно, кажется я подключил адаптер к батарее к C, D, не относительно земли Gnd, а относительно + в разъеме (благо ключи были закрыты). Так вот, чип я прочитал, как это ни странно, но половина данных была бредом. В том числе и напряжения.
На проце никаких надписей нет, но я нашел это https://www.laptopu.ro/community/laptop ... -charging/ Те же Manufacturer Name: 131-42-6E Device Name: KI04041 Попробую на какой нибудь ноут поставить XP и прочитать бешкой. Адаптет я сваял на MCP2221. Надеюсь, заработает.
Зарегистрирован: 21 июл 2019, 15:15 Наличности на руках: 0.00 Сообщения: 41 Откуда: Курск
VitaliyK писал(а):
Те же Manufacturer Name: 131-42-6E Device Name: KI04041
Ничего не значит. На любом можно эти данные прошить. Пробуйте в MAC послать 0x0001. Если чип с техасовской прошивкой, вернет DeviceType. 0x0002 вернет FirmwareVersion 0x0003 вернет HardwareVersion. Из них можно заключение о чипе и о прошивке сделать. Данные после каждой команды читайте или из регистров 00, или из 44, или 23. Смотря какой чип.
Зарегистрирован: 21 июл 2019, 15:15 Наличности на руках: 0.00 Сообщения: 41 Откуда: Курск
VitaliyK писал(а):
На чем это можно сделать? Как выглядит строка команды? Через smbusb_comm.exe ?
Да, с помощью утилиты smbusb_comm.exe там есть хелп, вызываете консоль cmd командой Выполнить в винде, чтобы она не закрылась по окончании выполнения приложения. затем переходите в папку с утилитами, и набираете там просто smbusb_comm.exe. Вернет это:
Скрин smbusb_comm.exe
D:\smbusb-1.0.1>smbusb_comm.exe ------------------------------------ smbusb_comm ------------------------------------ usage: --address=<0xaddr> , -a <0xaddr> = Sets SMBus address for operation --command=<0xcommand> , -c <0xcommand> = Sets SMBus command for operation --write=<0xdata> , -w <0xdata> = Write operation --block-write , -b = Force block-write regardless of data length --read=<# of bytes> , -r <#> = Read operation (# of bytes determines read mode) --null-write , -n = Start->addr->cmd->Stop --verbose , -v = Print status messages --no-pec = Disable SMBus Packet Error Checking examples: smbusb_comm -a 0x16 -c 0 -r 2 -s = Word Read Command 0 (Manufacturer Acc ess in SBS) smbusb_comm -a 0x16 -c F -w 41ef010102 = Block Write Command 0xF (0x is always optional)
Внизу хелпа пример команд, понадобятся обе (чтение и запись). Сначала пишите: smbusb_comm -a 0x16 -c 00 -w 0001 Затем читаете: smbusb_comm -a 0x16 -c 44 -r 2 -s и так для других 0x0002 FirmwareVersion 0x0003 HardwareVersion
Для того, чтобы понять, какой чип, кажется нужна 0x0003 HardwareVersion
Ну без -s читайте. В исходниках надо смотреть, есть ли такая опция. По ходу, это вид представления данных при чтении. Я тоже ей не пользовался, насколько помню. Записывать проще всего в MAC, то есть 00. Попробуйте и читать из него же (00), потому что регистры 44 или 23 - используются при блоке данных, то есть больше 2 байт. А эти данные кажется по 2 байта (то есть тип Short) Лучше сами разберитесь по мануалу.
Делайте так: smbusb_comm -a 0x16 -c 00 -w 0003 smbusb_comm -a 0x16 -c 00 -r 2
Данные из 44 надо как блок читать, не пойму, как этой утилитой это сделать.
Последний раз редактировалось Alex_PP 09 июл 2022, 15:56, всего редактировалось 3 раз(а).
Зарегистрирован: 21 июл 2019, 15:15 Наличности на руках: 0.00 Сообщения: 41 Откуда: Курск
VitaliyK писал(а):
Так?
Так, только не совсем пойму, как интерпретировать ответы. Из мануала на 40z50: The BQ40Z50-R4 device can be checked for the hardware version of the IC. The hardware revision returns on a subsequent read on ManufacturerBlockAccess() or ManufacturerData().
Возможно, читать все же нужно из 44 или из 23.
Попробуйте smbusb_comm -a 0x16 -c 00 -w 0003 -v smbusb_comm -a 0x16 -c 44 -r 10 -v
По исходникам, значения opReadLen не проверяются выше 2. Если opReadLen > 2, то там читается блок в буфер SMBReadBlock(opAddress,opCommand,buf)
Флаг -v чтобы видеть сообщения о действиях программы.
E:\>smbusb_comm -a 0x16 -c 00 -w 0003 -v ------------------------------------ smbusb_comm ------------------------------------ SMBusb Firmware Version: 1.0.1 PEC is ENABLED ----------------------------- Word-Writing to addr 0x16 cmd 0x00 OK
E:\>smbusb_comm -a 0x16 -c 44 -r 10 -v ------------------------------------ smbusb_comm ------------------------------------ SMBusb Firmware Version: 1.0.1 PEC is ENABLED ----------------------------- OK. Read 4 bytes 03000300
Это то, что нужно? Почему smbusb_comm -a 0x16 -c 44 -r 10 -v проходит, а smbusb_comm -a 0x16 -c 44 -r 2 -v нет? Вроде, разница только в колличестве читаемых байт.
Почему значения напряжений такие странные? Кстати, после вышеуказанных манипуляций результат smbusb_sbsreport выглядит слегка урезанным.
Manufacturer Access: 0381 Remaining Capacity Alarm: 285 mAh(/10mWh) Remaining Time Alarm: 10 min Battery Mode: 6000 At Rate: 0 mAh(/10mWh) At Rate Time To Full: 65535 min At Rate Time To Empty: 65535 min At Rate OK: 1 Temperature: 25.45 degC Voltage: 14891 mV Current: 7 mA Average Current: 7 mA Max Error: 1 % Relative State Of Charge 58 % Absolute State Of Charge 46 % Remaining Capacity: 1310 mAh(/10mWh) Full Charge Capacity: 2272 mAh(/10mWh) Run Time To Empty: 65535 min Average Time To Empty: 65535 min Average Time To Full: 8246 min Charging Current: 1995 mA Charging Voltage: 16800 mV Battery Status: 00c0 Cycle Count: 79 Design Capacity: 2850 mAh(/10mWh) Design Voltage: 14600 mV Specification Info: 0031 Manufacturer Data: 03 00
Зарегистрирован: 21 июл 2019, 15:15 Наличности на руках: 0.00 Сообщения: 41 Откуда: Курск
VitaliyK писал(а):
Почему smbusb_comm -a 0x16 -c 44 -r 10 -v проходит, а smbusb_comm -a 0x16 -c 44 -r 2 -v нет? Вроде, разница только в колличестве читаемых байт.
Да, я же как раз это пояснил выше.
Alex_PP писал(а):
По исходникам, значения opReadLen не проверяются выше 2. Если opReadLen > 2, то там читается блок в буфер SMBReadBlock(opAddress,opCommand,buf)
Если больше 2 байт, функция другая выполняет чтение блока.
VitaliyK писал(а):
Кстати, после вышеуказанных манипуляций результат smbusb_sbsreport выглядит слегка урезанным.
Вот эта штука определяет, читает ли данные как напряжения на ячейках или как ManufacturerData:
Цитата:
memset(block, 0, 256); size = SMBReadBlock(0x16, 0x23, block); if (size < sizeof(lenovo_data_t)) { printf("Manufacturer Data: "); for (i = 0; i < size; i++) { printf("%02x ", block[i]); } printf("\n"); } else { lenovo_data_t *lenovo_data = (lenovo_data_t*)block; for (i = 0; i < 4; i++) { printf("Cell %d voltage: %u mV\n", i, lenovo_data->cell_voltage[3-i]); }
У вас сработала первая часть ветки кода. Почему, в чем разница между тем, сколько байт читал у вас в этом блоке раньше, и сколько теперь - я не знаю. Вообще, данный механизм чтения напряжений на банках - только для Lenovo, у техасовских прошивок напряжения читаются не блоком, а каждое из отдельного регистра.
VitaliyK писал(а):
Это то, что нужно?
Ну теперь он читает все. Только как эту чухню расшифровать - не знаю. )) Не похоже на версию чипа. Пробуйте smbusb_comm -a 0x16 -c 00 -w 0001 -v smbusb_comm -a 0x16 -c 44 -r 10 -v и smbusb_comm -a 0x16 -c 00 -w 0002 -v smbusb_comm -a 0x16 -c 44 -r 10 -v Интересно, что вернет там. Может устройство определяется через 0001, а не через 0003, уж не помню, извините. ))
VitaliyK писал(а):
Voltage: 14891 mV Current: 7 mA
Вольтаж у вас нормальный, если подавали 14 вольт, как я описал вам. Вот откуда утечка тока 7 мА? Если она не уходит, значит есть проблемы на плате. А вообще, по последнему отчету, у вас все неплохо там. Нет блокировок по статусу, и зарядный ток, напряжение присутствуют. Емкость среднюю показывает, потому что напряжение 14в как раз дает ее. Это все без банок? И на разъеме по прежнему нет напряжения?
VitaliyK писал(а):
Что дальше?
Ничего. Ни на что известное мне не похоже, но такие идентификаторы у современных чипов батарей бывают. Раньше они были простыми, типа 0445 или 0550 (это 30z55). Можно было как то интуитивно догадаться, какой чип. А новые имеют вот такие длинные HEX коды, и без базы фиг поймешь, что за чип. По отчету последнему вашему я дописал коммент выше. Я проблемы не вижу. Надо щупать плату руками. В том числе и пред.
VitaliyK писал(а):
Если напряжение подаю на V+, на выходе есть. Так что, видать, не заблокированный. Можно варить банки. Где сказано, что нет блоков? Еще нужно поменять FCC. Новые 2600mah.
Вот. О чем я вам и сказал только что. Все в норме сейчас.
Последний раз редактировалось Alex_PP 09 июл 2022, 19:50, всего редактировалось 3 раз(а).
Интересно, что вернет там. Может устройство определяется через 0001, а не через 0003, уж не помню, извините. ))
E:\>smbusb_comm -a 0x16 -c 00 -w 0001 -v ------------------------------------ smbusb_comm ------------------------------------ SMBusb Firmware Version: 1.0.1 PEC is ENABLED ----------------------------- Word-Writing to addr 0x16 cmd 0x00 OK
E:\>smbusb_comm -a 0x16 -c 44 -r 10 -v ------------------------------------ smbusb_comm ------------------------------------ SMBusb Firmware Version: 1.0.1 PEC is ENABLED ----------------------------- OK. Read 4 bytes 01000045
E:\>smbusb_comm -a 0x16 -c 00 -w 0002 -v ------------------------------------ smbusb_comm ------------------------------------ SMBusb Firmware Version: 1.0.1 PEC is ENABLED ----------------------------- Word-Writing to addr 0x16 cmd 0x00 OK
E:\>smbusb_comm -a 0x16 -c 44 -r 10 -v ------------------------------------ smbusb_comm ------------------------------------ SMBusb Firmware Version: 1.0.1 PEC is ENABLED ----------------------------- OK. Read 13 bytes 02004500001200180003850200
Что дальше?
Если напряжение подаю на V+, на выходе есть. Так что, видать, не заблокированный. Можно варить банки. Где сказано, что нет блоков? Еще нужно поменять FCC. Новые 2600mah.
Alex_PP писал(а):
Вот откуда утечка тока 7 мА? Если она не уходит, значит есть проблемы на плате.
Вот. О чем я вам и сказал только что. Все в норме сейчас.
Упс... Уже не в норме :( В процессе запайки батарей эта гадина спалила предохранитель и заблокировала все. Разница заметна в: Было Manufacturer Access: 0381 Знакомая цифра E:\>smbusb_comm -a 0x16 -c 00 -w 0003 E:\>smbusb_comm -a 0x16 -c 00 -r 2 0381 Battery Status: 02d0
Стало Manufacturer Access: 7fa1 F:\>smbusb_comm -a 0x16 -c 00 -r 2 7fa1 Можно ли записать обратно 0381? Battery Status: 4ad0 Почему то Voltage: 9066 mV хотя на батарее 16.8В Можно что-нибудь сделать?
Зарегистрирован: 21 июл 2019, 15:15 Наличности на руках: 0.00 Сообщения: 41 Откуда: Курск
VitaliyK писал(а):
Почему то Voltage: 9066 mV хотя на батарее 16.8В Можно что-нибудь сделать?
Так все итак было хорошо. Откуда ж я знаю, что вы там напаяли, что пред спалился. Методику запайки надо было соблюдать. )) От - к + последовательно, нигде не коротнув.
Что Manufacturer Access: 0381, или Manufacturer Access: 7fa1 Это неважно. Этот регистр не выводит сам по себе информацию. А дает ее по запросу. Был запрос - получили информацию. Не будет запроса - будет висеть в нем последнее выведенное значение. Читайте мануалы, а не только то, что пишут на форумах.
VitaliyK писал(а):
Разбираться в регистрах и командах ради одной батареи ни времени ни возможности нет
2 адаптера купить денег не жалко, а научиться применять их - жалко времени? Странный подход. Пересказывать то, что можно прочесть в мануалах вам никто не станет. Если вы решили самостоятельно восстановить АКБ, то без самостоятельного углубления в теорию не обойтись.
опыт с BE2WORKS имел. Адаптер на cp2112. Другие варианты не пробовал, да и не прокатят. С моей стороны это все.
Последний раз редактировалось Alex_PP 10 июл 2022, 18:21, всего редактировалось 1 раз.
Читайте мануалы, а не только то, что пишут на форумах.
Разбираться в регистрах и командах ради одной батареи ни времени ни возможности нет. Мозги на программирование не заточены. Потому и прошу совет, что делать. Вы с этим работаете, а опыт... его даже пропить сложно. Вот железку любую спаяю. Подключал от (-) к (+) как и положено. Не знаю, что произошло. Теперь, для прочтения нужно коротить ключи. Почему стало неправильно мерять общее напряжение? Кстати, Вы имели опыт с BE2WORKS? Сваял адаптер на MCP2221. Бешка его видит, но батарею не читает. Posted after 3 hours 53 minutes 36 seconds:
Alex_PP писал(а):
Откуда ж я знаю, что вы там напаяли, что пред спалился
И снова Вы правы. Не заметил, что VH point тоже двойная :( В процессе сборки контакт разошелся, а я, не заметив это, припаял V+. И эта зараза убила предохранитель и установила флаги блокировки. Напряжение стало показывать правильно Voltage:12424 mV и сигнал на убиение предохранителя пропал. Есть ли у кого опыт в разблокировки етого чипа?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения