Доступ к ip-камере DONGJIA по консоли

Вопросы по восстановлению, настройке, апгрейду, прошивкам и т.п.
solegs
Новичок
Сообщения: 28
Зарегистрирован: 09 мар 2016, 09:12

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение solegs » 11 мар 2016, 11:37

iTuneDVR писал(а):...
А что ты ожидал увидеть?
Дамп снял?
Ожидал просто приглашения ввести логин - оно и есть. А тут ещё что-то сыпется в консоль, мешает. Вот и не знаю, это нормально или как? :unknown:

Дамп пока не снял, для это же нужно войти в шелл, если не ошибаюсь. А я пароль рута ещё не сбросил, пока не пойму, как это тут делается - это хотя и линукс, но явно не центос! ))) На данный момент лишь удалось зайти в U-Boot. Как говорил С. Е. Лец - "Ну вот, и пробил ты головой стену. А что ты будешь делать в соседней камере??" ...Ищу в нете инфу, как сбросить пароль рута в Монтависте... :Search:

solegs
Новичок
Сообщения: 28
Зарегистрирован: 09 мар 2016, 09:12

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение solegs » 11 мар 2016, 17:02

...Что-то или я не там ищу, или сбросить можно, только заменив полностью прошивку (ядро линукса)... А где его взять?? На сайте Ti нашёл SDK, там можно скомпилить ядро и загрузить его через тфтп. Но лучше было бы, конечно, найти готовое. И хорошо бы, чтоб улучшенное, а то имеющееся в камере в ю-буте даже с флешкой не может работать, урезано оно, видите ли...
В общем, пара вопросов -
1) как сохранить имеющуюся прошивку на случай, если новая не понравится или не подойдёт?
2) где взять новую прошивку?
3) может, кто-то всё же знает, как сбросить пароль рута в Монтависте из консоли, не меняя прошивки, и поделится этим?...

Пока же мне удалось прервать загрузку двумя способами, первый - по приглашению нажать любую клавишу и тут же попасть в ю-бут, и второй - посылать много раз брейк (просто Ctrl-C тоже годится) и тогда на каком-то этапе линукс загружается не до конца, а появляется приглашение вида [ (none) login: ] . (что это???) ; впрочем, тут тоже никакие логины-пароли не подошли пока...

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение sergvl » 11 мар 2016, 17:23

"по приглашению нажать любую клавишу и тут же попасть в ю-бут" дай команду Help - получишь список команд ядра. Потом введи команду "printenv" там будет информация настроек u boot.

solegs
Новичок
Сообщения: 28
Зарегистрирован: 09 мар 2016, 09:12

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение solegs » 11 мар 2016, 17:37

Это уже делал, первое, что ввёл там - "?" ))))

Вот вывод принтэнва:

Код: Выделить всё


DM368 IPNC :>printenv
bootdelay=1
baudrate=115200
bootfile="uImage"
ethaddr=00:01:02:03:f5:1f
filesize=F8B000
fileaddr=82000000
ipaddr=192.168.1.25
serverip=192.168.1.201
bootcmd=nand read 0x82000000 0x700000 0x1100000;nboot 0x80700000 0 0x500000;bootm 0x80700000
bootargs=mem=48M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M ip=192.168.0.168:192.168.0.111:255.255.255.0:::off eth=08:06:46:E6:04:1E
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.4 (Jul 24 2014 - 21:38:26) DM368-IPNC-1.0.1

Environment size: 495/131068 bytes
DM368 IPNC :>

Интересно, что ни одного из указанных в выводе айпишников в настройках сети нет и вручную мною не вводилось... Да и макадреса другие какие-то...

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение sergvl » 11 мар 2016, 17:52

Это настройки u boota, далее на комп устанавливаешь программу tftp сервер с IP адресом 192.168.1.201 после чего можно будет сливать дамп прошивки. И выложи листинг Help и начала загрузки чтобы определить какая микросхема памяти.

iTuneDVR

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение iTuneDVR » 11 мар 2016, 17:58

help вывод еще дай.
В моём варианте команды все односторонние, только загружают и ничего не выгружают.
Про SDK с Ti ты полез в дебри и там такого не надо.
Образ, если получится снять из u-boot, изучается и там воможно...
Может быть можно будет отдельную область сбросить или же....
В моём варианте NAND flash и наверное приедтся дублировать программатором, потому как то, что вытащил немного пока ставит в тупик ;)

solegs
Новичок
Сообщения: 28
Зарегистрирован: 09 мар 2016, 09:12

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение solegs » 11 мар 2016, 18:01

Вывод начала загрузки до ю-бута и хелп( что-то не вижу команд копирования/выгрузки на тфтп, только команды загрузки с него...):

Код: Выделить всё

DM36x initialization passed!
TI UBL Version: 1.50
Booting Catalog Boot Loader
BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
   DONE
Jumping to entry point at 0x81080000.


U-Boot 1.3.4 (Jul 24 2014 - 21:38:26) DM368-IPNC-1.0.1

I2C:   ready
DRAM:  128 MB
NAND:  NAND device: Manufacturer ID: 0x01, Chip ID: 0xf1 (Unknown NAND 128MiB 3,3V 8-bit)
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
128 MiB
In:    serial
Out:   serial
Err:   serial
ARM Clock :- 432MHz
DDR Clock :- 340MHz
Thinklife
Ethernet PHY: GENERIC @ 0x00
Hit any key to stop autoboot:  0
DM368 IPNC :>
DM368 IPNC :>
DM368 IPNC :>?
?       - alias for 'help'
askenv  - get environment variables from stdin
autoscr - run script from memory
base     - print or set address offset
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
cmp      - memory compare
coninfo - print console devices and information
cp       - memory copy
crc32    - checksum calculation
dhcp    - invoke DHCP client to obtain IP/boot params
echo    - echo args to console
fsinfo  - print information about filesystems
fsload  - load binary file from a filesystem image
go      - start application at address 'addr'
help    - print online help
icrc32  - checksum calculation
iloop   - infinite loop on address range
imd     - i2c memory display
iminfo  - print header information for application image
imm     - i2c memory modify (auto-incrementing)
imw     - memory write (fill)
imxtract- extract a part of a multi-image
inm     - memory modify (constant address)
iprobe  - probe to discover valid I2C chip addresses
itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop     - infinite loop on address range
ls      - list files in a directory (default /)
md       - memory display
mii     - MII utility commands
mm       - memory modify (auto-incrementing)
mtest    - simple RAM test
mw       - memory write (fill)
nand - NAND sub-system
usage:test
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm       - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
saves   - save S-Record file over serial line
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version
DM368 IPNC :>

iTuneDVR

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение iTuneDVR » 11 мар 2016, 18:13

У меня на TIGRIS-TI-S13M http://tigris-cctv.ru/ip/4902-2" onclick="window.open(this.href);return false;

Изображение

Код: Выделить всё

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2016.03.11 18:10:31 =~=~=~=~=~=~=~=~=~=~=~=
DM365_297 initialization passed!
Booting TI User Boot Loader
	UBL Version: 1.65
	UBL Flashtype: NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000019.
   DONE
Jumping to entry point at 0x81080000.


U-Boot 1.3.4 (Aug  9 2013 - 00:26:09)

I2C:   ready
DRAM:  128 MB
NETVIEW-1 NAND:  NAND device: Manufacturer ID: 0x01, Chip ID: 0xf1 (Unknown NAND 128MiB 3,3V 8-bit)
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
128 MiB
In:    serial
Out:   serial
Err:   serial
Ethernet PHY: INST36X @ 0x00
Hit any key to stop autoboot:  1  0 
NETVIEW IPNC:>help
?       - alias for 'help'
askenv  - get environment variables from stdin
autoscr - run script from memory
base	 - print or set address offset
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp	- boot image via network using BootP/TFTP protocol
cmp	 - memory compare
coninfo - print console devices and information
cp	 - memory copy
crc32	 - checksum calculation
dhcp	- invoke DHCP client to obtain IP/boot params
echo    - echo args to console
fsinfo	- print information about filesystems
fsload	- load binary file from a filesystem image
go      - start application at address 'addr'
help    - print online help
icrc32  - checksum calculation
iloop   - infinite loop on address range
imd     - i2c memory display
iminfo  - print header information for application image
imm     - i2c memory modify (auto-incrementing)
imw     - memory write (fill)
imxtract- extract a part of a multi-image
inm     - memory modify (constant address)
iprobe  - probe to discover valid I2C chip addresses
itest	- return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop	 - infinite loop on address range
ls	- list files in a directory (default /)
md	 - memory display
mii     - MII utility commands
mm	 - memory modify (auto-incrementing)
mtest	 - simple RAM test
mw	 - memory write (fill)
nand - NAND sub-system
nboot   - boot from NAND device
nfs	- boot image via network using NFS protocol
nm	 - memory modify (constant address)
ping	- send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
saves   - save S-Record file over serial line
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version
NETVIEW IPNC:>
NETVIEW IPNC:>
NETVIEW IPNC:>
NETVIEW IPNC:>printenv
bootdelay=1
baudrate=115200
bootfile="uImage"
ethaddr=00:00:1B:00:00:10
setboot=setenv bootargs $(bootargs) video=dm36x:output=$(videostd)
filesize=1BB4000
fileaddr=82000000
ipaddr=192.168.1.12
bootcmd=nboot 0x80700000 0 0x700000;bootm 0x80700000
bootargs=console=ttyS0,115200n8 noinitrd rw ip=192.168.1.134:192.168.1.1::::: root=/dev/mtdblock3 rw rootfstype=cramfs mem=48M eth=00:00:1B:00:00:10
serverip=192.168.1.166
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.4 (Aug  9 2013 - 00:26:09)

Environment size: 502/262140 bytes
NETVIEW IPNC:>
По сути тоже самое и tftpboot или nfs работают в одну сторону.
Последний раз редактировалось iTuneDVR 11 мар 2016, 18:21, всего редактировалось 3 раза.

solegs
Новичок
Сообщения: 28
Зарегистрирован: 09 мар 2016, 09:12

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение solegs » 11 мар 2016, 18:17

Получается, у меня ю-бут тоже односторонний... Вот поэтому и хочется полноценной прошивки. Если не найду, придётся в СДК лезть))

iTuneDVR

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение iTuneDVR » 11 мар 2016, 18:26

solegs писал(а):Получается, у меня ю-бут тоже односторонний... Вот поэтому и хочется полноценной прошивки. Если не найду, придётся в СДК лезть))
Прошивку надо просить у схожего производителя и пробовать.
Может быть и стоит лезть в SDK, если в этом что-то понимаешь.
Ядро я и так достал и поглядел. Выделился comfig.gz, но есть и нбансы

А по тигрису, все фотки по тут
http://vk.com/album221982133_229765617" onclick="window.open(this.href);return false;


Походу у тигриса всё на TI. Дали проблемную камеру TI-VP2M. http://tigris-cctv.ru/ip/5603-2" onclick="window.open(this.href);return false;
Затыкается в одном месте, а прошивки на руках нет.
Отдал обратно ссылаясь на 5-ти летнюю гарантию на девайс ;)

solegs
Новичок
Сообщения: 28
Зарегистрирован: 09 мар 2016, 09:12

Re: Доступ к ip-камере DONGJIA по консоли

Сообщение solegs » 12 мар 2016, 18:39

Усё, готово!.. Я теперь знаю пароль рута. :Yahoo!:

Что было сделано:

Для удобства манипулирования с параметрами загрузки ядра я изменил формирование строки "bootargs", собирая её из нескольких частей:
Вот мой немного доработанный принтэнв с готовой для нормальной загрузки строкой "бутаргс"

Код: Выделить всё

DM368 IPNC :>printenv
baudrate=115200
bootfile="uImage"
ethaddr=00:01:02:03:f5:1f
filesize=F8B000
fileaddr=82000000
bootcmd=nand read 0x82000000 0x700000 0x1100000;nboot 0x80700000 0 0x500000;bootm 0x80700000
ipaddr=172.22.33.93
serverip=172.22.33.92
netmask=255.255.255.0
gatewayip=172.22.33.1
addargs=setenv bootargs mem=48M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M eth=08:06:46:E6:04:1E
addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
addinit=setenv bootargs ${bootargs} init=/bin/sh
bootargs=mem=48M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M eth=08:06:46:E6:04:1E ip=172.22.33.93:172.22.33.92:172.22.33.1:255.255.255.0h
bootdelay=3
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.4 (Jul 24 2014 - 21:38:26) DM368-IPNC-1.0.1

Environment size: 827/131068 bytes
Здесь "bootargs" составлена из двух строк "addargs" и "addip" командой "run addargs; run addip;"

"run addargs;" формирует начало строки "bootargs", а "run addip;" дописывает к ней инфу по айпи-адресам самой камеры, тфтп-сервера, шлюза, маски, имени хоста - берёт их из заранее созданных соответствующих строк.
Теперь, чтобы при загрузке можно было зайти в режим инициализации, мимо проверки логина-пароля рута, достаточно выполнить команды:
Формируем строку бутаргс без айпи, они пока не нужны, и дописываем в конец строки загрузки текст "init=/bin/sh"

Код: Выделить всё

DM368 IPNC :>run addargs; run addinit;
Проверяем, всё ли правильно получилось:

Код: Выделить всё

DM368 IPNC :>printenv bootargs

bootargs=mem=48M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M eth=08:06:46:E6:04:1E init=/bin/sh
Строка в порядке. Для удобства я установил время ожидания нажатия эникея в 3 сек. Теперь сохраняем сделанное командой "saveenv" и перезагружаем камеру командой "reset".

...И попадаем в консоль камеры! ))

Проверяем, где хранится хэш пароля рута командами "cat /etc/passwd" и "cat /etc/shadow" . В моей камере нужная строка нашлась в файле pssswd:
root:abNRiWU6DU8m.:0:0:root:/root:/bin/sh

Как-либо изменить пароль рута не получилось, система почему-то оказалась в ридонли режиме. Ну да и не надо, у нас есть строка с хэшем! Копируем её в файл "passw" на компе с линуксом. И просим Джона расшифровать её (точнее, подобрать пароль, хэш которого будет совпадать с имеющимся):

Код: Выделить всё

:~$ echo root:abNRiWU6DU8m.:0:0:root:/root:/bin/sh > passw
:~$ john passw
Loaded 1 password hash (descrypt, traditional crypt(3) [DES 128/128 SSE2-16])
Press 'q' or Ctrl-C to abort, almost any other key for status
Warning: MaxLen = 13 is too large for the current hash type, reduced to 8
 (немного ждём, Джон работает - не долго, хэш короткий, значит, и пароль небольшой...)
tl789            (root)
1g 0:00:04:55 3/3 0.003379g/s 4074Kp/s 4074Kc/s 4074KC/s tm8wt..tl78A
Use the "--show" option to display all of the cracked passwords reliably
Session completed

:~$ john --show passw
root:tl789:0:0:root:/root:/bin/sh

1 password hash cracked, 0 left
Вуа-ля! Пароль подобран! tl789 - фантазия у китайцев не ахти )))

Теперь нужно снова перезагрузить камеру и войти в u-Boot, чтобы убрать из строки bootargs текст инициализации и дописать её айпишниками. Не забудьте про "saveenv" перед ребутом:

Код: Выделить всё

DM368 IPNC :>run addargs; run addip;
DM368 IPNC :>printenv bootargs
bootargs=mem=48M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,16M eth=08:06:46:E6:04:1E ip=172.22.33.93:172.22.33.92:172.22.33.1:255.255.255.0f
DM368 IPNC :>saveenv
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x240000 -- 100% complete.
Writing to Nand... done
DM368 IPNC :>reset
Но просто так перезагрузиться командой "reboot" не выйдет, всё из-за этого ридонли... Если камера под рукой, то можно просто питание ей передёрнуть и всё. Если удалённо, то "усиленной" командой "shutdown -r -n -f now"
Камера загружается, вводим логин и полученный пароль - и мы в консоли с правами рута! 8)
Последний раз редактировалось solegs 12 мар 2016, 18:57, всего редактировалось 3 раза.


Ответить

Вернуться в «Восстановление и настройка»