Как же сняли ошибки этой БЕшкой? Командным интерфейсом по даташиту? Просто интересно.
Нет это чип не 9003. До него не "добрался" (. С ноута батарею перепаковал и разблокировал, у DJI уверен, что снятие ошибок так же работает. Проблема в доступе. По идее если получится прочитать рабочую батарею и сохранить. То на не рабочей просто подменить бин, а там хрен его знает ( Я электронщик а не программист.
По идее если получится прочитать рабочую батарею и сохранить. То на не рабочей просто подменить бин, а там хрен его знает
Заковыка в том, что он не даст залить дамп в запечатанный доступом чип. Даже если у вас будет рабочий дамп EEPROM, или всей прошивки, все равно без доступа его не зальешь на этот чип. А вот на новый, такой же, пустой, по идее можно. Но ни разу так и не довелось проверить это на практике.
В связи с окончанием работ по восстановлению аккумулятора и удалением рабочих файлов с компьютера, выкладываю свою историю и наработки сюда в надежде, что они кому-то пригодятся.
Предистория: по невнимательности допустил блокирование контроллера bq20z45 в аккумуляторе ноутбука. Контроллер засилен нестандартным паролем, поэтому на Али была заказана плата на CP2112 в надежде сбросить пароль с помощью BE2Works. Перед заказом внимательно изучал отзывы о товаре, находил много положительных примеров работы с BE2Works. Однако, по приезду платы, оказалось, что она прекрасно работает в SiLab-овской HidSmbusExample, но напрочь отказывается работать в BE2Works. Пришлось разбираться...
В итоге, оказалось, что данное изделие работает четко в соответствии с SiLab-овским даташитом и API, т.е. обмен данными происходит по Interrupt Transfer на EndPoint1, в то время как BE2Works использует Control Transfer на EndPoint0. Охота, как говорится, пуще неволи, и ожидать еще полтора месяца новой платы было невмоготу, поэтому, на скорую руку был сооружен эмулятор CP2112 на STM32F103C (в просторечьи "Синяя таблетка"). Эмулятор крайне примитивный: отсутствует хардверное руление линиями USB (поэтому при затыках связи нужно передергивать шнур вручную), не эмулируются GPIO, также присутствуют "детские болезни": например, прерывание транзакции I2C при поступлении запроса USB (приделан костыль в виде повторения транзакции, посему, работе не сильно мешает).
Бинарник прошивки со схемой подключения здесь: СпойлерСкачать Также, делюсь ссылкой на екзешник BE2Works (оригинал из знаменитого архива BE2Wоrks_v4.52_Bоhоl_fu11.7z), который дружит с виртуальной WinXP (других преимуществ перед краком в архиве нет!): Спойлерпароль (все английские): rаdiоkоt Скачать Кому надо -- забирайте, ибо через месяц (а мож и раньше :-D) ссылки превратятся в тыкву...
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
В связи с окончанием работ по восстановлению аккумулятора и удалением рабочих файлов с компьютера, выкладываю свою историю и наработки сюда в надежде, что они кому-то пригодятся.
Предистория: по невнимательности допустил блокирование контроллера bq20z45 в аккумуляторе ноутбука. Контроллер засилен нестандартным паролем, поэтому на Али была заказана плата на CP2112 в надежде сбросить пароль с помощью BE2Works. Перед заказом внимательно изучал отзывы о товаре, находил много положительных примеров работы с BE2Works. Однако, по приезду платы, оказалось, что она прекрасно работает в SiLab-овской HidSmbusExample, но напрочь отказывается работать в BE2Works. Пришлось разбираться...
В итоге, оказалось, что данное изделие работает четко в соответствии с SiLab-овским даташитом и API, т.е. обмен данными происходит по Interrupt Transfer на EndPoint1, в то время как BE2Works использует Control Transfer на EndPoint0. Охота, как говорится, пуще неволи, и ожидать еще полтора месяца новой платы было невмоготу, поэтому, на скорую руку был сооружен эмулятор CP2112 на STM32F103C (в просторечьи "Синяя таблетка"). Эмулятор крайне примитивный: отсутствует хардверное руление линиями USB (поэтому при затыках связи нужно передергивать шнур вручную), не эмулируются GPIO, также присутствуют "детские болезни": например, прерывание транзакции I2C при поступлении запроса USB (приделан костыль в виде повторения транзакции, посему, работе не сильно мешает).
Бинарник прошивки со схемой подключения здесь: СпойлерСкачать Также, делюсь ссылкой на екзешник BE2Works (оригинал из знаменитого архива BE2Wоrks_v4.52_Bоhоl_fu11.7z), который дружит с виртуальной WinXP (других преимуществ перед краком в архиве нет!): Спойлерпароль (все английские): rаdiоkоt Скачать Кому надо -- забирайте, ибо через месяц (а мож и раньше :-D) ссылки превратятся в тыкву...
Дружище, кроме как скачать какую то мега по твоей ссылке больше ничего нет. И китайский модуль CP2112 прекрасно работает с BE2Works. Батарею подключаю и читаю за 5 сек, а вот чип Bq30z55 сдампить никак, запоролен наглухо, BE2Works не знает его, уж как бы придумать что нибудь?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Карма: 14
Рейтинг сообщений: 115
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2957 Откуда: Беларусь
Рейтинг сообщения:0
Цитата:
Где-то, кажется на электроникс, я видел проект универсального контроллера под замену дохлым и заблокировавшимся контроллерам. Можно его поискать и на него посмотреть в крайнем случае.
Есть чип bq8050 от баты Lenovo L09S6Y02. Батарея жива, но ячейки Sanyo под замену, почти дохлые. Со сменой ячеек нужно будет поправить FCC, циклы. Но с нежадной БЕшкой нет доступа к EEPROM. В ручном режиме последовательность команд ww 0x71 -> 0214, rw 0x73, ww 0x71 -> 1000-x не прокатывает, о чем неоднократно говорилось здесь и в других местах. До 70-й команды дело даже не доходит. )) Может ли кто нибудь поделиться методой командного входа в Бут для этого зверя? Можно в личку. Заранее спасибо.
Есть чип bq8050 от баты Lenovo L09S6Y02. Батарея жива, но ячейки Sanyo под замену, почти дохлые. Со сменой ячеек нужно будет поправить FCC, циклы. Но с нежадной БЕшкой нет доступа к EEPROM. В ручном режиме последовательность команд ww 0x71 -> 0214, rw 0x73, ww 0x71 -> 1000-x не прокатывает, о чем неоднократно говорилось здесь и в других местах. До 70-й команды дело даже не доходит. )) Может ли кто нибудь поделиться методой командного входа в Бут для этого зверя? Можно в личку. Заранее спасибо.
на vlab я выкладывал кусочек от даташита, но мне сказали что это только для установки клиентского пароля. моя мысль такова что с 073 приходит сгенерированный ответ, всегда разный. а с 074 постоянен. их надо както связать во едино, к сожалению я не силен в программировании...
СпойлерW3 Texas anny INSTRUMENTS
18 SHA-1 Authentication
18.1 Description
For authenticating the battery pack the bq8050 uses a SHA-1 cryptographic hash function with a 128 bit split key (64 bits per key). More complete explanations of the SHA-1 algorithm are available on the
A modified form of the SHA-1/HMAC provides the authentication function of the bq8050. Both the host and the bq8050 share two 64-bit keys used in the authentication calculation. To authenticate a battery pack, the host writes a random 20-byte message to the bq8050. The bq8050 calculates the HMAC digest in less than 50ms, replacing the random message sent by the host with the HMAC result. To complete the authentication process, the host computes the HMAC function with the same 20-byte random
message originally written to the bq8050. The result is compared to the HMAC result computed by the bq8050. If the values match, the pack is authenticated.
. 18.2 Key programming
The bq8050 allows each of the 2 keys to be programmed individually enabling each one to be able to be
programmed at different stages of the battery pack production. EG: k; at Texas Instruments and k, at the pack maker.
Each key consists of 64 bits providing a total key length of 128 bits which is programmed through 2 separate programming events with two separate internally generated locking bytes.
The default keys are written using the Write_Default_Keys ROM command. This command is only available if NO lock byte has been set AND the device has been reset.
KEY1 must be programmed first and during this programming the internal lock byte is set. Until a POR occurs the Write_Default_Keys command can be used to reset the keys to correct any programming errors. Once the device is reset and the newly programmed key is locked and cannot be re-programmed.
The 1" default key is cb a4 cb a4 cb a4 cb ad (in hex) and the 2™ default key is c3 17 c3 17 c3 17 ¢3 17 (in hex). However, the lock bytes will NOT have been set so the key can be modified.
Each key programming requires a known 160 bit message to be written to the bq8050 which pads this up to 512-bits. The bq8050 will run this message through a SHA-1/HASH cipher, take the lower 64 bits of the result and encrypt it prior to being written to the secure data flash.
matroskin_kot, Ага, про 074 я не знал, видно не дочитал. )) Буду с ней экспериментировать. А на 073 при посылке коменды 071 запускается счетчик. Его можно читать многократно, он постоянно инкрементируется, пока не упрется в FFFF, после чего сбрасывается и начинает генерировать с 0000. Попробуйте читать 073 в цикле, и вы увидите этот инкремент. Хорошо, спасибо за информацию. Попробую, поищу.
matroskin_kot, Ага, про 074 я не знал, видно не дочитал. )) Буду с ней экспериментировать. А на 073 при посылке коменды 071 запускается счетчик. Его можно читать многократно, он постоянно инкрементируется, пока не упрется в FFFF, после чего сбрасывается и начинает генерировать с 0000. Попробуйте читать 073 в цикле, и вы увидите этот инкремент. Хорошо, спасибо за информацию. Попробую, поищу.
мне кажется что 073 это первая часть ssh, а 074 вторая но как его подсчитывать..
В итоге, оказалось, что данное изделие работает четко в соответствии с SiLab-овским даташитом и API, т.е. обмен данными происходит по Interrupt Transfer на EndPoint1, в то время как BE2Works использует Control Transfer на EndPoint0. ... Также, делюсь ссылкой на екзешник BE2Works (оригинал из знаменитого архива BE2Wоrks_v4.52_Bоhоl_fu11.7z), который дружит с виртуальной WinXP (других преимуществ перед краком в архиве нет!):
Спасибо за мод be2works под XP в виртуалке. А вариант с proxy-hid https://www.radiokot.ru/forum/viewtopic ... 1#p3776041 вы не пробовали? Я ее использовал даже там, где программы просто не запускаются без ev2300, а без программатора, но с этой dll-кой можно было хотябы посмотреть что да как.
Пожалуйста! К сожалению, о том, что программа не запускается под системами старше ХР, я заметил уже после того, как BE2Wоrks стала мне не нужна. Разбираться в проблеме смысла не вижу, так как глубоко убежден, что файл BE2Wоrks_v4.52_Bоhоl_fu11 -- мистификация от авторов BE2Wоrks: из программы (оригинал, накрытый ExeCryptor-ом) вырезаны все самые интересные возможности, оставлен только сброс пароля в bq20z45 через бэкдор. В любом случае, выложенный мной вариант ничем не накрыт и всякий желающий может попробовать решить данную проблему.
Нет, не пробовал. Так как proxy-hid предназначена для чипов с испорченными vid/pid и строками, в то время как в моем чипе с этим все в порядке, и SiLab-овским API батареи читаются прекрасно, да и BE2Wоrks мой адаптер видит. Кстати, про подобные проблемы читал на, приблизительно, двадцатых страницах этой темы, так что, скорее всего, мой случай не единственный.
Зарегистрирован: Вс май 15, 2011 10:56:57 Сообщений: 16
Рейтинг сообщения:0
День добрый. Есть чип bq20z955 батарея AS10D81. Валялась 2 года т.к. ноут перестал ее видеть, хотя сами банки держат, пред не перегорел. За 2 года просела на до 8V. Зарядил через ЛБП до 12.6V малым током предварительно подняв ногу ключа на пережег преда. Пришла CP2112, залочил VID/PID/Serial в HID Smbus. На старинном ноуте с XP SP2 установил нежадную Be2Works, попытался подключиться, но не нашел в списке своего чипа(( также не считывается состояние батареи (левое окошко). Светодиод на CP2112 промаргивает и все. Пробовал замыкать BI pin на V+ батареи - результат такой же, но теперь контроллер теплый постоянно, но коннекта нет. Я так понимаю если в списке нет твоего чипа то ни считать состояние, ни прочитать чип я не смогу?
Nemon, все как обычно ))) сначала делаем косяки, потом лезем изучать ))) Запускаете чтение, потом коротко плюс сборки на плюс разъема Распиновка _____TOP_____ |+|+|S|X|C|D|-|-| Bi = S = SysPress сажается на минус
Nemon, все как обычно ))) сначала делаем косяки, потом лезем изучать ))) Запускаете чтение, потом коротко плюс сборки на плюс разъема Распиновка _____TOP_____ |+|+|S|X|C|D|-|-| Bi = S = SysPress сажается на минус
Данной bq20z955 нет в нежадной версии. Может поэтому и не читается состояние батареи? Проделал все как вы сказали - результата нет. Выпаял диод на прожиг, разрядил банки до 7.6В подключив к ним лампу поворотника напрямую. Далее от лбп током в 300мА зарядил банки напрямую без разъема АКБ до 11.2В. Впаял диод - пред целый. Подключил CP2112 аккуму, все как вы сказали -, D, C, BI на - и запустил нежадный b2w. Выбрал чип похожий на мой из списка (bq20zxx). Нажал в левом окне считать инфу батареи и ...тишина она команды отправляет а ответа ей не приходит, пробывал замыкать + разъема на + банок. Результат тот же. Позже вместо банок впаял резисторы подключил как и сказано и результат тот же. Пробывал подключать плату c bq20z90 с резисторами от ЛБП - все считывается, правда не могу победить unable to unseal. Make Remaning Capacity=0. Выставил итак 8В напряжение и вроде при опросе Capacity=0 но все равно ошибка. Так же по аналогии с bq20z955 не смог считать состояние батареи с bq8050. Акк AL10B31. Распиновка должна быть такая же т.к. тоже Acer. Подтолкните в нужном направлении, что делаю не так? Заметил что при подключении bq20z955 к ЛБП 12в с ограничением в 100мА он потребляет 20мА, и сам контроллер холодный, а при замыкании + разъемя на + от лбп потребление становится 50мА и контроллер греется до 45градусов.
Пробовал замыкать BI pin на V+ батареи - результат такой же, но теперь контроллер теплый постоянно, но коннекта нет.
Зачем? Похоже вы не изучили тему(((( Ну и для наглядности надо выкладывать отчеты(bat/info/DF), ведь считалась же, хотя бы текстовые. и фото контроллера с местами подключения резисторов.
Данной bq20z955 нет в нежадной версии. Может поэтому и не читается состояние батареи? Проделал все как вы сказали - результата нет.
Позже вместо банок впаял резисторы подключил как и сказано и результат тот же. Пробывал подключать плату c bq20z90 с резисторами от ЛБП - все считывается, правда не могу победить unable to unseal. Make Remaning Capacity=0. Выставил итак 8В напряжение и вроде при опросе Capacity=0 но все равно ошибка. Так же по аналогии с bq20z955 не смог считать состояние батареи с bq8050. Акк AL10B31. Распиновка должна быть такая же т.к. тоже Acer. Подтолкните в нужном направлении, что делаю не так? Заметил что при подключении bq20z955 к ЛБП 12в с ограничением в 100мА он потребляет 20мА, и сам контроллер холодный, а при замыкании + разъемя на + от лбп потребление становится 50мА и контроллер греется до 45градусов.
Для чтения батареи не надо выбирать чип. Он выбирается, когда надо прочитать DF(дамп) и Info
Зачем? Похоже вы не изучили тему(((( Ну и для наглядности надо выкладывать отчеты(bat/info/DF), ведь считалась же, хотя бы текстовые. и фото контроллера с местами подключения резисторов.
Вы уж определитесь, читается или нет.
У меня есть 3 разных платы аккумов: 1) На bq20z955 с банками ( которая от моего ноута, ее и хочу восстановить, но она никак не выдает инфу и даже не определяется о чем я и писал в предыдущем посте, только греется при замыкании + пака на + разъема). Отпаял банки, подпаял резюки... Поведение то же самое как и с банками. 2) На bq20z90 без банок, подпаял резюки, при опросе инфу батарея выдает, но когда делаю RemCap=0 при попытке считать дамп чипа пишет Unable to unseal. Make RemaningCapacity=0, но он же у меня итак 0...что то не то получается. 3) На bq8050 с банками ( ситуация таже что и с z955 - никак не реагирует на BI на землю и плюс банок на + разьема, инфа не читается).
А BI я по невнимательности пытался коннектить на + разъема поначалу на z955 но там все равно 0в было...так что сжечь контроллер не мог... Сейчас перечитал тему и вроде как все правильно включаю, но инфу выдает только z90.((
но когда делаю RemCap=0 при попытке считать дамп чипа пишет Unable to unseal
А что в FCC, Напряжения VCELL1 - VCELL4, и в других регистрах показывает с резисторами? Отчет с левого окошка БЕшки выложите для этого чипа. Не особо поймешь чего с такого описания проблемы.
Что касается bq20z955 и 8050, то отчет там тоже должен читаться при правильном подключении. Либо вы не нашли C и D, либо перепутали их местами, либо контроллер спит (ну или вообще сгорел, если + от батареи куда то не очень удачно коснулись, когда будили)) ). И еще, если напряжение от банок очень низкое (ниже 7,5в для 3s), то читать чип, насколько я помню, возможно только при постоянной подаче встречки на разъем ~9в. Иначе при снятии встречки он тут же засыпает. Поэтому, банки в батарее должны быть заряжены хотя бы до 3,2в каждая.
Спасибо форумчанам за полезную информацию! У меня получилось разлочить контроллер bq20z45 демо версией Be2works 4.31. Для подключения сделал самодельный переходник, чтобы было удобно втыкать CP2112 в батареи и перебирать Data и Clock, а также разряжать батарею электронной нагрузкой. Фото и ссылка на видео по сборке адаптера под спойлером. Спойлер
при попытке считать дамп чипа пишет Unable to unseal. Make RemaningCapacity=0, но он же у меня итак 0...что то не то получается.
Дело в том, что фраза Unable to unseal. Make RemaningCapacity=0 -- заглушка при невозможности(неуспешности) ансила, в том числе, это заглушка на вырезанный функционал. Поэтому, читать ее стоит просто как "ансил не удался"
Сейчас этот форум просматривают: vsuper и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения