Skip to content

Latest commit

 

History

History
287 lines (228 loc) · 28.6 KB

Manual_ru.md

File metadata and controls

287 lines (228 loc) · 28.6 KB

OpenIPC для Xiaomi MJSXJ03HL

Изображение

Внимание! Любые вносимые изменения лишают вас гарантии на данное устройство! Ответственность за любой ущерб, возникший в результате любых действий пользователя, автор не несет!


Подготовка

Подключение UART переходника

Нам понадобятся:

  • Компьютер с USB портом
  • Тестер или вольтметр
  • UART переходник на 3,3V , подобный этому

изображение

Все действия будут показаны на ОС Linux (Kubuntu), если Ваша ОС отличается, пожалуйста обратитесь к специализированным инструкциям по настройке UART в вашей ОС.

Порядок работы:

  1. Внимательно изучите UART переходник. Найдите контакты GND,TX,RX. Если ваш переходник поддерживает функцию выбора рабочего напряжения, убедитесь, что он переведен в режим работы 3,3V!
  2. При помощи тестера убедитесь в том, что Ваш UART переходник выдает напряжение 3.3V. Для этого выполните замеры между контактами GNDиTX, а также GNDиRX. Не используйте переходник, если величина напряжения составляет 5V! Это убьет Вашу камеру!
  3. Подключите UART переходник к порту Вашего компьютера. Необходимо узнать точку монтирования переходника в Вашей операционной системе.
  4. Используйте терминал. Выполните команду lsusb и внимательно изучите вывод. Найдите Ваш UART переходник.
  5. Используйте терминал. Выполните команду dmesg | grep attached от суперпользователя. Сравните выводы обеих команд и найдите точку монтирования переходника. Для примера воспользуйтесь скриншотом ниже: Screenshot_20230301_210433
  6. Итак, мы получили, что наше устройство монтируется по адресу /dev/ttyUSB0. В вашем случае адрес монтирования может отличаться. Этот адрес мы будем использовать при подключении через UART. Будьте внимательны, при подключении нескольких подобных устройств, а также при некорректном отключении, адрес монтирования может меняться.

Разборка

В настоящее время камера поддерживает только прошивку через UART адаптер, поэтому для выполнения операций нам придется разобрать камеру. Помните, что это лишит вас гарантии производителя!

Нам понадобятся:

  • Само устройство
  • Фен или другое нагревательное устройство
  • Плоский тонкий предмет, например канцелярский нож
  • Длинная тонкая отвертка x-type
  • Аккуратность

Итак, преступим:

  1. Аккуратно прогрейте лицевую часть камеры (там, где объектив)
  2. При помощи канцелярского ножа или иного заостренного предмета аккуратно подденьте лицевую часть. Помните, под лицевой частью находятся важные провода, не повредите их!
  3. Двигаясь по кругу, аккуратно отделите лицевую часть от корпуса камеры. Помните о том, что она соединена проводами с главной платой камеры!
  4. Под низом вы найдете два болта, котрые необходимо открутить. После этого аккуратно разъедините половинки корпуса камеры. Будьте осторожны, не причините себе вреда и не повредите соединительные провода, а также детали камеры!
  5. Отверните еще несколько винтов, освободив главную плату устройства. Также освободите type С порт

Изучение

Внимательно изучите камеру, найдите необходимые элементы, потому что на следующих этапах нам придется физически взаимодействовать с некоторыми из них. Производитель может менять некоторые компоненты устройства без уведомления потребителей. По этой причине две камеры, выпущенные в разное время, могут иметь разную начинку и отличающееся программное обеспечение. Поэтому еще раз внимательно изучите компоненты, убедитесь что они соответствуют тем, что указаны в данном руководстве. При возникновении вопросов, пожалуйста обратитесь в наш Телеграм-канал

Главная плата (вид с лицевой стороны)

IMG_20210904_194002Главная плата (вид с лицевой стороны).

Самая важная для нас часть на ней - чип памяти.

Чип памяти на ней

IMG_20210904_194034Чип памяти на ней.

Он имеет численно-буквенную маркировку. Убедитесь что чип на вашей плате имеет подобную маркировку! Число 128 означает число бит памяти. 128/8=16, значит наша память 16 Мб. Выбирать прошивку нужно под этот тип памяти!

Главная плата (вид с тыльной стороны)

IMG_20210904_194151Главная плата (вид с тыльной стороны).

Здесь расположен беспроводной модуль, центральный процессор и различные другие компоненты. Но самое важное для нас - три контакта с отверстием, расположенные рядом в правой верхнем секторе платы. Именно через них мы подаем управляющие сигналы на камеру.

Центральный процессор

IMG_20210904_194132Центральный процессор.

В нашем случае он имеет численно-буквенную маркировку. Ingenic T31N. Буква N - серия. Она указана во втором ряду. Подробнее


Соединение камеры и UART-переходника

Для того, чтобы присоединить UART-переходник к плате камеры, нужно воспользоваться проводами с клеммами. Они могут идти в комплекте с UART-переходником. Однако их можно заменить аналогичными. Похожие типы соединения встречаются во множестве элетроники. Второй конец провода к плате стоит припаять, чтобы контакт не исчез в нужный момент. Будьте внимательны при пайке, не повредите элементы схемы и не замкните контакты между собой! IMG_20210904_1941511

Соедините провода, идущие от UART-переходника с платой так, как показано на рисунке. Если вы все сделали правильно, камера будет показывать лог во время загрузки. Проверим это.

Проверка работоспособности терминала, камеры и соединения

Для начала нам потребуется установить программу-терминал для отправки управляющих команд с камеры и приема обратных сигналов. В ОС linux достаточно большое количество терминалов, вы можете выбрать себе наиболее удобный. Среди них можно выделить screen, picocom, minicom, cutecom. Последний имеет GUI. Установите программу-терминал: sudo apt install <ИМЯПАКЕТА> Команды будут приведены для программы picocom. Для начала ознакомьтесь с возможностями программы и синтаксисом команд: picocom --help Подключите UART-переходник и выполните в терминале команду:

picocom -b 115200 /dev/ttyUSB0

где опция -b задает управляющую частоту, а /dev/ttyUSB0 - адрес точки монтирования, который мы узнали ранее. Если вы все сделали верно, программа напишет, что терминал готов к работе. Ознакомьтесь с управляющими командами терминала, нажав последовательность клавиш Ctrl+A Ctrl+H. Для более подробного изучения программы-терминала обратитесь к соответствующим руководствам в сети.

Если вы подадите питание на камеру, то увидите лог загрузки. Попробуйте нажать клавиши, например Enter и убедитесь, что терминал на них реагирует и отправляет события. Если все сделано верно, можно переходить к следующему пункту.


Получение доступа к консоли загрузчика

К сожалению, камера MJSXJ03HL на стоковой прошивке не поддерживает прерывание загрузки через отправку комбинации клавиш. По этой причине прерывание загрузки и получение доступа к консоли загрузчика будет призводиться нами вручную. Для этого необходимо будет замкнуть некоторые контакты чипа памяти. О том, как это сделать, прочтите здесь. Внимательно изучите приведенный выше мануал, найдите чип памяти и нужные контакты, приготовьте то, чем будете замыкать контакты. Все манипуляции придется производить достаточно быстро. ВНИМАНИЕ!!! Всю ответственность за производимые вами действия принимаете на себя! Далее последовательность действий по получению доступа к консоли загрузчика:

  1. Соедините камеру с UART-переходником
  2. Соедините UART-переходник c USB портом компьютера.
  3. Запустите терминал на компьютере, убедитесь что он видит UART-переходник
  4. Приготовьтесь замкнуть контакты
  5. Подайте питание на плату
  6. В окне терминала должен появиться лог загрузки
  7. Замкните контакты чипа памяти (Это нужно сделать спустя 0,5-1 сек после подачи питания)
  8. Загрузка должна прерваться. Контакты можно разомкнуть.
  9. Если вы все сделали правильно, на экране появится консоль U-boot c символом # и возможностью ввода.
  10. Введите help чтобы вывести список команд, присутствующих в загрузчике

К сожалению производитель для данной камеры сильно граничил возможности U-boot, это создаст нам серию препятствий в дальнейшем, пока мы не прошьем U-boot от OpenIPC. Но сперва нам следует сохранить стоковую прошивку камеры.


Сохранение заводской прошивки

Внимание! Не пропускайте этот пункт! Бэкап заводской прошивки позволит вам восстановить работоспособность устройства, если вдруг что-то пойдет не так.

Нам понадобятся:

  • Камера в разобранном виде с подключенным UART
  • Компьютер
  • SD карта емкостью не менее 16 Мб Предварительно рекомендуется ознакомиться с исходной статьей

ВНИМАНИЕ! В ходе следующих манипуляций вся информация с SD карты окажется недоступной, а самой картой нельзя будет пользоваться до форматирования! Все данные, находящиеся на карте будут безвозвратно утеряны!

Карту необходимо вставить в слот камеры. UART-переходник должен быть присоединен к компьютеру, а программа-терминал запущена.

  1. Прерываем загрузку камеры путем замыкания контактов, попадаем в консоль загрузчика.
  2. Если SD карта была вставлена после прерывания загрузки, выполните mmc rescan
  3. Для начала очистим требуемое пространство для записи туда дампа исходной прошивки:
mmc dev 0
mmc erase 0x10 0x8000
  1. Теперь вам надо скопировать содержимое прошивки из микросхемы флэш-памяти в оперативную память камеры. Для этого очистите участок оперативной памяти, получите доступ к микросхеме флэш-памяти и скопируйте весь объем флэш-памяти в очищенное пространство оперативной памяти. После чего сохраните скопированные данные из оперативной памяти на карту. Команды вставлять построчно!
mw.b 0x80600000 ff 0x1000000
sf probe 0
sf read 0x80600000 0x0 0x1000000
mmc write 0x80600000 0x10 0x8000

где 0x80600000 - Стартовый адрес для Ingenic T31N.

Извлеките карту из камеры и вставьте в компьютер с ОС Linux. Используя команду dd, скопируйте данные с карты в бинарный файл на диске компьютера.

dd bs=512 skip=16 count=32768 if=/dev/sdc of=./fulldump.bin

Внимание! Точка монтирования sdc может отличаться (sda, sdb), в зависимости от подключенного оборудования вашего компьютера.


Прошивка

Генерация прошивки

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

ВНИМАНИЕ! Lite версия рекомендуется! Все приведенные далее манипуляции описалы для Lite версии

Заполните Требуемые поля и укажите свой MAC адрес.

изображение

Сгенерируйте прошивку. Внимательно изучите страницу с прошивкой и инструкциями. К сожалению, производитель не добавил в заводской загрузчик программу tftp, следовательно шить нашу прошивку мы будем по частям и вручную. Перейдите в раздел В качестве альтернативы прошивайте прошивку OpenIPC по частям. и загрузите двоичный файл загрузчика по ссылке. У вас должен получиться бинарный файл u-boot-t31n-universal.bin. Не закрывайте страницу с инструкциями. Она нам позже еще понадобится.

Поместите полученный файл на свою SD карту. ВНИМАНИЕ! Если вы используете ту же самую карту памяти, что и в прошлом пункте, предварительно отформатируйте ее в Файловой системе Fat32 c таблицей MBR (MS-DOS). Не используйте таблицу GPT! Если вы используете ОС Windows - это самое обычное форматирование. Просто подключите карту памяти и Windiows сама предложит ее отформатировать.


Прошивка загрузчика (UBoot)

Итак, мы имеем нашу камеру, подключенную к UART, в слот которой вставлена карта памяти, отформатированная в Fat32 c бинарным файлом загрузчика на ней. На всякий случай выполним

mmc rescan

и дополнительно проверим, что вы все сделали правильно

fatls mmc 0:1

Должны выйти данные вашей карты памяти. Если вышли какие-либо ошибки, не продолжайте до тех пор, пока они не будут устранены! В противном случае перепрошивка камеры будет возможно только на специальном оборудовании.

В начале введем переменные окружения командой setenv

setenv baseaddr 0x80600000
setenv flashsize 0x1000000

Заводской загрузчик не поддерживает сохранение переменных, поэтому если камера была перезагружена, вводить придется по-новой.

Теперь приступаем к самому ответственному моменту - прошивке U-Boot. Вставляйте команды построчно! Внимательно следите, чтобы команды не возвращали ошибок! Не продолжайте, если что-то пойдет не так, не пробуйте перезагрузить камеру, попросите помощи в нашем Телеграм-канале

mw.b ${baseaddr} 0xff 0x50000
sf probe 0
sf erase 0x0 0x50000
fatload mmc 0:1 ${baseaddr} u-boot-t31n-universal.bin
sf write ${baseaddr} 0x0 ${filesize}

Если всё прошло успешно, то у вас теперь новый загрузчик от OpenIPC, поддерживающий все необходимые команды. Скомандуйте reset в консоли загрузчика, камера перезагрузится. Теперь загрузку камеры можно прерывать нажатием комбинации Ctrl+C


Установка OpenIPC

Теперь, когда у нас есть загрузчик с нужным набором команд, мы можем прошить остальную часть прошивки. Вернитесь на страницу с инструкциями, которую мы получили в пункте Генерация прошивки Далее в разделе Flash OpenIPC Linux kernel and root filesystem Загрузите архив по ссылке Download OpenIPC Firmware (Ultimate) bundle В нем вы найдете 4 файла: образ корневой ФС и ядро, а также контрольные суммы к ним. Разархивируйте их на вашу карту памяти и поместите ее в слот камеры.

Далее:

  1. Подключаем UART, запускаем терминал!
  2. Подаем питание на камеру и быстро останавливаем загрузку нажатием Ctrl+C. Попадаем в консоль загрузчика
  3. Проверяем доступ к карте памяти
mmc rescan

4)Вводим переменные окружения и сохраняем их:

setenv baseaddr 0x80600000
setenv flashsize 0x1000000
saveenv
  1. Переназначаем разделы ПЗУ. Несмотря на то, что у нас 16Mb памяти, использование такой разметки в сочетании с Lite версией позволит получить больше свободного пространства.
run setnor8m

После исполненния программы камера перезагрузится.

  1. Прошиваем ядро (Команды вводятся построчно!)
mw.b 0x80600000 0xff 0x200000
fatload mmc 0:1 0x80600000 uImage.t31n
sf probe 0; sf lock 0;
sf erase 0x50000 0x200000; sf write 0x80600000 0x50000 ${filesize}
  1. Прошиваем корневую файловую систему (Команды вводятся построчно!)
mw.b 0x80600000 0xff 0x500000
fatload mmc 0:1 0x80600000 rootfs.squashfs.t31n
sf probe 0; sf lock 0;
sf erase 0x250000 0x500000; sf write 0x80600000 0x250000 ${filesize}
  1. Скомандуем reset и камера перезагрузится с новой прошивкой.

Если вы все сделали верно, в окне терминала появится:

Welcome to OpenIPC
openipc-t31 login: 

Введите логин root , вход без пароля

изображение

В полученном поле для ввода скомандуйте

firstboot

Поздравляем с успешной установкой OpenIPC!


Настройка

Предварительная настройка через SD карту

ВНИМАНИЕ! Используйте отдельную SD карту для базовых настроек или удаляйте содержимое папки autoconfig после данного шага!

Нам потребуется:

  • Компьютер с картридером
  • Карточка MicroSD
  • Камера

ВНИМАНИЕ!!! После данной процедуры все настройки камеры будут удалены! Если это неприемлимо, или у вас не имеется MicroSD карты - выполните настройку вручную

Скачайте на компьютер и распакуйте на карту памяти содержимое папки flash

Содержимое папки должно быть распаковано в корневой каталог, а структура каталогов и файлов должна быть сохранена!

Отредактируйте файл wlan0, лежащий по пути ~/autoconfig/etc/network/interfaces.d - замените SSID и PASSWORD на параметры Вашей точки доступа.

Вставьте карту памяти в камеру, подайте питание. Камера в автоматическом режими выполнит все предварительные настройки и перезагрузится.

После этих манипуляций сеть должна появиться. Войдите в веб-интерфейс и выполните настройки, как описано в статье.

ВНИМАНИЕ! Не забудьте извлечь карту памяти и удалить папку autoconfig или замените карту памяти!

Завершение.

Теперь вы можете управлять камерой через SSH и Web-интерфейс. Аккуратно отсоедините провода от платы. Выполниите сборку камеры. Помните, камера собирается легко, не стоит прикладывать силу. Будьте внимательны и не повредите вашу камеру.

Успехов в использовании OpenIPC!