Зарегистрирован: 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 Сообщения: 43 Откуда: Курск
Запаяно все неплохо. С этим проблем не предвидится. Я бы настоятельно советовал подавать напряжение не в разъем, а непосредственно на площадки батареи, к указанным точкам: Причем, не 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 Сообщения: 43 Откуда: Курск
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 Сообщения: 43 Откуда: Курск
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 Сообщения: 43 Откуда: Курск
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 Сообщения: 43 Откуда: Курск
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 Сообщения: 43 Откуда: Курск
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 и сигнал на убиение предохранителя пропал. Есть ли у кого опыт в разблокировки етого чипа?
Сейчас этот форум просматривают: alikhan и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения