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