Zugriff auf serielle Konsole bei neueren INSTAR-Kameras z.B. IN-8015 Full HD

Zum Thema Flashen der Firmware via serielle Konsole gibt es für ältere Kameras mehrere Videos bei Youtube. Leider trifft diese Beschreibung für neuere Modelle nicht zu. Ich habe bei der o.g. Kamera die serielle Konsole verbunden und mich kurz nach dem Starten mit dem Drücken einer Taste auf das System geschaltet. Dort kann ich via TFTP eine Firmware-Datei runterladen, gewünscht ist „uImage“. Leider finde ich keine Beschreibung welche Datei uImage sein soll- das normale Firmware-Image als pkg-Datei? So habe ich es versucht. Die Datei wird auch mit dem Befehl „tftp“ auf die Kamera runtergeladen. Allerdings kann ich nur rätseln was dann eingegeben werden muss, um die Firmware auch zu flashen. Darüber hinaus erschließt sich es mir nicht wie das Device des lokalen Dateisystems benannt ist.

Vielleicht kann hier jemand Aufklärung leisten.

Danke und Gruß
RX7

Guten Abend, für die Bastler unter euch. Das sind die möglichen Befehle auf der Konsole:

U-Boot 2010.06 (May 12 2016 - 17:35:04)

Check spi flash controller v350... Found
Spi(cs1) ID: 0xC8 0x40 0x18 0xC8 0x40 0x18
Spi(cs1): Block:64KB Chip:16MB Name:"GD25Q128"
Check Nand Flash Controller v610 ... found
Special NAND id table Version 1.36
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found!!!
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
hisilicon # help
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
ddr     - ddr training function
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
getinfo - print hardware information
go      - start application at address 'addr'
help    - print command description/usage
loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
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
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
tftp    - tftp  - download or upload image via network using TFTP protocol
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
hisilicon #

Manche Fragen kann man sich auch selber beantworten, hier die Infos über das Root-Device:

hisilicon # printenv
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
netmask=255.255.255.0
bootfile="uImage"
mdio_intf=rmii
phy_addr=0
bootargs=mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:320K(boot),1856K(kernel),14208K(rootfs)
bootcmd=sf probe 0;sf read 0x82000000 0x50000 0x1D0000;bootm 0x82000000
serverip=192.168.1.7
ipaddr=192.168.1.8
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (May 12 2016 - 17:35:04)

Environment size: 460/65532 bytes

Es hat dann wohl das Device /dev/mtdblock2

Und hier der Grund warum ich das veranstalte- folgender Fehler erscheint beim Bootvorgang und die Kamera startet neu:

ptz motor: maxrange: hor=500 ver=110 zoom=0
motor: max left.
motor: max up.
VI Interrupt error
umount: tmpfs busy - remounted read-only
umount: can't remount tmpfs read-only
The system is going down NOW!

Ich vermute ein Fehler beim tmpfs ?! Update: Hat vermutlich nichts mit dem tmpfs zu tun- eher die Meldung „VI Interrupt error“?

Btw. ein „Login“ würde mir auch noch fehlen:

INSTAR-FULLHD login:

Ich konnte jetzt mit den Befehlen printenv, setenv und saveenv das Environment bzw. Die Boot-Argumente anpassen und zwar auf:

setenv bootargs init=/bin/sh  mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:320K(boot),1856K(kernel),14208K(rootfs)
# saveenv

Ergebnis: Das Startup wird abgebrochen und ich habe eine Shell :wink:

Nachdem ich dann das Skript /etc/init.d/rcS ausgeführt habe, ist die Kamera wieder via Web-Interface erreichbar und funktioniert. Sie führt keinen Neustart aus :wink: Vielleicht hat ja jemand eine Idee woran der Neustart liegen könnte.

Als erste Maßnahme werde ich jetzt die Firmware erneut flashen und schauen ob das was bringt. Update: Nein, das System hat zwar alles neu geschrieben aber damit ist der Neustart-Fehler nicht behoben :frowning:

Das wars erstmal mit den heutigen Forschungen…