-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ошибка при прошивке z03mmc.bin после промежуточной #22
Comments
Попробуйте выполнить эту операцию не на ПК, а на смартфоне (только не забудьте файл прошивки предварительно поместить на смартфон). Все точно так же - через браузер Chrome. |
Тут может влиять проблема, если ранее была зашита прошивка Zigbee. Она устанавливает защиту записи на Flash и OTA в область нулевых адресов Flash и штатным SDK Telink OTA невозможна. Прошивки термометров из https://github.com/pvvx/ATC_MiThermometer/ по старту очищают флаги защиты Flash: Поведение остальных – мне неизвестно. |
Датчики оба новые, только из коробки. Третий лежит ждёт. |
Есть ещё такое: Данная проблема связана со стандартом Bluetooth. Для экономии питания и времени связи BT адаптер обязан помнить таблицу UUID устройства (и многое другое), чтобы не перечитывать всё каждый сеанс соединения. При этом у устройства есть специальный типовой UUID, указывающий на изменения в этой таблице. Но устройство не может запоминать всех клиентов, кому уже было указано о смене конкретных UUID в своей таблице… На сегодня отставание в реализации поддержки Bluetooth/BLE у Linux, в сравнении с Android - более 10 лет. |
Перезагрузка ноутбука, очистка кеша chrome не помогла, прошивка с другого устройства, так же нет результата. #20 |
Где вы берете такие старые термометры - Hardware Revision String: B1.5 (производились более двух лет назад)? Идущие с ними батарейки наверно уже сели от старости и неправильных условий хранения (некоторые CR2032 просто умирают в ноль при перевозке зимой по России). The version is determined by the addresses of the display and sensor on I2C
Version 1.7 or 2.0 is determined at first run by reading the HW line written in Flash. |
А после прошивки в zigbee версию можно HW как то посмотреть? Где берем - работали) у меня несколько 20 года датчиков - там вроде B1.4, несколько B1.6 |
Версия платы написана на самой плате, со стороны экрана |
Кстати Сегодня пришли 2 новых термометра. Оба версии 1.5. Дата производства 10.2022 . |
Это скорее всего дата упаковки. Сенсор SHTC3 уже давно не производится. Чип, заменяющий контроллер LCD в B1.5 и B1.6, устанавливался какой-то временный (похоже на какой-то MCU со своей программой и управляемый по UART), т.к. было время искусственно созданного "дефицита чипов". |
Подскажите прошивал через UART и похоже оторвал резиновый шлейф от дисплея - теперь ничего не показывается (а может криво прошилось и не стартует плата) - вопрос не сталкивались ли с таким и как можно локализовать проблему (например померить на контрольных точках) ? И мог ли я спалить плату если перепутал 3v3 и землю? |
Резинка не приклеена, просто прижимается платой и корпусом к экрану. С ней ничего не случится Переполюсовка могла повредить чип, я не проверял:) Если дело в прошивке, надо прошить еще раз на более низкой скорости или дополнительно стереть флешку |
А есть вариант проверить жива ли плата простыми действиями (вроде если дать на плату 3v3 то между gnd и 14 точкой должно быть 3v3) или нет и проще сохранить корпус этого термометра как памятник кривым ручкам?
Я правильно понял что для этого запустить скрипт с ключом 'ea' вместо 'wf'? |
Я, к сожалению не знаю как можно проверить живость чипа, кроме как прошить и получить результат. Да, еа стирает флешку |
Попробовал седня прошить по 2 датчика с Hardware Revision String: B1.4 и Hardware Revision String: B1.6. Так что ошибка явно связана с ревизией датчика, а не действиями пользователя |
Я тестировал только на 1.4, у меня она в наличии. Там отличие только в экране должно быть. Интересно, поможет ли в этих случаях прошивка с выключенным экраном. |
Я несколько раз и прошивал с выключенным (вернее, с отсоединенным) экраном, и спаривал. Более того - даже без батарейки (питание 3.3 В шло от USB-адаптера). По сути голая плата на трех проводках болталась. И всё работало. |
Ошибка связана с промежуточной прошивкой от devbis без исходников и уточнить что там происходит нет никаких возможностей. Только гадать. И данная прошивка не выдает никаких идентификаторов, чтобы отличить её от стандартной. Это создает путаницу и не дает возможностей даже пробовать создать любые исправления в TelinkMiFlasher. |
Прошивка совпадает с pvvx/atc_mithermometer 4.4 с добавлением перемещения прошивки по адресу 0x40000 и изменением Вот полный патч, но это первая рабочая версия, и я на ней остановился. |
Следующее гадание, на основе лога:
говорит о том, что происходит разрыв связи. Причина может быть в элементарном нарушении таймингов BLE. |
Область Flash, куда записывается OTA для Zigbee 0x40000+ используется для сохранения логов замеров (названа memo). Функции, включаемые по USE_EXT_OTA, производят стирание области Flash для OTA, пытаясь согласовать задержки стирания секторов Flash с таймингом соединения BLE. Это поддерживается в TelinkMiFlasher только для MJWSD05MMC вызовом специальных специфических функций предустановок и предупреждением пользователя о стирании MEMO и прочей информации без которой будет не восстановить работу термометра в MiHome.... У MJWSD05MMC батарейка мощнее и выдерживает более длительную активную работу SoC со стиранием подряд пачки секторов Flash с одновременным сохранением связи соединения и конденсатор в цепи питания у MJWSD05MMC больше, что обеспечивает большую стабильность. У "безконденсаторных" термометров при импульсах провала питания первым сбивается таймер в SoC, что убивает тайминг связи...
никак не поможет - в BLE связь прыгает по каналам с согласованным таймингом и если разошлись - конец соединению... Необходимо сделать специальную “промежуточную” прошивку, которая должна:
К примеру, нет никакой возможности определить прошивку atc1441, т.к. она не имеет ни одного идентификатора и по этой причине не обслуживается в TelinkMiFlasher, что создает проблемы у пользователей... |
pvvx, спасибо за альтернативный прошивальщик #50 |
Если в датчик уже записана ATC_ota_400000, тогда только путем аппаратной перепрошивки (проводами). Можно попробовать, если ещё работает ATC_ota_400000, перед самой перепошивкой нажать |
pvvx |
@kachalovmg - Для выяснения ситуации есть просьба: |
040000:2680000000005D024B4E4C54270788008680 |
Значит там сама прошивка сидит. |
Адрес 0 |
Да. Это значит, что вероятнее всего просто сбой связи из-за срыва таймингов BLE какой-то длинной процедурой. |
Да действительно после очистки с помощью Огромное спасибо за помощь |
I received V1.6 HW sensors and confirm that OTA is broken. |
Промежуточной прошивается нормально, вытаскиваю батарею, обновляю страницу. Подключаюсь повторно для прошивки zigbee после нажатия на Start Flashing, начинается прошивка, статус 0% и почти сразу дисконет.
Пробовал на двух датчиках, результат одинаков.
The text was updated successfully, but these errors were encountered: