Батареи DJI. Проблемы и решения
Или ейный шлейф
на M1 кнопка на плате контроллера
на M1 кнопка на плате контроллера
Это стеб такой. Т.к. VitFom затрахал уже везде своими глупыми вопросами 😃
Кстати, кто то пробовал заблокированную батарею М1 вставлять в родную зарядку?
Что там с индикацией?
уже пашет как на bq30z55
На BQ30Z55 1 не получилось. По крайней мере с имеющейся у меня прошивкой.
Информацию читает так же кривенько, как и ВЕ и тоже иногда со сбоями по шине (но это, видимо, уже проблемы 2112), ключи якобы подбирает (каждый раз разные похоже) и расеаливает, ошибки якобы снимает, чип якобы ресетит, но на самом деле ничего этого не выполняется, FW не читается по причине залоченности чипа, а инфа о состоянии после всех этих действий остается неизменной.
Но к батареям коптеров это, конечно, отношения не имеет - спасибо за предоставленную возможность убедиться в правильности решения про утилизацию 😃
На BQ30Z55 1 не получилось. По крайней мере с имеющейся у меня прошивкой.
Информацию читает так же кривенько, как и ВЕ и тоже иногда со сбоями по шине (но это, видимо, уже проблемы 2112), ключи якобы подбирает (каждый раз разные похоже) и расеаливает, ошибки якобы снимает, чип якобы ресетит, но на самом деле ничего этого не выполняется, FW не читается по причине залоченности чипа, а инфа о состоянии после всех этих действий остается неизменной.
Но к батареям коптеров это, конечно, отношения не имеет - спасибо за предоставленную возможность убедиться в правильности решения про утилизацию 😃
Думаю дело не в CP2112. Будь у вас EV2300/EV2400 то была бы такая же картина.
Full Access кнопочку пробовали нажимать? Что после этого происходит?
Если при нажатии на кнопку Unseal в основном окне программы чип отдает CHALLENGE то по этому челенджу и 128 бит ключу что в строке Key(128bit) происходит расчет Digest, который потом отправляется в чип. Но этот расчет происходит при использовании дефолтного ключа 0123456789ABCDEFFEDCBA9876543210, если у вас ключь не дефолтный и вы его не знаете то пробуйте кнопочку Full Access(пока только проверено на BQ30Z55 от DJi Phantom батарейке), после чего будет получен полный доступ и ключи должны поменяться на дефолтные. После этого если чип снова засеалится то можно рассеалить с помощью дефолтного ключа и полученного от него DIGEST.
И еще - попробуйте отключить MSP430 от BQ30Z55 на шине i2c, т.к. MSP может вносить помеху т.к. два мастерустройства (MSP430 + CP2112) на одной шине i2c возможны, но они не должны друг-другу мешать.
PS Внимание. Работу с BQ30Z55 нужно производить с отключенным MSP430 от BQ30Z55. Любыми способами - выключения с кнопки, занижением питания на MSP, до физического временного перерезания дорожек SCL и SDA между MSP430 и BQ30Z55
в правильности решения про утилизацию
в личку написал.
Full Access кнопочку пробовали нажимать?
Первоначально нет, но сейчас попробовал. Несколько раз ничего не происходило. Ну то есть все как обычно, что-то там делает, пишет ОК, но по факту результата нет, Boot не пускает, пишет засеален. Но в какой-то из попыток Boоt вроде как написал что доступ получен и я поначалу обрадовался. Оказалось рано 😃 Прочитал FW. Якобы прочитал и сохранил, но после этого в Info бред, ничего не работает, короче контроллер ёк судя по всему и муки выбора отпали по определению 😃
Работу с BQ30Z55 нужно производить с отключенным MSP430 от BQ30Z55.
В моем контроллере стоит только BQ30Z551
Первоначально нет, но сейчас попробовал. Несколько раз ничего не происходило. Ну то есть все как обычно, что-то там делает, пишет ОК, но по факту результата нет, Boot не пускает, пишет засеален. Но в какой-то из попыток Boоt вроде как написал что доступ получен и я поначалу обрадовался. Оказалось рано 😃 Прочитал FW. Якобы прочитал и сохранил, но после этого в Info бред, ничего не работает, короче контроллер ёк судя по всему и муки выбора отпали по определению 😃
В моем контроллере стоит только BQ30Z551
Ха! Если в бут попали и прочитало FW (и должно EEPROM читать также) то чип рассеалился. Когда чип находится в BootMode то считываться инфа правильно не будет, все так и есть, так как чип находится в другом режиме. Скорее всего в чипе или чтото с еепром не так и/или чип “колбасит”. Прочитайте для начала дампы с него в Boot режиме. Если дампы действительно прочитаются и там будет не рендомный мусор то поищите дамп с такого же BMS и попробуйте записать заведомо рабочий EEPROM (к сожалению CP2112 не может писать FW в BQ30Z55 изза особенностей длины блока). Да, будут калибровки несоответствовать, но это мелочи, главное чтобы ваша BMS заработала. По крайней мере уже рисковать нечем 😃
PS Если чип колбасит то чип после расселивания будет снова засеаливаться, нужно быстро после рассеаливания дать команду на переключение в Boot Mode. Я могу запилить CheckBox “Try to Enter Boot Mode” c функцией мол автоматически после Unseal или Full Access давать команду на перевод в Boot Mode, т.к. программа это сделает за милисекунды, в отличии от пользователя который нажимает кнопки.
PPS После использования Full Access у вас уже должны были поменяться ключи на дефолтные. Поэтому теперь вы можете просто использовать кнопку Unseal с дефолтным ключем в строке Key(128 bit) который по умолчанию в программе.
PPPS Чтобы “бред в инфо” не читался, там есть кнопочка “Exit Boot”. Но не спешите выходить из Boot режима 😃
Ха!
Ух ты! Значит не убил. EEPROM действительно прочитался и он такой же, как и тот, что я с десятой попытки считывал ВЕ.
дамп с такого же BMS и попробуйте записать заведомо рабочий EEPROM
Так и задумывалось изначально, т.к. рабочая батарея у меня есть и считать EEPROM, как теперь выяснилось, можно. Но если нечем писать - толку с него?
Вышел из boot mode - инфа прочиталась, но ошибки по-прежнему не сбрасываются.
Но не спешите выходить из Boot режима
поздно… 😃
Так и задумывалось изначально, т.к. рабочая батарея у меня есть и считать EEPROM, как теперь выяснилось, можно. Но если нечем писать - толку с него?
Я не говорил что EEPROM нельзя прочитать/записать, я говорил что FW в BQ30Z55 не получится записать через CP2112 адаптер.
Читайте EEPROM с такого же но рабочего BMS и пишите в ваш нерабочий. Предварительно прочитайте также и FW как с рабочего так и нерабочего.
И про какие ошибки вы говорите которые не сбрасываются?
Чую прийдется мне еще пилить отображение статусов регистров ))))
Читайте EEPROM с такого же но рабочего BMS и пишите в ваш нерабочий.
Через час попробую записать этот контроллер своими же данными - посмотрю, пройдет ли процесс или будет вылетать в ошибки.
И про какие ошибки вы говорите которые не сбрасываются?
ClearPF. Как я понимаю, это должно снимать Permanent Failure и зарядные токи с напряжением должны стать ненулевыми?
ClearPF. Как я понимаю, это должно снимать Permanent Failure и зарядные токи с напряжением должны стать ненулевыми?
Ну для начала нужно видеть установлен ли флаг PF на вашем нерабочем BMS или нет. Я в проге пока не делал отображение статус регистров или банально проверку PF на активно\неактивно. Поэтому программа сейчас тупо посылает команду на сброс PF и все. А дальше уже зависит от BMS - принимает/выполняет эту команду или нет. В вашем случае у вас колбасня чипа скорее всего, и я сомневаюсь что эта колбасня связана с PF.
Прочитайте EEPROM и FW с рабочего и нерабочего BMS и выложите их сюда.
EEPROM пишет!
Прочитайте EEPROM и FW с рабочего и нерабочего BMS и выложите их сюда.
Нерабочий вот. Рабочий несколько позже - его надо еще из планшета достать, а он пока недоступен.
EEPROM пишет!
Нерабочий вот. Рабочий несколько позже - его надо еще из планшета достать, а он пока недоступен.
Отлично. Ждем рабочий еепром.
PS Я уже вижу по FW что скорее всего FW не весь вычитался, нужно будет попробовать увеличить диапазон чтения до 128 кБайт, скорее всего в этом чипе или больше ROM или в моем подопытном от фантома на котором я отлаживал софт размер прошивки меньше размером. Но FW нам в принципе сейчас не важно.
Отлично. Ждем рабочий еепром.
Спасибо! Пока вот второй нерабочий, может будет интересно посмотреть. С рабочим, боюсь, придется притормозить - похоже заболел…
Спасибо! Пока вот второй нерабочий, может будет интересно посмотреть. С рабочим, боюсь, придется притормозить - похоже заболел…
фирмварю тоже сливайте, нужно же тоже понимать одинаковые ли прошивки или разные
кто или что заболел?
фирмварю тоже сливайте, нужно же тоже понимать одинаковые ли прошивки или разные
Пока нет возможности - этот контроллер на работе. EEPROM я с него раньше ВЕ считал, с десятой попытки. Учитывая, что для первого контроллера прочитанное совпадает, думаю и по второму этот дамп правильный.
кто или что заболел?
Я заболел. А значит на работу как минимум завтра на попаду. В лучшем случае.
Пока нет возможности - этот контроллер на работе. EEPROM я с него раньше ВЕ считал, с десятой попытки. Учитывая, что для первого контроллера прочитанное совпадает, думаю и по второму этот дамп правильный.
Я заболел. А значит на работу как минимум завтра на попаду. В лучшем случае.
ну еепром не может совпадать побайтно с другим еепром даже с такой же батарейки, а FW может
ну еепром не может совпадать побайтно с другим еепром даже с такой же батарейки, а FW может
Для первой батарейки прочитанное ВЕ и Вашей программой совпали побайтно. Между дампами первой и второй различия есть, но только в нескольких местах и структура в целом похожа.
В любом случае пока это все, что есть. Как только будет возможность - считаю все, что только можно считать, опять же появилась надежда 😃
Я не говорил что EEPROM нельзя прочитать/записать, я говорил что FW в BQ30Z55 не получится записать через CP2112 адаптер. Читайте EEPROM с такого же но рабочего BMS и пишите в ваш нерабочий. Предварительно прочитайте также и FW как с рабочего так и нерабочего.
При таком кривом чтении стандартного отчета, читать еепром и тем более писать туда что-то, это заведомо будет кирпич.
При таком кривом чтении стандартного отчета, читать еепром и тем более писать туда что-то, это заведомо будет кирпич.
Ну я баловался со своими BMSками на BQ9003 в том числе и с теми что “колбасит”. У меня есть EV2300 и я одинаково “криво” читал те которые колбасит как на EV2300 и Ti’шном софте, так и на CP2112. Я прекрасно видел как чип сыпал ошибки в данные, либо не вовремя прекращал передачу данных. Прошу заметить что “колбасня” в рабочем режиме у чипа, а не в Boot Mode. Так же я было “уваливал” свою бмску то стер ROM и потом не мог выйти из Boot Mode, то записал чужой еепром с такого же аккума, но от другой версии прошивки, после чего чип начало “колбасить” что трудно было после рассеаливания перейти в Boot режим. Но тем не менее восстановил 😃 Я не думаю что у вас какой-то есть волшебный способ “некривого” чтения отчета в таких случаях когда чип “колбасит” по какой-то причине 😃
PS От вас только критика, без реальной помощи 😃