Dahua (Baugleich mit Goliath) 2-Draht-Türsprechsystem mit IP -eure Erfahrungengen ?

Vollzitat entfernt by stoney
hallo
ist leider nicht möglich, da ich ja den Bootloader über den TFTP oder Uart in den Flash hochladen muss, der Flash aber nicht initialisiert wird.
Bin mit Linux nicht so verraut, sonst könnte ich die Datei ja auch in den Rom laden und von da ausführen was aber meine Fachkenntnisse in Linux etwas übersteigt.
Hoffe das da jemand etwas Fit ist und mir ein Paar Tipps geben kann.

Trotzdem Vielen Dank für deine Antwort
 
Zuletzt bearbeitet von einem Moderator:
Bei meinem VTH1550CH ist es definitiv nicht möglich über das ConfigTool die deutsche Firmware von Goliath zu flashen.
Hier bricht das Tool sofort mit einer Fehlermeldung ab. Keine Ahnung, weshalb es bei einigen funktioniert und
bei anderen wiederum nicht.
Möglicherweise ja auf Grund von Hardwareunterschieden(?)

Der Link von Allodo hat mich aber weitergebracht. Die dort beschriebene Variante (über TFTP) funktionierte bei mir auch
beim VTHxxxx.

Dazu die Firmware entpacken und die commands.txt entsprechend anpassen und wie beschrieben flashen.

@Turboferkel
Probier doch mal die Variante aus
 
Zuletzt bearbeitet:
Hab zwar noch nicht großartig nachgeforscht, aber aus meiner Erfahrung kann man den neuen,alten Bootloader (U-BOOT) "dm365_ubl_boot_16M.bin.img" ins RAM (über tftp, x- oder zmodem) hochladen und dann über den laufenden drüberflashen.
Hab die Kommandos nicht im Kopf, aber hab das schon ein paar mal auf anderer HW gemacht.
 
Das Hauptproblem ist das ich keine settings setzen kann und deshalb auch nicht über TFTP hochladen kann.
1. die settings werden im Flash gespeichert und nach den reboot sind sie wieder wech, denn nach dem setzen der settings müsste ich einen reboot machen damit diese aktiv werden,
also sprich kein appauto,kein sip, kein lip usw.

2. alles was ich Hochlade landet im Flash und dieser wird leider nicht initialisiert.
mir bleibt nur die Variante die Datei in den RAM zu kopieren und von dort aus zu booten, allerdings bin ich da etwas Planlos wie ich dies im Detail anstelle.

also Dateien bekomme ich ja Über UART und Hypertherm hochgeladen aber wie bekomme ich die Datei in den Ram und sage der VTH das sie von dort Booten soll bzw. dass er den korrekten Bootloader wieder installiert...?
 
Zuletzt bearbeitet:
Das Hauptproblem ist das ich keine settings setzen kann und deshalb auch nicht über TFTP hochladen kann.
Bzgl. Settings: Die Box hat ja eine IP, welche beim Start automatisch vergeben wird. Sniffer mal mit, was wirklich am ETH-Port rausgeht und passe deine Umgebung entsprechend an.

Problem ist, dass U-BOOT immer sehr spezifisch ist, je nachdem welcher HW und wer den Bootloader kompiliert hat.
Ich kenne die Kommandos nicht, die der U-BOOT dir aktuell anbietet.
Ich würde aber mal folgendes Probieren.

Neuen Bootloader ins RAM übertragen und starten:
Code:
loadb 0x81a00000
<<< File Übertragen >>>>
bootm 0x81a00000
Wenn das Teil dann mit dem alten U-BOOT (DM365) hochkommt, dann kannst du das ganze ins Flash schreiben:
Code:
loadb 0x81a00000
<<< File Übertragen >>>>
flwrite
Kann sein, dass die Adressen ohne 0x angegeben werden müssen, liegt am U-Boot wie gesagt.

Hier wird das Thema auch durchgekaut, vielleicht findest du etwas, das dich weiterbringt:
https://ipcamtalk.com/threads/dahua-firmware-mod-kit-modded-dahua-firmware.13102/page-15
 
Danke für eure Tipps, aber ich habe schon recht viel getestet unter anderem eine tftp Verbindung zu bekommen was mir nicht gelingt ...auch kann ich Dateien übertragen, nur leider bekomme ich sie nicht "installiert", da die Befehle Standard mäßig erst alles in den Flash (flwrite) speichern und beim nächsten Booten installieren wenn ich das richtig sehe.


Code:
printenv
bootargs=console=ttyS0,115200n8 root=/dev/mtdblock4 rootfstype=cramfs ,nolock mem=80M video=davincifb:vid0=OFF:vid1=OFF:eek:sd0=OFF:eek:sd1=OFF
bootcmd=fsload;bootm 80800000
bootdelay=3
baudrate=115200
ethaddr=00:01:5b:00:33:44
ipaddr=10.12.10.28
serverip=10.12.9.27
bootfile="uImage"
dh_keyboard=1
appauto=1
single=0
ID=000000000000000000
da=protect off all;tftp 81a00000 dm365_ubl_boot_16M.bin.img;flwrite
dc=tftp 81a00000 custom-x.cramfs.img; flwrite
dr=tftp 81a00000 romfs-x.cramfs.img; flwrite
du=tftp 81a00000 user-x.cramfs.img; flwrite
dd=tftp 81a00000 data-x.cramfs.img; flwrite
dw=tftp 81a00000 web-x.cramfs.img; flwrite
up=tftp 81a00000 update.img; flwrite
tk=tftp 80800000 uImage; bootm 80800000
gionum=22.25
gioval=1.1
dh_com=0
autosip=192.168.254.254
autolip=192.168.1.108
autogw=192.168.1.1
autonm=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.6 (jerry) (Dec 25 2012 - 20:02:09)
filesize=3EFC0

Environment size: 926/16380 bytes
DHBOOT#

DHBOOT# reset          
Checking DDR......OK                

UBL Version: 1.43t(DM368 12/25/2012)                                
 Oscillator: 24MHZ              
 ARM Rate: 432 MHZ              
 DDR Rate: 340 MHZ              
start watchdog          
 BootMode: SPI          
Starting SPI Memory Copy...                        
DONE


U-Boot 1.3.6 (jerry) (Dec 25 2012 - 20:02:09)                                          

DRAM:  128 MB          
SF: Got idcode c2 20 18                    
*** Warning - probe error, using default environment                        

*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Ethernet PHY: GENERIC @ 0x05,id:221513
total gio 2
gio[22]=1
gio[25]=1
Environment SPI flash not initialized
Error when Got kernel from SPI flash!
TFTP from server 192.168.254.254; our IP address is 192.168.1.108; sending throu
gh gateway 192.168.1.1
Filename 'upgrade_info_7db780a713a4.txt'.
Load address: 0x80100000
Loading: WARN: emac_send_packet: No link

Retry count exceeded.
Failed to get info.txt
==>use default images
Wrong Image Format for bootm command
ERROR: can't get kernel image!
DHBOOT#

und wenn ich etwas hochlade dann sieht das Ergebnis dann so aus,ist jetzt mal ein Beispiel von vielen...

Code:
DHBOOT# protect off all;loadb 81a00000 dm365_ubl_boot_16M.bin.img;flwrite
## Ready for binary (kermit) download to 0x81A00000 at 115200 bps...
## Total Size      = 0x0003efc0 = 257984 Bytes
## Start Addr      = 0x81A00000
start_value = 0xa1aced00

## Checking Image at 0x81a00000 ...
   Header CRC Checking ... OK
   Image Name:   uboot
   Image Type:   ARM Linux Firmware (uncompressed)
   Data Size:    257920 Bytes = 251.9 kB
   Load Address: 02000000
   Entry Point:  02040000
   Data CRC Checking ... OK
Programing start at: 0x00000000
Environment SPI flash not initialized
Saving Image to Flash ...
Environment SPI flash not initialized
done.
Environment SPI flash not initialized
DHBOOT#

jemand vielleicht noch Ideen?

//edit by stoney: [CODE] TAGS [/CODE] gesetzt und Formartierung entfernt
 
Zuletzt bearbeitet von einem Moderator:
@Turboferkel

Hast du es mal so durchgeführt wie in dem Link oben. Sieht zumindest, laut deinem Log, nicht so aus.

Alle Firmwaredateien in den Ordner "root" entpacken und "failed.txt" sowie "success.txt" anlegen.


Die "commands.txt" mal ohne die "dx=" für alle zu flashenden FW-Dateien so anpassen:

tftp 0x82000000 custom-x.cramfs.img; flwrite
...usw.

Anschließend die "Commands.bat" ausführen um die "upgrade_info_7db780a713a4.txt" entsprechend zu ändern.
Zum Schluß flashen mit "TFTPServer.bat". Evtl. noch die Firewall anpassen bzw. kurzzeitig ausschalten.
 
## Checking Image at 0x81a00000 ...
Header CRC Checking ... OK
Image Name: uboot
Image Type: ARM Linux Firmware (uncompressed)
Data Size: 257920 Bytes = 251.9 kB
Load Address: 02000000
Entry Point: 02040000
Data CRC Checking ... OK
Programing start at: 0x00000000
Environment SPI flash not initialized
Saving Image to Flash ...
Environment SPI flash not initialized
done.
Environment SPI flash not initialized
Du hattest wohl von Anfang an recht: Wenn der U-BOOT den Flash (von dem er ja auch "selbst" geladen wird) nicht erkennt, dann kann man da nix draufflashen.
Hab mal ein wenig geforscht: DM368 ist praktisch nur ein DM365 mit 432 anstatt 300 MHz Taktung.
Warum dieser den SPI Flash nicht erkennen kann ist aber komisch.
Der Speicherchip-Typ im installierten U-BOOT passt wohl nicht zu deiner HW.
Da hilft dann wohl nur mehr JTAG.

Wenn du mir ein hochaufgelöstes Bild von der CPU Platine machst, dann kann ich vielleicht erkennen, wo der JTAG Header ist.
Die CPU dürfte in jedem Fall ein TMS320DM365 DaVinci von Texas Instruments sein. JTAG Kabel dafür kosten ~30€.

Vorher probier aber mal dich mit dem "sf" Kommando zu spielen:
Code:
sf probe 0 xxxx 
sf erase 0
...
 
Zuletzt bearbeitet:
@Turboferkel
...
Die "commands.txt" mal ohne die "dx=" für alle zu flashenden FW-Dateien so anpassen:
.....
Die command.txt zu ändern ohne "dx=,du= usw. ist eine Idee die ich noch nicht getestet habe,werde dann auch noch mal den
log von Whireshark mit Posten.Was muss in die "failed.txt" und "success.txt" rein und wo hin müsste sie hochgeladen werden?

Die Befehle sf probe und sf erase sind leider nicht ausführbar (unknow command). Die haben in der VTH1550chw-2
einen STM8S003k3 drin und haben diesen auch schon ausgelesen über eine swim Schnittstelle mit ST-link, allerdings so
wie ich dass verstanden habe kann ich den Bootloader so nicht auslesen bzw. kopieren.
Denn mein Gedanke war auch den STM8 von der einen VTH auszulesen und auf die andere zu kopieren.

Denke werde Donnerstag oder Freitag dazu kommen die Sachen mal zu loggen bzw. dass mit command.txt zu testen.

Danke euch....

//edit by stoney: Zitat gekürzt
 
Das Linux auf der VTH läuft definitiv nicht auf dem STM. Der ist ein Microcontroller, welcher wohl für die Ansteuerung des Displays verwendet wird.
Das Betriebsystem läuft sicher auf dem DM365, ansonsten würden die Ausgaben vom Bootloader gar nicht passen.
Schau mal nach, welche Kommandos dein U-BOOT für die Ansteuerung des SPI-Flashes zur Verfügung stellt.
 
Ah okay, Denkfehler meinerseits... dachte weil sie dort eine SWIM Schnittstelle rausgezogen haben... Werd mal versuchen nachher noch schnell die Kommandos zu Posten.

### Zusammenführung Doppelpost by stoney ###

So hier mal die Kommandos..

Code:
DHBOOT# 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
cpll        - chang PLL multiplier
crc32    - checksum calculation
dhcp    - invoke DHCP client to obtain IP/boot params
echo    - echo args to console
erase   - erase FLASH memory
flinfo  - print FLASH memory information
flwrite - write data into FLASH memory
fsload  - load binary file from a filesystem image
gpio init        - set gionum to gioval
go      - start application at address 'addr'
help    - print online help
flwrite - write hwid into FLASH memory
id      - set product id and save to flash
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest    - return true/false on integer compare
lip      - set local ip address but not save to flash
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
mac      - set mac address and save to flash
md    - memory display
meminit        - memset 0xcc
memsize        - set mem size
mii     - MII utility commands
mm    - memory modify (auto-incrementing)
mtest    - simple RAM test
mw    - memory write (fill)
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
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
recover default env
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
sip      - set server ip address but not save to flash
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version
DHBOOT#

und anbei noch einen Screen vom TFTP

upload_2018-6-20_17-50-33.png

upload_2018-6-20_17-50-53.png

upload_2018-6-20_17-51-13.png

//edit by stoney [CODE]TAG[/CODE] gesetzt und von Voll- zu Miniaturansicht geändert
 
Zuletzt bearbeitet von einem Moderator:
Hier mal mein Screen vom TFTP. So sieht bei mir ein erfolgreicher TFTP Flashvorgang aus.
Zuerst "TFTPServer.bat" ausführen dann Display anschalten.
Vielleicht mal deine Netzwerkeinstellungen, so wie im Link oben anpassen 192.168.254.254 usw.
"failed.txt" und "success.txt" brauchst du nur als leere Dateien erstellen.
 

Anhänge

  • TFTP_Log.png
    TFTP_Log.png
    52.8 KB · Aufrufe: 34
Was gibt dir ein
Code:
flinfo
aus?
Wenn der SPI-Flash nicht initialisiert ist, dann könntest du ihn evtl. mit
Code:
erase
formatieren.

Sollten die IP's (.8 und .108) übrigens nicht im 192.168.1.x Netz sein? Bei dir sind sie im 192.168.0.x Netz.
Bzgl. Wireshark: Ist die MAC auf die die filterst die von deiner VTH?

Evtl. könntest du auch mal versuchen den Kernel (uImage) mal per kermit ins RAM zu laden (loadb) und dann starten (bootm).
Vielleicht startet das Teil soweit hoch, dass du einen Schritt weiter kommst.
 
Vollzitat entfernt by stoney
Ja die Mac war die der VTH.
Dass Netz kann ich temporäre ändern in der VTH, nur nicht speichern. Kann auch über UART von der VTH Pingen kommt auf dem Rechner an wie man auf dem Whireshark Screen sieht, gibt nur keine Rückmeldung zur VTH.
Hatte auch schon mit der IP die mir original vom Bootloader der VTH vorgegebn wurde probiert,alles dass selbe Ergebnis.

"flinfo" und "erase" passiert nichts , sprich keine Fehlermeldung, aber auch 0-Reaktion

dass uImage habe ich schon in den RAM geladen und Bootm ausgeführt ,aber leider kein Ergebnis

Werde mir nachher mal eine Lupe nehmen und versuchen die Chips auf der Platine zu identifizieren.

[Edit Novize: Beiträge zusammen geführt: Posting 2]

Hab mal geschaut was so chips drauf ist auf der Platine:

1, "QCA6410-al3c" scheint für die Powerline Funktion zu sein
2. "STM8S003k3" da sagtest du ja dass dieser für das Display ist
3."ALC5642 H4C62H1" der scheint für Audio zu sein
4."RS3080" denke ist für die RS485 Schnitstelle

Hab ich doch fast die Rückseite der Platine vergessen

5. DM365zce21
6. K4T1G16
7. KSZ8041NL

@dietdol
die IP-s- hatte ich angepasst und die failed.txt und success.txt auch eingefügt , brachte leider kein Ergebnis.
Firewall auch ausgemacht , 2.ten Rechner, über Switch und direkt am Rechner, originale Bootloader IP,angepasste IP, jedesmal die IP-s am Rechner und TFTP-Tool angepasst.......
alles nichts gebracht.
 
Zuletzt bearbeitet von einem Moderator:
Der DM365zce21 ist die CPU, K4T1G16 ist der dazugehörige RAM Baustein. KSZ8041NL ist ein ETH-PHY.
Der bei dir verbaute Flash ist wohl ein MX25L12805D (16 MB), dieser wird auch erkannt (SF: Got idcode c2 20 18).
"flinfo" und "erase" passiert nichts , sprich keine Fehlermeldung, aber auch 0-Reaktion
Was sagt die Hilfe zu den Kommandos ("help flinfo" und "help erase")?

Dein Hauptproblem ist weiter, dass der Flash nicht initialisiert wird. Da wird dir jeglicher TFTP/Kermit/... Upload von Files nichts bringen, wenn die Partitionen nicht ins Flash kopiert werden können.
Und wenn dir die vom U-BOOT für die Bearbeitung des Flash' zur Verfügung stehenden Kommandos nichts helfen, dann hilft wohl wirklich nur JTAG.

Eine Idee hätte ich noch: Ist da nicht auch ein SD-CARD Reader verbaut? Wenn ja, vielleicht kannst du den Bootloader überreden, davon zu booten.
 
Zuletzt bearbeitet:
Die Idee mit der SD-Card hatte ich auch schon allerdings fehlt mir dazu der Plan wie ich das anstelle, denn aus dem "DHBOOT" Menü komme ich nicht raus...denn dafür muss appauto=0 gesetzt werden und neugestartet werden , aber da der Flash nicht initializiert kann ich die gesetzten Werte leider nicht speichern.

DHBOOT# help flinfo
flinfo - print FLASH memory information
DHBOOT# help flinfo
DHBOOT# flinfo
DHBOOT#

DHBOOT# help erase
erase - erase FLASH memory
DHBOOT# erase
DHBOOT#


das mit der SD-Card könnte man doch vielleicht hierrübermachen

"bootargs=console=ttyS0,115200n8 root=/dev/mtdblock4 rootfstype=cramfs ,nolock mem=80M video=davincifb:vid0=OFF:vid1=OFF:eek:sd0=OFF:eek:sd1=OFF"


oder

"bootcmd=fsload;bootm 80800000"


Ich muss mal nochmal unqualifiziert fragen , dass nachfolgende Datenblatt ist richtig?
upload_2018-6-23_10-12-7.png upload_2018-6-23_10-12-34.png
[Bilder geschrumpft - ist doch wesentlich besser lesbar - speziell mit kleinem Bildschirm ;)]
 
Zuletzt bearbeitet von einem Moderator:
Turboferkel,
wir haben nun mehrfach hinter Dir her geräumt. Bitte beachte diese Änderungen in Zukunft:
1. Keine Vollzitate, da wir schon wissen, was wir soeben erst gelesen haben
2. Bilder als Miniatur einbinden, dann bleiben die Beiträge erheblich besser lesbar
3. Keine Beiträge aneinander reihen, für Nachträge gibt es immer noch die Edit-Funktion, solange noch keiner in der Zwischenzeit geantwortet hat.
 
Hallo zusammen,

ich plane, mir die 2-Draht Variante zuzulegen und damit meine 40 Jahre alte Siedle Anlage zu ersetzen. Die liegenden Kabel kann ich leider nicht tauschen und geben aus meiner Sicht keine Möglichkeit auf die normale IP Variante zu gehen.

Ich habe hier schon vieles gelesen, einen Punkt aber noch nicht wirklich gefunden.
Ist es möglich, einen Innen-Monitor der normalen IP Variante in das Konstrukt der 2-Draht Installation einzubinden, sprich da wo ich zwar ein Netzwerk habe, aber keine direkte 2-Draht-Anbindung möglich ist, trotzdem eine weitere Innenstation zu haben?

Wäre cool, wenn das ginge. Vielleicht hat sich einer von Euch damit schon mal beschäftigt.

Gruß
vw_noise
 
Hallo

du kannst dir doch die VTO2000a-2 (Außenstation),die VTH1550CHW-2 (Innenstation/Monitor) und VTNC3000A (Powerline Switch) ....Monitore kannst du über die 2 Draht-Technik verbinden ....ich glaube aber nur maximal 3 ....müsstest du aber noch mal genau lesen.....

upload_2018-6-28_13-1-48.png
 
Wie ist denn die Qualität der Ton-/Bildübertragung über 2-Draht (VTO->VTH) im Vergleich zu IP?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.