mirror of https://github.com/OpenIPC/wiki.git
fix typos. wrap to fit 80 chars.
parent
3da38417d8
commit
11cea8425f
|
@ -8,17 +8,18 @@
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
_Пример маркировки процессора Hisilicon Hi3518EV100. Значимые символы обведены жёлтым._
|
_Пример маркировки процессора Hisilicon Hi3518EV100.
|
||||||
|
Значимые символы обведены жёлтым._
|
||||||
|
|
||||||
### Шаг 2. Скачайте прошивку.
|
### Шаг 2. Скачайте прошивку.
|
||||||
|
|
||||||
Найдите свой тип процессора на странице <https://github.com/OpenIPC/firmware>
|
Найдите свой тип процессора на странице <https://github.com/OpenIPC/firmware>
|
||||||
и убедитесь, что для него есть готовая прошивка. Если вам повезло, и такая прошивка
|
и убедитесь, что для него есть готовая прошивка. Если вам повезло, и такая
|
||||||
существует -- скачайте её на свой компьютер.
|
прошивка существует -- скачайте её на свой компьютер.
|
||||||
|
|
||||||
### Шаг 3. Установите и настройте сервер TFTP.
|
### Шаг 3. Установите и настройте сервер TFTP.
|
||||||
|
|
||||||
TFTP расшифровывается как Trivial File Transer Protocol. Как следует уже из
|
TFTP расшифровывается как Trivial File Transfer Protocol. Как следует уже из
|
||||||
названия, это очень простой протокол, предназначенный для передачи файлов по
|
названия, это очень простой протокол, предназначенный для передачи файлов по
|
||||||
компьютерной сети. TFTP не поддерживает аутентификацию. Его код настолько прост
|
компьютерной сети. TFTP не поддерживает аутентификацию. Его код настолько прост
|
||||||
и компактен, что TFTP клиенты используются в сетевых и встроенных системах для
|
и компактен, что TFTP клиенты используются в сетевых и встроенных системах для
|
||||||
|
@ -26,8 +27,8 @@ TFTP расшифровывается как Trivial File Transer Protocol. Ка
|
||||||
|
|
||||||
#### Если на вашем компьютере Linux
|
#### Если на вашем компьютере Linux
|
||||||
|
|
||||||
Если на вашем компьютере установлен Linux, то здесь всё просто. Скомилированный
|
Если на вашем компьютере установлен Linux, то здесь всё просто. Скомпилированный
|
||||||
и готовый к использованию пакет сервера TFTP уже лежит в репозитарии, и вам
|
и готовый к использованию пакет сервера TFTP уже лежит в репозитории, и вам
|
||||||
только надо установить его и настроить:
|
только надо установить его и настроить:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -37,7 +38,7 @@ sudo systemctl restart tftpd-hpa.service
|
||||||
```
|
```
|
||||||
|
|
||||||
Теперь у вас есть свой TFTP сервер, который работает с файлами в директории
|
Теперь у вас есть свой TFTP сервер, который работает с файлами в директории
|
||||||
`/srv/tftp`. Разверните архив с прошивкой, скачаный в п.2 в эту директорию.
|
`/srv/tftp`. Разверните архив с прошивкой, скачанный в п.2 в эту директорию.
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo tar -C /srv/tftp/ -xvf openipc.*.tgz
|
sudo tar -C /srv/tftp/ -xvf openipc.*.tgz
|
||||||
|
@ -45,23 +46,62 @@ sudo tar -C /srv/tftp/ -xvf openipc.*.tgz
|
||||||
|
|
||||||
### Шаг 4. Подключение к порту UART.
|
### Шаг 4. Подключение к порту UART.
|
||||||
|
|
||||||
Для подключения к камере через порт UART вам понадобится [адаптер](https://www.google.com/search?q=ftdi+usb+ttl) для создания подключения с серийного порта вашего компьютера.
|
Для подключения к камере через порт UART вам понадобится [адаптер][ftdi] для
|
||||||
|
создания подключения с серийного порта вашего компьютера.
|
||||||
|
|
||||||
__Прежде чем подключать адартер к камере, убедитесь, что переключатель уровня рабочего напряжения на адартере установлен в 3.3 вольта!__ Иногда для этого достаточно выставить соответствующее положение джампера, иногда надо перепаять ключ на контактной площадке. Некоторые адартеры работают только с напряжением 5 вольт. В этом случае вам понадобится дополнительный [конвертер](https://google.com/search?q=logic+level+converter+3.3v+5v) уровня сигналов TTL, включенный между адартером и портом UART камеры.
|
__Прежде чем подключать адаптер к камере, убедитесь, что переключатель уровня
|
||||||
|
рабочего напряжения на адаптере установлен в 3.3 вольта!__ Иногда для этого
|
||||||
|
достаточно выставить соответствующее положение джампера, иногда надо перепаять
|
||||||
|
ключ на контактной площадке. Некоторые адаптеры работают только с напряжением 5
|
||||||
|
вольт. В этом случае вам понадобится дополнительный [конвертер][tllc] уровня
|
||||||
|
сигналов TTL, включенный между адаптером и портом UART камеры.
|
||||||
|
|
||||||
Один из нужных вам контактов порта UART -- `GND`. Его легко определить, проверив мультиметром неразрывность цепи на любой другой известный контакт `GND`. Нашли? Тогда остаётся найти ещё два контакта -- `RX` и `TX`, они используются для получения и передачи данных, соответственно. Соедините `GND` камеры с контактом `GND` адаптера, подключите USB разъём адаптера к порту USB вашего компьютера, запустите на компьютере программу подключения к серийному порту и установите соединение с адаптером. Используйте скорость подключения 115200 bps. После этого соедините контакт `RX` адаптера с предполагаемым контактом `TX` порта UART. Подайте питание на камеру. Если вы угадали правильно, на экране появится лог загрузки. Если же экран остался чистым -- повторите процедуру с другим свободным контактом UART. После того, как вы определили порт `RX`, подключите порт `TX` адаптера к оставшемуся свободному контакту порта UART. Попробуйте прервать загрузку камеры нажатием комбинации клавиш на клавиатуре компьютера. Если все получилось -- поздравляем, вы получили доступ к камере.
|
Один из нужных вам контактов порта UART -- `GND`. Его легко определить, проверив
|
||||||
|
мультиметром неразрывность цепи на любой другой известный контакт `GND`. Нашли?
|
||||||
|
Тогда остаётся найти ещё два контакта -- `RX` и `TX`, они используются для
|
||||||
|
получения и передачи данных, соответственно. Соедините `GND` камеры с контактом
|
||||||
|
`GND` адаптера, подключите USB разъём адаптера к порту USB вашего компьютера,
|
||||||
|
запустите на компьютере программу подключения к серийному порту и установите
|
||||||
|
соединение с адаптером. Используйте скорость подключения 115200 bps. После этого
|
||||||
|
соедините контакт `RX` адаптера с предполагаемым контактом `TX` порта UART.
|
||||||
|
Подайте питание на камеру. Если вы угадали правильно, на экране появится ло
|
||||||
|
загрузки. Если же экран остался чистым -- повторите процедуру с другим свободным
|
||||||
|
контактом UART. После того как вы определили порт `RX`, подключите порт `TX`
|
||||||
|
адаптера к оставшемуся свободному контакту порта UART. Попробуйте прервать
|
||||||
|
загрузку камеры нажатием комбинации клавиш на клавиатуре компьютера. Если всё
|
||||||
|
получилось -- поздравляем, вы получили доступ к камере.
|
||||||
|
|
||||||
Четвертым контактом порта UART может быть `VCC`. Он используется для подачи напряжения во время прошивки камеры на заводе. Мы настоятельно советуем не подключать питание камеры через `VCC` порт UART, а использовать для этого штатный разъем питания.
|
Четвертым контактом порта UART может быть `VCC`. Он используется для подачи
|
||||||
|
напряжения во время прошивки камеры на заводе. Мы настоятельно советуем не
|
||||||
|
подключать питание камеры через `VCC` порт UART, а использовать для этого
|
||||||
|
штатный разъем питания.
|
||||||
|
|
||||||
### Шаг 5. Загрузчик.
|
### Шаг 5. Загрузчик.
|
||||||
|
|
||||||
Перегрузите камеру и постарайтесь получить доступ к консоли загрузчика нажав требуемую комбинацию клавиш между моментом начала загрузки и до старта ядра Линукс. В большинстве случаев это комбинация `Ctrl-C`. Реже -- `Esc` или просто любая клавиша. Но некоторые камеры требуют более экзотические комбинации. Читайте надписи на экране во время загрузки. Если это не помогло -- попросите помощи на нашем канале Телеграм. Скорее всего, мы уже имели дело с подобной камерой.
|
Перегрузите камеру и постарайтесь получить доступ к консоли загрузчика нажав
|
||||||
|
требуемую комбинацию клавиш между моментом начала загрузки и до старта ядра
|
||||||
|
Линукс. В большинстве случаев это комбинация `Ctrl-C`. Реже -- `Enter`, Esc`
|
||||||
|
или просто любая клавиша. Но некоторые камеры требуют более экзотические
|
||||||
|
комбинации. Читайте надписи на экране во время загрузки. Если внимательное
|
||||||
|
чтение лога не помогло -- попросите помощи на нашем канале Телеграм. Скорее
|
||||||
|
всего, мы уже имели дело с подобной камерой.
|
||||||
|
|
||||||
Начиная с этого момента мы настоятельно советуем вам вести записи всего, что вы делаете. Включите сохранение логов сессии в вашем консольном клиенте. Но для еще большей надежности создайте текстовый файл на вашем компьютере и заносите в него все выполняемые команды и ответы системы.
|
Начиная с этого момента мы настоятельно советуем вам вести записи всего, что
|
||||||
|
вы делаете. Включите сохранение логов сессии в вашем консольном клиенте. Но для
|
||||||
|
еще большей надежности создайте текстовый файл на вашем компьютере и заносите в
|
||||||
|
него все выполняемые команды и ответы системы.
|
||||||
|
|
||||||
После того, как вы получили доступ в консоль загрузчика, наберите `help` и проверьте список доступных вам команд. Убедитесь, что в списке команд присутствует `tftp`.
|
После того как вы получили доступ в консоль загрузчика, наберите `help` и
|
||||||
|
проверьте список доступных вам команд. Убедитесь, что в списке команд
|
||||||
|
присутствует `tftp`.
|
||||||
|
|
||||||
Проверьте настройки системного окружения командой `printenv`. Вас интересуют настройки сетевого подключения: `ipaddr`, `netmask` и `serverip`. Первые два параметра задают IP адрес и сетевую маску вашей камеры для подключния в локальную сеть. Третий параметр -- IP адрес сервера TFTP, с которого и на который будут передаваться файлы командой tftp. Установите нужные значения командой `setenv` (используйте IP адреса и сетевую маску соответствующие вашей сети). Сохраните установленные значения командой `saveenv`.
|
Проверьте настройки системного окружения командой `printenv`. Вас интересуют
|
||||||
|
настройки сетевого подключения: `ipaddr`, `netmask` и `serverip`. Первые два
|
||||||
|
параметра задают IP адрес и сетевую маску вашей камеры для подключения в
|
||||||
|
локальную сеть. Третий параметр -- IP адрес сервера TFTP, с которого и на
|
||||||
|
который будут передаваться файлы командой tftp. Установите нужные значения
|
||||||
|
командой `setenv` (используйте IP адреса и сетевую маску соответствующие вашей
|
||||||
|
сети). Сохраните установленные значения командой `saveenv`.
|
||||||
|
|
||||||
```
|
```
|
||||||
setenv ipaddr 192.168.1.253
|
setenv ipaddr 192.168.1.253
|
||||||
|
@ -72,7 +112,9 @@ saveenv
|
||||||
|
|
||||||
### Шаг 6. Сохранение заводской прошивки.
|
### Шаг 6. Сохранение заводской прошивки.
|
||||||
|
|
||||||
Большинство IP камер сегодня комплектуются чипами Nor или Nand флэш-памяти объемом 8 или 16 мегабайтов. Вы можете увидеть тип и размер установленной на вашей камере микросхемы в выводе лога загрузчика. Там будет что-то вроде этого:
|
Большинство IP камер сегодня комплектуются чипами Nor или Nand флэш-памяти
|
||||||
|
объемом 8 или 16 мегабайтов. Вы можете увидеть тип и размер установленной на
|
||||||
|
вашей камере микросхемы в выводе лога загрузчика. Там будет что-то вроде этого:
|
||||||
|
|
||||||
```
|
```
|
||||||
U-Boot 2010.06-svn (Oct 21 2016 - 11:21:29)
|
U-Boot 2010.06-svn (Oct 21 2016 - 11:21:29)
|
||||||
|
@ -84,7 +126,8 @@ Block:64KB Chip:16MB Name:"MX25L128XX"
|
||||||
SPI Nor total size: 16MB
|
SPI Nor total size: 16MB
|
||||||
```
|
```
|
||||||
|
|
||||||
Чтобы сохранить содержимое флэш-памяти в файл, необходимо сначала загрузить это содержимое в оперативную память.
|
Чтобы сохранить содержимое флэш-памяти в файл, необходимо сначала загрузить это
|
||||||
|
содержимое в оперативную память.
|
||||||
|
|
||||||
```
|
```
|
||||||
sf probe 0
|
sf probe 0
|
||||||
|
@ -92,7 +135,12 @@ mw.b 0x82000000 ff 0x1000000
|
||||||
sf read 0x82000000 0x0 0x1000000
|
sf read 0x82000000 0x0 0x1000000
|
||||||
```
|
```
|
||||||
|
|
||||||
Первая из приведенных выше команд инициализирует флэш-память, вторая очищает содержимое региона опертивной памяти с адреса 0x82000000 длиной 0x1000000 байт, подготавливая его для загрузки содержимого флэш-памяти, а затем третья считывает содержимое флэш-памяти начиная с адреса 0x0 и помещает его в подготовленный участок оперативной памяти. Остается только выгрузить данные из оперативной памяти в виде файла на сервер TFTP.
|
Первая из приведенных выше команд инициализирует флэш-память, вторая очищает
|
||||||
|
содержимое региона оперативной памяти с адреса 0x82000000 длиной 0x1000000
|
||||||
|
байтов, подготавливая его для загрузки содержимого флэш-памяти, а затем третья
|
||||||
|
считывает содержимое флэш-памяти начиная с адреса 0x0 и помещает его в
|
||||||
|
подготовленный участок оперативной памяти. Остается только выгрузить данные из
|
||||||
|
оперативной памяти в виде файла на сервер TFTP.
|
||||||
|
|
||||||
```
|
```
|
||||||
tftp 0x82000000 firmware-full.bin 0x1000000
|
tftp 0x82000000 firmware-full.bin 0x1000000
|
||||||
|
@ -106,3 +154,5 @@ _...to be continued._
|
||||||
|
|
||||||
|
|
||||||
[logo]: ../images/logo_openipc.png
|
[logo]: ../images/logo_openipc.png
|
||||||
|
[ftdi]: https://www.google.com/search?q=ftdi+usb+ttl
|
||||||
|
[ttlc]: https://google.com/search?q=logic+level+converter+3.3v+5v
|
||||||
|
|
Loading…
Reference in New Issue