Разборка прошивки электросамоката Xiaomi M365

Форум / Электротранспорт / Электросамокаты / Xiaomi Mijia Electric Scooter / Разборка прошивки электросамоката Xiaomi M365
#прошивка
Форум / Электротранспорт / Электросамокаты / Xiaomi Mijia Electric Scooter / Разборка прошивки электросамоката Xiaomi M365
Open header post
vetal88
Участник
Rating: 17
vetal88
24 september 2018, 23:37
Posted: 24 september 2018, 23:37

Коллеги, прочитал пару страниц и понял что все обсуждают кастомные прошивки, но также понял что это рисковое дело. 


А есть тема где обсуждают оригинальные прошивки?

M365 spain
Участник
Rating: 49
M365 spain
24 september 2018, 23:57
Posted: 24 september 2018, 23:57

vetal88 а че там в стоковой прошивке обсуждать? прошил и катайся.. самокат овощ и наката нет. После кастом на сток вообще не пересяду никогда. ну а риск он везде есть (благо все детали доступны и не дорого)... но так как уже есть полная прошивка - то в любой момент можно контроллер восстановить.

Answers: 1
 1   
SurgeSPB
Форумчанин
Rating: 118
SurgeSPB
25 september 2018, 14:58
Posted: 25 september 2018, 14:58
Ответ пользователю
M365 spain : 24 september 2018, 23:57
на это сообщение (развернуть)
vetal88 а че там в стоковой прошивке обсуждать? прошил и катайся.. самокат овощ и наката нет. После кастом на сток...

vetal88 а че там в стоковой прошивке обсуждать? прошил и катайся.. самокат овощ и наката нет. После кастом на сток вообще не пересяду никогда. ну а риск он везде есть (благо все детали доступны и не дорого)... но так как уже есть полная прошивка - то в любой момент можно контроллер восстановить.

Отдав нехилую сумму благочинному за ремонт.

Перешел на кастом - катался сутки. Нажал тормоз на горке, предохранитель на батарее выгорел позже, чем вся цепь 42-5.

phalt
Новичок
phalt
30 september 2018, 13:49
Posted: 30 september 2018, 13:49
Ответ пользователю
Conejo : 21 september 2018, 14:08
на это сообщение (развернуть)
Извлёк :) Оказалось всё шифровано, но ключ тот же, что и в М365 :)[attachment=17481] Внутри все три части - BLE, DRV, BMS....

Извлёк :) Оказалось всё шифровано, но ключ тот же, что и в М365 :)nbes2fw.zip Внутри все три части - BLE, DRV, BMS. Продублировать как-то в раздел Ninebot?


Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без активации.

 

QEMU ругалась на отличия параметров инициализации PLL - но ето не суть, в окирпиченном контроллере от ЕС2 - снова теплится жизнь.

Адреса аппликухи и бекаппа для найнбота выложу - как только руки доберутся нарисовать картинку.
Я правильно понимаю? - для даунгрейда - потребуется подсунуть свою ДНС c пониженной версией? - по БЛЕ снимать поздно - версию 1.2.2 уже не раздает сигвей, а из контроллеров считать аппликуху флеш ридером по уарту - надо 2 езкемпляра? Пысы - есть ли надежда на андроид приложение по типу m365-freedom - только для найнботов?

Answers: 3
Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 17:22
Posted: 30 september 2018, 17:22
Ответ пользователю
phalt : 30 september 2018, 13:49
на это сообщение (развернуть)
Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без...

Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без активации.

 

QEMU ругалась на отличия параметров инициализации PLL - но ето не суть, в окирпиченном контроллере от ЕС2 - снова теплится жизнь.

Адреса аппликухи и бекаппа для найнбота выложу - как только руки доберутся нарисовать картинку.
Я правильно понимаю? - для даунгрейда - потребуется подсунуть свою ДНС c пониженной версией? - по БЛЕ снимать поздно - версию 1.2.2 уже не раздает сигвей, а из контроллеров считать аппликуху флеш ридером по уарту - надо 2 езкемпляра? Пысы - есть ли надежда на андроид приложение по типу m365-freedom - только для найнботов?

Без активации - само собой, она хочет того же, чего и прошивки М365 - копию UID в секции настроек.


Бут от М365 нуждается в патчах, у ES2 другие адреса секций update, настроек, параметров обновления:

ES2:

08000000 bootloader
08001000 app
0800E800 update
0801C000 app_config
0801F800 upd_config


M365:

08000000 bootloader
08001000 app
08008400 update
0800F800 app_config
0800FC00 upd_config


и другие пины для сигнала включения DC-DC (ES2: PA11, M365: PC15) и стоп-сигнала (ES2: PB9, M365: PA15, используется бутом для индикации ошибок, у ES2 кстати как раз на PA15 внутренний светодиод, сойдёт и так)

Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 17:25
Posted: 30 september 2018, 17:25
Ответ пользователю
phalt : 30 september 2018, 13:49
на это сообщение (развернуть)
Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без...

Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без активации.

 

QEMU ругалась на отличия параметров инициализации PLL - но ето не суть, в окирпиченном контроллере от ЕС2 - снова теплится жизнь.

Адреса аппликухи и бекаппа для найнбота выложу - как только руки доберутся нарисовать картинку.
Я правильно понимаю? - для даунгрейда - потребуется подсунуть свою ДНС c пониженной версией? - по БЛЕ снимать поздно - версию 1.2.2 уже не раздает сигвей, а из контроллеров считать аппликуху флеш ридером по уарту - надо 2 езкемпляра? Пысы - есть ли надежда на андроид приложение по типу m365-freedom - только для найнботов?

Пропатчил, моргание оставил на PA15, остальное поправил, вроде нигде не ошибся.bootES2.zip

Answers: 1
Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 17:38
Posted: 30 september 2018, 17:38
Ответ пользователю
phalt : 30 september 2018, 13:49
на это сообщение (развернуть)
Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без...

Добр день, проверил с загрузчиком от сяо и со своим самопальным boot-ом - прошивка верная - но без активации.

 

QEMU ругалась на отличия параметров инициализации PLL - но ето не суть, в окирпиченном контроллере от ЕС2 - снова теплится жизнь.

Адреса аппликухи и бекаппа для найнбота выложу - как только руки доберутся нарисовать картинку.
Я правильно понимаю? - для даунгрейда - потребуется подсунуть свою ДНС c пониженной версией? - по БЛЕ снимать поздно - версию 1.2.2 уже не раздает сигвей, а из контроллеров считать аппликуху флеш ридером по уарту - надо 2 езкемпляра? Пысы - есть ли надежда на андроид приложение по типу m365-freedom - только для найнботов?

Для даунгрейда был готовый комплект софта для какого-то Ninebot Mini, возможно подойдёт. Потряс разработчика M365_DownG добавить поддержку ES2, пока ни слуху ни духу. Дойдут руки - сам что-нибудь сделаю (решение "в лоб" -  декомпилировать их приложение, поправить заголовок пакета, собрать назад).


По слитию прошивок есть одна мысль: залить ну очень маленький "апдейт"-сливальщик, который перезапишет всего один сектор (2к), слить через него и реконструировать недостающее, подглядывая в 1.3.3 и прошивки М365 - несколько муторно, но возможно.

phalt
Новичок
phalt
30 september 2018, 17:41
Posted: 30 september 2018, 17:41
Ответ пользователю
Conejo : 30 september 2018, 17:25
на это сообщение (развернуть)
Пропатчил, моргание оставил на PA15, остальное поправил, вроде нигде не ошибся.[attachment=17783]

Пропатчил, моргание оставил на PA15, остальное поправил, вроде нигде не ошибся.bootES2.zip

проверю, не уверен что я правильные настройки по адресу 0800F800 кладу...

отпишусь по результатам.

Answers: 1
Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 18:08
Posted: 30 september 2018, 18:08
Ответ пользователю
phalt : 30 september 2018, 17:41
на это сообщение (развернуть)
проверю, не уверен что я правильные настройки по адресу 0800F800 кладу...отпишусь по результатам.

проверю, не уверен что я правильные настройки по адресу 0800F800 кладу...

отпишусь по результатам.

С этим бутом настройки нужно класть по 0801C000. Для старта критичны только 4 байта по +0 (magic), правильный UID по +1B4 и вменяемый серийный номер по +20.

Answers: 1
phalt
Новичок
phalt
30 september 2018, 18:46
Posted: 30 september 2018, 18:46
Ответ пользователю
Conejo : 30 september 2018, 18:08
на это сообщение (развернуть)
С этим бутом настройки нужно класть по 0801C000. Для старта критичны только 4 байта по +0 (magic), правильный UID по...

С этим бутом настройки нужно класть по 0801C000. Для старта критичны только 4 байта по +0 (magic), правильный UID по +1B4 и вменяемый серийный номер по +20.

По указанным адресам бутлоадер вычитывает uid и сравнивает? Или же сама аппликейшн? И порядок копирования в сеттингс uid чипа - LE?

Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 19:13
Posted: 30 september 2018, 19:13

UID сравнивается в APP. Порядок байтов - LE.


Там ещё кстати какие-то флажки выставляются в зависимости от знаков серийного номера:

- если SN[3] равен P/T/R/W/S (в смысле любая из этих букв) - один флажок

- если SN вида xxxxx1723xxxxx - другой флажок

- если SN[3]==R - ещё что-то


Серийный номер по умолчанию: N2GEA1601C0001 - не подходит ни под одно из этих условий. Серийный номер виденного в сервисе живого ES2 подходит под первое (у него буква Т).

Answers: 1
Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 19:33
Posted: 30 september 2018, 19:33

Частично нашел что за варианты с серийными номерами:

SN[3]  P/T/R/W/S - у таких моделей выше максимальная скорость (34 км/ч против 23 км/ч, если не ошибаюсь)

xxxxx1723xxxxx - у таких другое подключение датчиков Холла (обратный порядок подключения и сами сигналы инвертированные )


phalt
Новичок
phalt
30 september 2018, 19:43
Posted: 30 september 2018, 19:43
Ответ пользователю
Conejo : 30 september 2018, 19:13
на это сообщение (развернуть)
UID сравнивается в APP. Порядок байтов - LE.Там ещё кстати какие-то флажки выставляются в зависимости от знаков...

UID сравнивается в APP. Порядок байтов - LE.


Там ещё кстати какие-то флажки выставляются в зависимости от знаков серийного номера:

- если SN[3] равен P/T/R/W/S (в смысле любая из этих букв) - один флажок

- если SN вида xxxxx1723xxxxx - другой флажок

- если SN[3]==R - ещё что-то


Серийный номер по умолчанию: N2GEA1601C0001 - не подходит ни под одно из этих условий. Серийный номер виденного в сервисе живого ES2 подходит под первое (у него буква Т).

Флаг внутренний или в сетингсах?

Answers: 1
Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
30 september 2018, 20:59
Posted: 30 september 2018, 20:59
Ответ пользователю
phalt : 30 september 2018, 19:43
на это сообщение (развернуть)
Флаг внутренний или в сетингсах?

Флаг внутренний или в сетингсах?

Внутренний, это само делается при старте, просто информация как некоторые знаки серийного номера влияют на поведение.

Conejo
Продвинутый форумчанин
МадридRating: 703
Conejo
01 october 2018, 12:02
Posted: 01 october 2018, 12:02

Эти буквы и скорости по всей видимости ES1/ES2, у ES1 ниже мощность и скорость.

Answers: 2
phalt
Новичок
phalt
03 october 2018, 0:59
Posted: 03 october 2018, 0:59
Ответ пользователю
Conejo : 01 october 2018, 12:02
на это сообщение (развернуть)
Эти буквы и скорости по всей видимости ES1/ES2, у ES1 ниже мощность и скорость.

Эти буквы и скорости по всей видимости ES1/ES2, у ES1 ниже мощность и скорость.

не только, еще они могут значить разные регионы - при попытке активировать контроллер приложением найнбота - серийник N2GEA**** - принимает за китайский регион - и активировать можно только при наличии китайской (или тайваньской) симки....

BLE.bin - на девките от нордика (NRF51822) запустился только с softdfevice(ака БЛЕ стек) - версии s110 - адресс приложения 0х18000 - ида на запчасти не разобрала.... пока что ))))

Есть новости по кастомному приложению для найнбота? - подсунуть свой бинарник для найнбот ЕС было бы неплохо.

phalt
Новичок
phalt
03 october 2018, 1:02
Posted: 03 october 2018, 1:02
Ответ пользователю
Conejo : 01 october 2018, 12:02
на это сообщение (развернуть)
Эти буквы и скорости по всей видимости ES1/ES2, у ES1 ниже мощность и скорость.

Эти буквы и скорости по всей видимости ES1/ES2, у ES1 ниже мощность и скорость.

кстати - BLE.bin - увы определяется по блутусу как N3M-Ninebot-M.... видимо не хватает каких то сеттингсов с флеши ((((

Answers: 1
nickkee
Участник
МоскваRating: 69
nickkee
03 october 2018, 1:14
Posted: 03 october 2018, 1:14
Ответ пользователю
phalt : 03 october 2018, 1:02
на это сообщение (развернуть)
кстати - BLE.bin - увы определяется по блутусу как N3M-Ninebot-M.... видимо не хватает каких то сеттингсов с флеши ((((

кстати - BLE.bin - увы определяется по блутусу как N3M-Ninebot-M.... видимо не хватает каких то сеттингсов с флеши ((((

Это имя изменяется контроллером и зависит от серийника.

Answers: 1
phalt
Новичок
phalt
03 october 2018, 1:38
Posted: 03 october 2018, 1:38
Ответ пользователю
nickkee : 03 october 2018, 1:14
на это сообщение (развернуть)
Это имя изменяется контроллером и зависит от серийника.

Это имя изменяется контроллером и зависит от серийника.

Каким контроллером? Это же блутус чип - и в прошивке есть оба варианта как мини, так и ес - по стрингам в бинарнике видно. И адвертайзил только блутус чип нордика, без подключения к силовому контроллеру найнбота

Answers: 1
nickkee
Участник
МоскваRating: 69
nickkee
03 october 2018, 1:39
Posted: 03 october 2018, 1:39
Ответ пользователю
phalt : 03 october 2018, 1:38
на это сообщение (развернуть)
Каким контроллером? Это же блутус чип - и в прошивке есть оба варианта как мини, так и ес - по стрингам в...

Каким контроллером? Это же блутус чип - и в прошивке есть оба варианта как мини, так и ес - по стрингам в бинарнике видно. И адвертайзил только блутус чип нордика, без подключения к силовому контроллеру найнбота

Контроллером, который в самокате стоит, его серийный номер влияет на это поле, и оно физически перезаписывается. Я сравнивал дампы до и после этого процесса.

Answers: 1