Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. joedi

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 25
    • Best 20
    • Groups 1

    joedi

    @joedi

    Starter

    30
    Reputation
    30
    Profile views
    25
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    joedi Follow
    Starter

    Best posts made by joedi

    • RE: Steinel L600 CAM

      Telnet auf die L600

      So, ich habe, um weiter zu kommen, noch eine Lampe beim großen Buchhändler bestellt und gleich zerlegt:
      IMG_20190906_110837.jpg

      Dabei habe ich leider auch festgestellt, dass um das Kameramodul und die Lautsprecherplatine keine Dichtungen verbaut sind. Letztendlich liegen die nur im Regenschatten der Lampe und sind sonst für Spinnennester und dergleichen ein einladendes Plätzchen. 👎

      SoC ist also eindeutig ein HI3518 V200.

      Die mitgelieferte Firmware hat einen laufenden HTTP und RTSP Server.

      Als nächstes habe ich die SD Karte mit ext3 formatiert, die Lampe gestartet und danach auf die SD geschaut. Statt ext3 war nun ein korruptes ext2 auf der SD.

      ACHTUNG: die SD fällt schnell in die Kamera. Danach muss die ganze Lampe zerlegt werden, um die SD wieder herauszubekommen!!

      Zweiter Versuch: die SD mit FAT32 formatiert und ein ausführbares Script xm_autorun.sh in das Root-Verzeichnis der SD mit diesem Inhalt:

      #!/bin/sh
      
      echo "script had been startet" > /var/tmp/mmcblock0/test.txt
      /sbin/telnetd > /var/tmp/mmcblock0/telnetd1.log 2>&1 &
      dvrHelper /lib/modules /usr/bin/Sofia 127.0.0.1 9578 1 > /var/tmp/mmcblock0/dvrHelper.log 2>&1 & 
      sleep 10
      /sbin/telnetd > /var/tmp/mmcblock0/telnetd2.log 2>&1 &
      

      BINGO: der telnet port ist offen 👍
      Login root/xmhdipc

      LocalHost login: root
      Password:
      Welcome to Monitor Tech.
      

      Laufende Prozesse:

      ~ # ps
        PID USER       VSZ STAT COMMAND
          1 root      1412 S    init
          2 root         0 SW   [kthreadd]
          3 root         0 SW   [ksoftirqd/0]
          4 root         0 SW   [kworker/0:0]
          5 root         0 SW   [kworker/u:0]
          6 root         0 SW<  [khelper]
          7 root         0 SW   [kworker/u:1]
        212 root         0 SW   [sync_supers]
        214 root         0 SW   [bdi-default]
        215 root         0 SW<  [kintegrityd]
        217 root         0 SW<  [kblockd]
        225 root         0 SW   [spi0]
        228 root         0 SW   [spi1]
        236 root         0 SW   [khubd]
        238 root         0 DW   [kusbotg]
        249 root         0 SW<  [cfg80211]
        250 root         0 SW   [kworker/0:1]
        334 root         0 SW<  [rpciod]
        340 root         0 SW   [kswapd0]
        393 root         0 SW   [fsnotify_mark]
        399 root         0 SW<  [nfsiod]
        403 root         0 SW<  [cifsiod]
        413 root         0 SW<  [crypto]
        470 root         0 SW   [romblock0]
        473 root         0 SW   [mtdblock0]
        478 root         0 SW   [romblock1]
        481 root         0 SW   [mtdblock1]
        486 root         0 SW   [romblock2]
        489 root         0 SW   [mtdblock2]
        494 root         0 SW   [romblock3]
        497 root         0 SW   [mtdblock3]
        502 root         0 SW   [romblock4]
        505 root         0 SW   [mtdblock4]
        510 root         0 SW   [romblock5]
        513 root         0 SW   [mtdblock5]
        652 root         0 SW<  [dwc_otg]
        657 root         0 SW<  [kpsmoused]
        671 root         0 SW   [cfinteractive]
        677 root         0 SW   [kworker/u:2]
        686 root         0 SW<  [deferwq]
        702 root      1072 S <  udevd --daemon
        759 root         0 SW   [mmcqd/1]
        783 root      1072 S <  udevd --daemon
        785 root      1072 S <  udevd --daemon
        971 root         0 SWN  [jffs2_gcd_mtd5]
       1197 root     19332 S    wlandaemon 0
       1199 root      2512 S    searchIp
       1216 root         0 SW   [RTW_CMD_THREAD]
       1228 root      5540 S    dvrHelper /lib/modules /usr/bin/Sofia 127.0.0.1 9578
       1245 root      1700 S    wpa_supplicant -ieth2 -Dwext -c /mnt/mtd/Config/wpa.
       1246 root         0 SW   [flush-179:0]
       1247 root      193m S    /usr/bin/Sofia
       1264 root      1424 S    /sbin/telnetd
       1269 root      1424 S    udhcpc -i eth2 -s /usr/sbin/udhcpc.script
       1313 root      1420 S    -sh
       1316 root      1412 R    ps
      

      Folgendes wurde in die dvrHelper.log geschrieben:

      LibCrypto : g_cryptotype = 2
      dvrHelper version: Jan 27 2018
      Cannot connect with 127.0.0.1 to send log.
      macGuarder: Close telnetd Forever
      /usr/bin/Sofia is starting ...
      net/net.c(337) [EthNameValid]: pEthName == NULL!
      net/net.c(337) [EthNameValid]: pEthName == NULL!
      

      Ein telnetd Killer scheint also im drvHelper eingebaut zu sein.
      Sofia scheint eine Software ähnlich busybox zu sein, in die alles mögliche einpaketiert wurde.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      Prozessor Information

      /mnt/custom # cat /proc/cpuinfo
      Processor       : ARM926EJ-S rev 5 (v5l)
      BogoMIPS        : 269.10
      Features        : swp half thumb fastmult edsp java
      CPU implementer : 0x41
      CPU architecture: 5TEJ
      CPU variant     : 0x0
      CPU part        : 0x926
      CPU revision    : 5
      
      Hardware        : hi3518ev200
      Revision        : 0000
      Serial          : 0000000000000000
      

      Lauschende Netzwerkverbindungen

      ~ # netstat -nltup
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
      tcp        0      0 0.0.0.0:34567           0.0.0.0:*               LISTEN      1247/Sofia
      tcp        0      0 0.0.0.0:554             0.0.0.0:*               LISTEN      1247/Sofia
      tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1247/Sofia
      tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      1264/telnetd
      tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      1247/Sofia
      tcp        0      0 0.0.0.0:9530            0.0.0.0:*               LISTEN      1228/dvrHelper
      udp        0      0 0.0.0.0:34568           0.0.0.0:*                           1247/Sofia
      udp        0      0 255.255.255.255:34569   0.0.0.0:*                           1199/searchIp
      udp        0      0 0.0.0.0:38946           0.0.0.0:*                           1247/Sofia
      udp        0      0 0.0.0.0:49518           0.0.0.0:*                           1247/Sofia
      udp        0      0 0.0.0.0:35828           0.0.0.0:*                           1247/Sofia```
      

      Das Systemlog:

      ~ # dmesg
      Booting Linux on physical CPU 0
      Linux version 3.4.35 (qinxueye@xd-server-0001) (gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300) ) #84 Sat Mar 31 09:10:48 CST 2018
      CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
      CPU: VIVT data cache, VIVT instruction cache
      Machine: hi3518ev200
      Memory policy: ECC disabled, Data cache writeback
      On node 0 totalpages: 9472
      free_area_init_node: node 0, pgdat c04da218, node_mem_map c051a000
        Normal zone: 74 pages used for memmap
        Normal zone: 0 pages reserved
        Normal zone: 9398 pages, LIFO batch:1
      pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
      pcpu-alloc: [0] 0
      Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 9398
      Kernel command line: mem=37M console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
      PID hash table entries: 256 (order: -2, 1024 bytes)
      Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
      Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
      Memory: 37MB = 37MB total
      Memory: 32248k/32248k available, 5640k reserved, 0K highmem
      Virtual kernel memory layout:
          vector  : 0xffff0000 - 0xffff1000   (   4 kB)
          fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
          vmalloc : 0xc2800000 - 0xff000000   ( 968 MB)
          lowmem  : 0xc0000000 - 0xc2500000   (  37 MB)
          modules : 0xbf000000 - 0xc0000000   (  16 MB)
            .text : 0xc0008000 - 0xc0491000   (4644 kB)
            .init : 0xc0491000 - 0xc04af9b8   ( 123 kB)
            .data : 0xc04b0000 - 0xc04da940   ( 171 kB)
             .bss : 0xc04da964 - 0xc0519538   ( 251 kB)
      SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
      NR_IRQS:32
      VIC @fe0d0000: id 0x00641190, vendor 0x41
      sched_clock: 32 bits at 49MHz, resolution 20ns, wraps every 86767ms
      Console: colour dummy device 80x30
      Calibrating delay loop... 269.10 BogoMIPS (lpj=1345536)
      pid_max: default: 32768 minimum: 301
      Mount-cache hash table entries: 512
      Initializing cgroup subsys freezer
      CPU: Testing write buffer coherency: ok
      Setting up static identity map for 0x803717c0 - 0x80371818
      dummy:
      NET: Registered protocol family 16
      Serial: AMBA PL011 UART driver
      uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 5) is a PL011 rev2
      uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 30) is a PL011 rev2
      uart:2: ttyAMA2 at MMIO 0x200a0000 (irq = 25) is a PL011 rev2
      bio: create slab <bio-0> at 0
      SCSI subsystem initialized
      hi-spi-master hi-spi-master.0: with 1 chip select slaves attached
      hi-spi-master hi-spi-master.1: with 2 chip select slaves attached
      usbcore: registered new interface driver usbfs
      usbcore: registered new interface driver hub
      usbcore: registered new device driver usb
      cfg80211: Calling CRDA to update world regulatory domain
      Switching to clocksource timer0
      NET: Registered protocol family 2
      IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
      TCP established hash table entries: 2048 (order: 2, 16384 bytes)
      TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
      TCP: Hash tables configured (established 2048 bind 2048)
      TCP: reno registered
      UDP hash table entries: 256 (order: 0, 4096 bytes)
      UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
      NET: Registered protocol family 1
      RPC: Registered named UNIX socket transport module.
      RPC: Registered udp transport module.
      RPC: Registered tcp transport module.
      RPC: Registered tcp NFSv4.1 backchannel transport module.
      VFS: Disk quotas dquot_6.5.2
      Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
      squashfs: version 4.0 (2009/01/31) Phillip Lougher
      NFS: Registering the id_resolver key type
      jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
      fuse init (API version 7.18)
      msgmni has been set to 62
      Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
      io scheduler noop registered
      io scheduler deadline registered (default)
      io scheduler cfq registered
      brd: module loaded
      Check Flash Memory Controller v100 ...  Found.
      SPI Nor(cs 0) ID: 0xef 0x40 0x17
      spi_general_qe_enable(345): Error: Disable Quad failed! reg: 0x2
      Block:64KB Chip:8MB Name:"W25Q64FV"
      CONFIG_CLOSE_SPI_8PIN_4IO = y.
      at xm_select_FlashProtMgr() index:0x0,name:Winbond,chipSize:0x800000.<<INFO>>
      at xm_setTB() g_SpiNorMFR:0xef,chipsize:0x800000 <No>.
      lk=>6, 0x400000.
      SPI Nor total size: 8MB
      6 cmdlinepart partitions found on MTD device hi_sfc
      6 cmdlinepart partitions found on MTD device hi_sfc
      at XMMtd_RegisterProtFreeRgn() index:0,offset:0x7b0000,size:0x50000.
      Creating 6 MTD partitions on "hi_sfc":
      0x000000000000-0x000000050000 : "boot"
      0x000000050000-0x0000003c0000 : "romfs"
      0x0000003c0000-0x000000640000 : "user"
      0x000000640000-0x000000760000 : "web"
      0x000000760000-0x0000007b0000 : "custom"
      0x0000007b0000-0x000000800000 : "mtd"
      himii: probed
      PPP generic driver version 2.4.2
      PPP BSD Compression module registered
      PPP Deflate Compression module registered
      PPP MPPE Compression module registered
      NET: Registered protocol family 24
      usbcore: registered new interface driver asix
      usbcore: registered new interface driver cdc_ether
      usbcore: registered new interface driver net1080
      usbcore: registered new interface driver cdc_subset
      usbcore: registered new interface driver zaurus
      usbcore: registered new interface driver cdc_ncm
      ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
      hiusb-ehci hiusb-ehci.0: HIUSB EHCI
      hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1
      hiusb-ehci hiusb-ehci.0: irq 15, io mem 0x100b0000
      hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00
      usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
      usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
      usb usb1: Product: HIUSB EHCI
      usb usb1: Manufacturer: Linux 3.4.35 ehci_hcd
      usb usb1: SerialNumber: hiusb-ehci
      hub 1-0:1.0: USB hub found
      hub 1-0:1.0: 1 port detected
      usbcore: registered new interface driver cdc_acm
      cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
      usbcore: registered new interface driver cdc_wdm
      Initializing USB Mass Storage driver...
      usbcore: registered new interface driver usb-storage
      USB Mass Storage support registered.
      dwc_otg: version 3.00a 10-AUG-2012
      Core Release: 3.10a
      Setting default values for core params
      Using Buffer DMA mode
      Periodic Transfer Interrupt Enhancement - disabled
      Multiprocessor Interrupt Enhancement - disabled
      OTG VER PARAM: 0, OTG VER FLAG: 0
      Dedicated Tx FIFOs mode
      mousedev: PS/2 mouse device common for all mice
      i2c /dev entries driver
      hisi_i2c hisi_i2c.0: Hisilicon [i2c-0] probed!
      hisi_i2c hisi_i2c.1: Hisilicon [i2c-1] probed!
      hisi_i2c hisi_i2c.2: Hisilicon [i2c-2] probed!
      TCP: cubic registered
      Initializing XFRM netlink socket
      NET: Registered protocol family 17
      NET: Registered protocol family 15
      lib80211: common routines for IEEE802.11 drivers
      lib80211_crypt: registered algorithm 'NULL'
      Registering the dns_resolver key type
      Warning: unable to open an initial console.
      VFS: Mounted root (cramfs filesystem) readonly on device 31:1.
      Freeing init memory: 120K
      usb 1-1: new high-speed USB device number 2 using hiusb-ehci
      usb 1-1: New USB device found, idVendor=0bda, idProduct=8179
      usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      usb 1-1: Product: 802.11n NIC
      usb 1-1: Manufacturer: Realtek
      mmc1: new high speed SDHC card at address 0001
      mmcblk0: mmc1:0001 SD16G 7.50 GiB
       mmcblk0:
      Hisilicon Media Memory Zone Manager
      Module himedia: init ok
      hi3518e_base: module license 'Proprietary' taints kernel.
      Disabling lock debugging due to kernel taint
      load sys.ko for Hi3518EV200...OK!
      load tde.ko ...OK!
      load region.ko ....OK!
      load vgs.ko for Hi3518EV200...OK!
      ISP Mod init!
      load viu.ko for Hi3518EV200...OK!
      load vpss.ko ....OK!
      load rc.ko for Hi3518EV200...OK!
      load venc.ko for Hi3518EV200...OK!
      load chnl.ko for Hi3518EV200...OK!
      load h264e.ko for Hi3518EV200...OK!
      load jpege.ko for Hi3518EV200...OK!
      load ive.ko for Hi3518EV200...OK!
      acodec inited!
      mipi_init
      init phy power successful!
      load hi_mipi driver successful!
      Hisilicon Watchdog Timer: 0.01 initialized. default_margin=60 sec (nowayout= 0, nodeamon= 1)
      RTL871X: module init start
      RTL871X: rtl8188eu v4.2.4_11771.20140710_beta
      RTL871X: build time: May 27 2016 17:22:25
      bFWReady == _FALSE call reset 8051...
      rtw_macaddr_cfg MAC Address  = d4:b7:61:7b:2d:b7
      RTL871X: rtw_ndev_init(eth2)
      usbcore: registered new interface driver rtl8188eu
      RTL871X: module init ret=0
      at24c16:========================================================
      receive ack err
      gpio_i2c_wread_24c16 0x33:ff
      at mtdchar_ioctl() <case XMMTD_GETLOCKVERSION> xmVersion:0x1001.
      phy_id 0xffff
      at mtdchar_ioctl() <case XMMTD_GETLOCKVERSION> xmVersion:0x1001.
      at XMMtd_removeExitedProc() Removed pid = 1195----netinit
      at mtdchar_ioctl() <case XMMTD_GETLOCKVERSION> xmVersion:0x1001.
      PHY: himii:01 - Link is Up - 10/Half
      ==> rtl8188e_iol_efuse_patch
      at mtdchar_ioctl() <case XMMTD_GETLOCKVERSION> xmVersion:0x1001.
      RTL871X: indicate disassoc
      RTL871X: set bssid:00:00:00:00:00:00
      RTL871X: set ssid [???????] fw_state=0x00000008
      RTL871X: set bssid:ae:fd:ce:a4:af:ca
      RTL871X: start auth
      RTL871X: auth success, start assoc
      RTL871X: assoc success
      RTL871X: send eapol packet
      RsvdPageNum: 8
      RTL871X: send eapol packet
      RTL871X: set pairwise key camid:4, addr:ae:fd:ca:67:5b:3c, kid:0, type:AES
      RTL871X: set group key camid:5, addr:ae:fd:ca:67:5b:3c, kid:2, type:AES
      at mtdchar_ioctl() <case XMMTD_GETLOCKVERSION> xmVersion:0x1001.
      at mtdchar_ioctl() <case XMMTD_GETLOCKVERSION> xmVersion:0x1001.
      Sofia uses obsolete (PF_INET,SOCK_PACKET)
      

      Dateisysteme:

      ~ # mount
      rootfs on / type rootfs (rw)
      /dev/root on / type cramfs (ro,relatime)
      proc on /proc type proc (rw,relatime)
      sysfs on /sys type sysfs (rw,relatime)
      tmpfs on /dev type tmpfs (rw,relatime)
      devpts on /dev/pts type devpts (rw,relatime,mode=600)
      /dev/mtdblock2 on /usr type squashfs (ro,relatime)
      /dev/mtdblock3 on /mnt/web type cramfs (ro,relatime)
      /dev/mtdblock4 on /mnt/custom type cramfs (ro,relatime)
      /dev/mtdblock5 on /mnt/mtd type jffs2 (rw,relatime)
      /dev/mem on /var type ramfs (rw,relatime)
      /dev/mem2 on /utils type ramfs (rw,relatime)
      usbfs on /proc/bus/usb type usbfs (rw,relatime)
      /dev/mtdblock2 on /mnt/custom/data/Fonts type squashfs (ro,relatime)
      dev/mmcblk0 on /var/tmp/mmcblock0 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
      
      
      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      Da ich die Toolchain und das SDK auch nach vielen Stunden nicht zum Laufen bringen konnte, habe ich fertige Binaries versucht.
      Quelle ist: http://archive.openwrt.org/backfire/10.03/orion/packages/

      Bisher hierin gefundene Tools, die auf der Kamera laufen:
      joe - Editor
      pure-ftpd - FTP Server
      wget-ssl - HTTP Client mit SSL-Unterstützung
      openssl - Bibliotheken für SSL

      Die Binaries aus den jeweiligen Paketen des oben angegebenen Links extrahieren und auf die SD in /bin speichern (Verzeichnis muss erstmals angelegt werden).

      Die Datei xm_autorun.sh:

      #!/bin/sh
      
      echo "script had been startet" > /var/tmp/mmcblock0/test.txt
      /sbin/telnetd 
      dvrHelper /lib/modules /usr/bin/Sofia 127.0.0.1 9578 1 > /var/tmp/mmcblock0/dvrHelper.log 2>&1 & 
      sleep 10
      /sbin/telnetd 
      mount /dev/mmcblk0 /opt/
      PATH=/opt/bin:$PATH
      CPLUS_INCLUDE_PATH=/opt/bin
      pure-ftpd &
      

      und schon hat man einen FTP Server auf der Kamera. Login: root : xmhdipc
      FTP nur im LAN verwenden und nicht über das Internet freigeben!!

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      Hallo,

      ich habe mir die Firmware genauer angeschaut:

      Was kann man sonst noch so herauslesen:

      • Falls es UART Anschlüsse gibt, sollten die auf 9600baud laufen
      • die Cam hat eine Config um einen NFS Server zu mounten
      • es gibt eine Autoupdate Konfiguration auf camlight-upgrade.steinel.de:9083
      • passwd Datei: root:$1$RYIwEiRA$d5iRRVQ5ZeRTrJwGjRy.B0:0:0:root:/:/bin/sh
      • telnetd, sh und busybox sind im ROM enthalten

      Das Firmwarefile ist ein ZIP.
      Darin befinden sich .img Dateien.

      user-x.cramfs.img

      /bin
      /bin/BurnHWID
      /bin/ProductDefinition
      /bin/Sofia
      /bin/Squirrel
      /bin/Squirrel/comm
      /bin/Squirrel/comm/CommBase
      /bin/Squirrel/comm/MainComm
      /bin/Squirrel/comm/Transparent.nut
      /bin/Squirrel/ptz
      /bin/Squirrel/ptz/MainPtz
      /bin/Squirrel/ptz/PELCOD.nut
      /bin/Squirrel/ptz/PELCOP.nut
      /bin/Squirrel/ptz/PtzBase
      /bin/Squirrel/rs485
      /bin/Squirrel/rs485/GPS.nut
      /bin/Squirrel/rs485/InteractCmd.nut
      /bin/Squirrel/rs485/MainRS485
      /bin/Squirrel/rs485/RS485Base
      /bin/Squirrel/rs485/Transparent.nut
      /bin/armbenv
      /bin/cgi
      /bin/dvrHelper
      /bin/dvrbox
      /bin/netinit
      /bin/searchIp
      /etc
      /etc/Wireless
      /etc/cgi
      /etc/loadmod
      /etc/loadpublic
      /lib
      /lib/libXMcrypto.so
      /lib/libdnvqe.so
      /lib/libdvr.so
      /lib/libhive_AEC.so
      /lib/libhive_AGC.so
      /lib/libhive_ANR.so
      /lib/libhive_EQ.so
      /lib/libhive_GAIN.so
      /lib/libhive_HDR.so
      /lib/libhive_HPF.so
      /lib/libhive_MBC.so
      /lib/libhive_RES.so
      /lib/libhive_RNR.so
      /lib/libhive_common.so
      /lib/libiconv.so
      /lib/libslice_trans.so
      /lib/libupvqe.so
      /lib/modules
      /lib/modules/8188eu.ko
      /lib/modules/acodec.ko
      /lib/modules/at24c.ko
      /lib/modules/clkcfg_hi3518e.sh
      /lib/modules/demo_config.sh
      /lib/modules/extdrv
      /lib/modules/extdrv/adv_7179.ko
      /lib/modules/extdrv/piris.ko
      /lib/modules/extdrv/pwm.ko
      /lib/modules/extdrv/sample_ist.ko
      /lib/modules/extdrv/sensor_i2c.ko
      /lib/modules/extdrv/sensor_spi.ko
      /lib/modules/extdrv/ssp_ili9341v_6bit.ko
      /lib/modules/extdrv/ssp_ili9342h_6bit.ko
      /lib/modules/extdrv/ssp_ota5182.ko
      /lib/modules/extdrv/tlv_320aic31.ko
      /lib/modules/hi3518e_adec.ko
      /lib/modules/hi3518e_aenc.ko
      /lib/modules/hi3518e_ai.ko
      /lib/modules/hi3518e_aio.ko
      /lib/modules/hi3518e_ao.ko
      /lib/modules/hi3518e_base.ko
      /lib/modules/hi3518e_chnl.ko
      /lib/modules/hi3518e_h264e.ko
      /lib/modules/hi3518e_isp.ko
      /lib/modules/hi3518e_ive.ko
      /lib/modules/hi3518e_jpege.ko
      /lib/modules/hi3518e_rc.ko
      /lib/modules/hi3518e_region.ko
      /lib/modules/hi3518e_sys.ko
      /lib/modules/hi3518e_tde.ko
      /lib/modules/hi3518e_venc.ko
      /lib/modules/hi3518e_vgs.ko
      /lib/modules/hi3518e_viu.ko
      /lib/modules/hi3518e_vpss.ko
      /lib/modules/hi_cipher.ko
      /lib/modules/hi_media.ko
      /lib/modules/hi_mipi.ko
      /lib/modules/hifb.ko
      /lib/modules/hiuser.ko
      /lib/modules/hn_config.sh
      /lib/modules/load3518e
      /lib/modules/load3518ev201
      /lib/modules/lowpower.sh
      /lib/modules/mmz.ko
      /lib/modules/pinmux_hi3518e.sh
      /lib/modules/sysctl_hi3518e.sh
      /lib/modules/wdt.ko
      /sbin
      /sbin/HWID
      /sbin/mnt
      /sbin/rtl_hostapd.conf
      /sbin/run_loop
      /sbin/udhcpc.script
      /sbin/udhcpd.conf
      /sbin/wep.conf
      /sbin/wpa_hide_ssid.conf
      /sbin/wpa_none.conf
      /sbin/wpa_wpa2.conf
      /sbin/wpa_wps.conf
      /sbin/xmprop
      /share
      /share/fonts
      /share/fonts/Font.bin
      /share/music
      /share/music/8407.pcm
      /share/music/8858.pcm
      /share/music/welcome.pcm
      

      in web-x.cramfs.img

      /1.jpg
      /11.jpg
      /16.jpg
      /161.jpg
      /25.jpg
      /251.jpg
      /36.jpg
      /361.jpg
      /4.jpg
      /41.jpg
      /64.jpg
      /641.jpg
      /9.jpg
      /91.jpg
      /DVR.htm
      /English.js
      /ForbitPlay.gif
      /ForbitRecord.gif
      /ForbitSubPlay.gif
      /Login.htm
      /SimpChinese.js
      /Talk.gif
      /addPreSet.jpg
      /addPreSet1.jpg
      /audio.jpg
      /audio1.jpg
      /back.GIF
      /bg.jpg
      /board.gif
      /bt.gif
      /config.js
      /delPreSet.jpg
      /delPreSet1.jpg
      /dlr.jpg
      /dm.jpg
      /editCruise.jpg
      /editCruise1.jpg
      /err.htm
      /err.jpg
      /failed.htm
      /full.jpg
      /full1.jpg
      /goCruise.jpg
      /goCruise1.jpg
      /goPreSet.jpg
      /goPreSet1.jpg
      /help.gif
      /index.htm
      /l_bgm.gif
      /l_bgmd.gif
      /labg.jpg
      /lbt.jpg
      /lib
      /lib/libdvr.so
      /lib/modules
      /lib/modules/hi3518e_adec.ko
      /lib/modules/hi3518e_aenc.ko
      /lib/modules/hi3518e_ai.ko
      /lib/modules/hi3518e_aio.ko
      /lib/modules/hi3518e_ao.ko
      /lib/modules/hi3518e_base.ko
      /lib/modules/hi3518e_chnl.ko
      /lib/modules/hi3518e_h264e.ko
      /lib/modules/hi3518e_isp.ko
      /lib/modules/hi3518e_ive.ko
      /lib/modules/hi3518e_jpege.ko
      /lib/modules/hi3518e_rc.ko
      /lib/modules/hi3518e_region.ko
      /lib/modules/hi3518e_sys.ko
      /lib/modules/hi3518e_tde.ko
      /lib/modules/hi3518e_venc.ko
      /lib/modules/hi3518e_vgs.ko
      /lib/modules/hi3518e_viu.ko
      /lib/modules/hi3518e_vpss.ko
      /lib/modules/hi_cipher.ko
      /logOut.gif
      /logo.gif
      /lr.jpg
      /m.css
      /m.jsp
      /m_dral.gif
      /m_dral.jpg
      /m_dram.gif
      /m_dram.jpg
      /m_drar.gif
      /m_drar.jpg
      /m_inTop.jpg
      /m_top.jpg
      /mb_bg.jpg
      /mb_bg2.jpg
      /mc.jpg
      /md5.js
      /ml.jpg
      /mr.jpg
      /mt.js
      /noPlay.gif
      /noRecord.gif
      /noSubPlay.gif
      /noTalk.gif
      /play.gif
      /plcb11.jpg
      /plcbl.jpg
      /plcbr.jpg
      /record.gif
      /recordAll.jpg
      /recordAll1.jpg
      /reminder.html
      /result.html
      /sal.gif
      /sal1.gif
      /sar.gif
      /sar1.gif
      /sas.gif
      /sks.gif
      /snap.jpg
      /snap1.jpg
      /startAll.jpg
      /startAll1.jpg
      /stopAll.jpg
      /stopAll1.jpg
      /stopCruise.jpg
      /stopCruise1.jpg
      /stopRecordAll.jpg
      /stopRecordAll1.jpg
      /subPlay.gif
      /t.jpg
      /t1t.jpg
      /t2t.jpg
      /top.jpg
      /tx1.jpg
      /tx2.jpg
      /tx3.jpg
      /tx4.jpg
      /yt+.gif
      /yt+1.gif
      /yt-.gif
      /yt-1.gif
      /yt1.jpg
      /yt11.jpg
      /yt2.jpg
      /yt21.jpg
      /yt3.jpg
      /yt31.jpg
      /yt4.jpg
      /yt41.jpg
      /yt5.jpg
      /yt51.jpg
      /yt51a.jpg
      /yt51b.jpg
      /yt5a.jpg
      /yt5b.jpg
      /yt6.jpg
      /yt61.jpg
      /yt7.jpg
      /yt71.jpg
      /yt8.jpg
      /yt81.jpg
      /yt9.jpg
      /yt91.jpg
      /yta1.jpg
      /yta11.jpg
      /ytabg.jpg
      /yy1.jpg
      /yy11.jpg
      

      custom-x.cramfs.img

      /CustomConfig
      /CustomConfig/9530Disable
      /CustomConfig/AVEnc.custom
      /CustomConfig/Alarm.custom
      /CustomConfig/Camera.custom
      /CustomConfig/Detect.custom
      /CustomConfig/ExtDevIDConfig.custom
      /CustomConfig/General.custom
      /CustomConfig/NetWork.custom
      /CustomConfig/OEMcfg.custom
      /CustomConfig/Record.custom
      /CustomConfig/Uart.custom
      /Dot
      /Dot/0.dot
      /FirmwareInfo
      /ProductDefinition
      /data
      /data/Fonts
      /data/Strings
      /data/Strings/Arabic
      /data/Strings/Brazilian
      /data/Strings/Bulgarian
      /data/Strings/ChineseEnglish
      /data/Strings/Czech
      /data/Strings/Dutch
      /data/Strings/English
      /data/Strings/Farsi
      /data/Strings/Finnish
      /data/Strings/French
      /data/Strings/German
      /data/Strings/Greek
      /data/Strings/Hebrew
      /data/Strings/Hungarian
      /data/Strings/Indonesian
      /data/Strings/Italian
      /data/Strings/Japanese
      /data/Strings/Poland
      /data/Strings/Portugal
      /data/Strings/Romanian
      /data/Strings/Russian
      /data/Strings/SimpChinese
      /data/Strings/Slovakia
      /data/Strings/Spanish
      /data/Strings/Swedish
      /data/Strings/Thai
      /data/Strings/TradChinese
      /data/Strings/Turkey
      /sbin
      /sbin/hostapd
      /sbin/libhive_RES.so
      

      Interessant ist der inhalt von /sbin/mnt:

      #!/bin/sh
      if [ $# == 0 ] ; then
      	mount -t nfs 10.2.5.100:/home/share /home -o nolock
      	echo "mount -t nfs 10.2.5.100:/home/share /home -o nolock"
      
      else 
      	mount -t nfs 10.2.$1.100:/home/share /home -o nolock
      	echo "mount -t nfs 10.2.$1.100:/home/share /home -o nolock"
      fi
      

      OEMcfg.custom:

      "Correspondent":
      		{
      			"BrandInfo":"H264",
      			"RevSpace":"NVT",
      			"FirmwareVersion":"V100",
      			"HardwareId":"00001",
      			"Port":8899,
      			"Scope":[
      				"onvif://www.onvif.org/type/video_encoder",
      				"onvif://www.onvif.org/type/audio_encoder",
      				"onvif://www.onvif.org/hardware/IPC-model",
      				"onvif://www.onvif.org/location/country/china",
      				"onvif://www.onvif.org/name/NVT"
      			]
      		}
      }
      

      NetWork.custom:

      {
          "AlarmServer": [
              {
                  "Alarm": true,
                  "Enable": false,
                  "Log": false,
                  "Protocol": "GENERAL",
                  "Server": {
                      "Address": "0x00000000",
                      "Anonymity": false,
                      "Name": "AlarmServer",
                      "Password": "",
                      "Port": 15002,
                      "UserName": ""
                  }
              },
              {
                  "Alarm": true,
                  "Enable": false,
                  "Log": false,
                  "Protocol": "NONE",
                  "Server": {
                      "Address": "0x00000000",
                      "Anonymity": false,
                      "Name": "AlarmServer",
                      "Password": "",
                      "Port": 15002,
                      "UserName": ""
                  }
              },
              {
                  "Alarm": true,
                  "Enable": false,
                  "Log": false,
                  "Protocol": "NONE",
                  "Server": {
                      "Address": "0x00000000",
                      "Anonymity": false,
                      "Name": "AlarmServer",
                      "Password": "",
                      "Port": 15002,
                      "UserName": ""
                  }
              },
              {
                  "Alarm": true,
                  "Enable": false,
                  "Log": false,
                  "Protocol": "NONE",
                  "Server": {
                      "Address": "0x00000000",
                      "Anonymity": false,
                      "Name": "AlarmServer",
                      "Password": "",
                      "Port": 15002,
                      "UserName": ""
                  }
              },
              {
                  "Alarm": true,
                  "Enable": false,
                  "Log": false,
                  "Protocol": "NONE",
                  "Server": {
                      "Address": "0x00000000",
                      "Anonymity": false,
                      "Name": "AlarmServer",
                      "Password": "",
                      "Port": 15002,
                      "UserName": ""
                  }
              }
          ],
          "DAS": {
              "DeviceID": "123456",
              "Enable": false,
              "Password": "",
              "Port": 9400,
              "ServerAddr": "10.2.1.58",
              "UserName": "admin"
          },
          "LocalSdkPlatform": null,
          "Nat": {
              "Addr": "52.29.63.113",
              "DnsServer1": "0x713F1D34",
              "DnsServer2": "0x713F1D34",
              "NatEnable": true,
              "Port": 8765,
              "XMeyeMTU": 1280
          },
          "Net3G": {
              "APN": "ChinaNet",
              "DialNum": "#777",
              "Enable": false,
              "NetType": "EVDO",
              "OperatorsValue": "AIRTEL",
              "Password": "vnet.mobi",
              "UserName": "ctnet@mycdma.cn"
          },
          "NetARSP": [
              {
                  "ARSPKey": "DNS",
                  "Enable": false,
                  "HttpPort": 8080,
                  "Interval": 5,
                  "Server": {
                      "Address": "",
                      "Anonymity": false,
                      "Name": "",
                      "Password": "",
                      "Port": 15000,
                      "UserName": "None"
                  },
                  "URL": ""
              },
              {
                  "ARSPKey": "None",
                  "Enable": false,
                  "HttpPort": 8080,
                  "Interval": 5,
                  "Server": {
                      "Address": "",
                      "Anonymity": false,
                      "Name": "None",
                      "Password": "",
                      "Port": 80,
                      "UserName": "None"
                  },
                  "URL": ""
              },
              {
                  "ARSPKey": "None",
                  "Enable": false,
                  "HttpPort": 8080,
                  "Interval": 5,
                  "Server": {
                      "Address": "",
                      "Anonymity": false,
                      "Name": "None",
                      "Password": "",
                      "Port": 80,
                      "UserName": "None"
                  },
                  "URL": ""
              },
              {
                  "ARSPKey": "None",
                  "Enable": false,
                  "HttpPort": 8080,
                  "Interval": 5,
                  "Server": {
                      "Address": "",
                      "Anonymity": false,
                      "Name": "None",
                      "Password": "",
                      "Port": 80,
                      "UserName": "None"
                  },
                  "URL": ""
              },
              {
                  "ARSPKey": "None",
                  "Enable": false,
                  "HttpPort": 8080,
                  "Interval": 5,
                  "Server": {
                      "Address": "",
                      "Anonymity": false,
                      "Name": "None",
                      "Password": "",
                      "Port": 80,
                      "UserName": "None"
                  },
                  "URL": ""
              }
          ],
          "NetCommon": {
              "GateWay": "0x0101A8C0",
              "HostIP": "0x0A01A8C0",
              "HostName": "LocalHost",
              "HttpPort": 80,
              "MAC": "00:12:16:??:??:??",
              "MaxBps": 0,
              "MonMode": "TCP",
              "SSLPort": 8443,
              "Submask": "0x00FFFFFF",
              "TCPMaxConn": 10,
              "TCPPort": 34567,
              "TransferPlan": "Quality",
              "UDPPort": 34568,
              "UseHSDownLoad": false
          },
          "NetDDNS": [
              {
                  "DDNSKey": "CN99",
                  "Enable": false,
                  "HostName": "your.3322.org",
                  "Server": {
                      "Address": "0x0100060A",
                      "Anonymity": false,
                      "Name": "members.3322.org",
                      "Password": "",
                      "Port": 80,
                      "UserName": ""
                  }
              },
              {
                  "DDNSKey": "DynDns",
                  "Enable": false,
                  "HostName": "your.dyndns.org",
                  "Server": {
                      "Address": "0x0100060A",
                      "Anonymity": false,
                      "Name": "members.dyndns.org",
                      "Password": "",
                      "Port": 80,
                      "UserName": ""
                  }
              },
              {
                  "DDNSKey": "Oray",
                  "Enable": false,
                  "HostName": "your.gicp.net",
                  "Server": {
                      "Address": "0x0100060A",
                      "Anonymity": false,
                      "Name": "hphwebservice.oray.net",
                      "Password": "",
                      "Port": 80,
                      "UserName": ""
                  }
              },
              {
                  "DDNSKey": "NO-IP",
                  "Enable": false,
                  "HostName": "your.no-ip.com",
                  "Server": {
                      "Address": "0x0100060A",
                      "Anonymity": false,
                      "Name": "dynupdate.no-ip.com",
                      "Password": "",
                      "Port": 80,
                      "UserName": ""
                  }
              },
              {
                  "DDNSKey": "MYQ-SEE",
                  "Enable": false,
                  "HostName": "your.myq-see.com",
                  "Server": {
                      "Address": "0x0100060A",
                      "Anonymity": false,
                      "Name": "myq-see.com",
                      "Password": "",
                      "Port": 80,
                      "UserName": ""
                  }
              }
          ],
          "NetDHCP": [
              {
                  "Enable": false,
                  "Interface": "eth0"
              },
              {
                  "Enable": false,
                  "Interface": "eth1"
              },
              {
                  "Enable": false,
                  "Interface": "eth2"
              },
              {
                  "Enable": false,
                  "Interface": "eth3"
              },
              {
                  "Enable": false,
                  "Interface": "bond0"
              }
          ],
          "NetDNS": {
              "Address": "0x5045C854",
              "SpareAddress": "0x2846C854"
          },
          "NetEmail": {
              "Enable": false,
              "MailServer": {
                  "Address": "0x00000000",
                  "Anonymity": false,
                  "Name": "Your SMTP Server",
                  "Password": "",
                  "Port": 25,
                  "UserName": ""
              },
              "Port": 25,
              "Recievers": [
                  "none",
                  "none",
                  "none",
                  "none",
                  "none"
              ],
              "Schedule": [
                  "0 00:00:00-24:00:00",
                  "0 00:00:00-24:00:00"
              ],
              "SendAddr": "",
              "Title": "Alarm Message",
              "UseSSL": false
          },
          "NetFTP": {
              "Directory": "",
              "Enable": false,
              "MaxFileLen": 128,
              "Server": {
                  "Address": "0x00000000",
                  "Anonymity": false,
                  "Name": "FTP",
                  "Password": "",
                  "Port": 21,
                  "UserName": ""
              }
          },
          "NetIPFilter": {
              "Banned": [
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
              ],
              "Enable": false,
              "Trusted": [
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
                  "0x00000000",
              ]
          },
          "NetKeyboard": {
              "Enable": false,
              "ListenPort": 0,
              "ParserProtocol": "NONE",
              "TransProtocol": "",
              "deviceAddr": 0
          },
          "NetMobile": null,
          "NetNTP": {
              "Enable": true,
              "Server": {
                  "Address": "0x00000000",
                  "Anonymity": false,
                  "Name": "de.pool.ntp.org",
                  "Password": "",
                  "Port": 123,
                  "UserName": ""
              },
              "TimeZone": 13,
              "UpdatePeriod": 60
          },
          "NetPPPoE": {
              "Enable": null
          },
          "OnlineUpgrade": {
              "AutoCheck": true,
              "AutoUpgradeImp": true,
              "Enable": true,
              "IgnoreAllVersion": true,
              "IgnoreCurVersion": false,
              "JustImpVersion": false,
              "ServerAddr": "camlight-upgrade.steinel.de",
              "ServerPort": 9083
          },
          "PMS": {
              "BoxID": "",
              "Enable": true,
              "Port": 80,
              "PushInterval": 10,
              "ServName": "push.umeye.cn"
          },
          "Upnp": {
              "Enable": false,
              "HTTPPort": 80,
              "MediaPort": 34567,
              "MobilePort": 34599,
              "State": false
          },
          "Wifi": {
              "Auth": "OPEN",
              "Channel": 0,
              "Enable": false,
              "EncrypType": "NONE",
              "GateWay": "0x0101A8C0",
              "HostIP": "0x0C01A8C0",
              "KeyType": 0,
              "Keys": "&&&&&&&&",
              "NetType": "Infra",
              "SSID": "any",
              "Submask": "0x00FFFFFF"
          },
          "WifiMode": {
              "AutoSwitchAPMode": false
          }
      }
      

      romfs-x.cramfs_stripped.img:

      bin
      bin/[
      bin/[[
      bin/ash
      bin/awk
      bin/beep
      bin/btools
      bin/busybox
      bin/cat
      bin/chmod
      bin/chpst
      bin/cp
      bin/crontab
      bin/cttyhack
      bin/date
      bin/dd
      bin/dmesg
      bin/dumpleases
      bin/echo
      bin/env
      bin/envdir
      bin/envuidgid
      bin/false
      bin/hiddrs
      bin/hier
      bin/hiew
      bin/hil2s
      bin/himc
      bin/himd
      bin/himd.l
      bin/himm
      bin/hush
      bin/i2c_read
      bin/i2c_write
      bin/ip
      bin/ipaddr
      bin/iplink
      bin/iproute
      bin/iprule
      bin/iptunnel
      bin/kill
      bin/killall
      bin/linux32
      bin/linux64
      bin/ln
      bin/logger
      bin/login
      bin/ls
      bin/lzcat
      bin/lzma
      bin/mesg
      bin/mkdir
      bin/mkfifo
      bin/mknod
      bin/mount
      bin/msh
      bin/mv
      bin/netstat
      bin/ping
      bin/pkill
      bin/printenv
      bin/ps
      bin/pwd
      bin/rm
      bin/rmdir
      bin/rtcwake
      bin/runsv
      bin/runsvdir
      bin/script
      bin/scriptreplay
      bin/sed
      bin/seq
      bin/setarch
      bin/setuidgid
      bin/sh
      bin/sleep
      bin/softlimit
      bin/ssp_read
      bin/ssp_write
      bin/stat
      bin/sv
      bin/sync
      bin/tar
      bin/test
      bin/tftp
      bin/top
      bin/touch
      bin/true
      bin/tty
      bin/udevadm
      bin/udevd
      bin/udpsvd
      bin/umount
      bin/uname
      bin/unlzma
      bin/xargs
      boot
      boot/uImage
      dev
      etc
      etc/fs-version
      etc/fstab
      etc/group
      etc/init.d
      etc/init.d/dnode
      etc/init.d/rcS
      etc/inittab
      etc/mtab
      etc/passwd
      etc/passwd-
      etc/ppp
      etc/ppp/peers
      etc/ppp/pppoe-options
      etc/ppp/pppoe-start
      etc/profile
      etc/protocols
      etc/resolv.conf
      etc/services
      etc/udev
      etc/udev/disk-hotplug.sh
      etc/udev/firmware.sh
      etc/udev/rules.d
      etc/udev/rules.d/11-usb-hotplug.rules
      etc/udev/rules.d/50-firmware.rules
      etc/udev/rules.d/54-gphoto.rules
      etc/udev/rules.d/60-pcmcia.rules
      etc/udev/rules.d/75-cd-aliases-generator.rules.optional
      etc/udev/rules.d/75-persistent-net-generator.rules.optional
      etc/udev/rules.d/90-hal.rules
      etc/udev/rules.d/97-bluetooth-serial.rules
      etc/udev/rules.d/99-fuse.rules
      etc/udev/rules.d/device-mapper.rules
      etc/udev/udev.conf
      etc/udev/usbdev-hotplug.sh
      etc/xmtelnetdpw
      home
      lib
      lib/hi_media.ko
      lib/hi_mipi.ko
      lib/ld-uClibc-0.9.33.2.so
      lib/ld-uClibc.so.0
      lib/libc.so.0
      lib/libcrypt-0.9.33.2.so
      lib/libcrypt.so.0
      lib/libdl-0.9.33.2.so
      lib/libdl.so.0
      lib/libgcc_s.so
      lib/libgcc_s.so.1
      lib/libiw.so.29
      lib/libm-0.9.33.2.so
      lib/libm.so.0
      lib/libnsl-0.9.33.2.so
      lib/libnsl.so.0
      lib/libpthread-0.9.33.2.so
      lib/libpthread.so.0
      lib/libresolv-0.9.33.2.so
      lib/libresolv.so.0
      lib/librt-0.9.33.2.so
      lib/librt.so.0
      lib/libstdc++.so
      lib/libstdc++.so.6
      lib/libstdc++.so.6.0.19
      lib/libstdc++.so.6.0.19-gdb.py
      lib/libthread_db-0.9.33.2.so
      lib/libthread_db.so.1
      lib/libuClibc-0.9.33.2.so
      lib/libutil-0.9.33.2.so
      lib/libutil.so.0
      linuxrc
      mnt
      mnt/custom
      mnt/logo
      mnt/mtd
      mnt/web
      opt
      proc
      root
      sbin
      sbin/arp
      sbin/blockdev
      sbin/bootchartd
      sbin/crond
      sbin/depmod
      sbin/dhcprelay
      sbin/envext
      sbin/flash_eraseall
      sbin/getty
      sbin/halt
      sbin/hostapd
      sbin/ifconfig
      sbin/ifdown
      sbin/ifup
      sbin/init
      sbin/insmod
      sbin/iwconfig
      sbin/iwlist
      sbin/iwpriv
      sbin/klogd
      sbin/logread
      sbin/lsmod
      sbin/makedevs
      sbin/modinfo
      sbin/modprobe
      sbin/pivot_root
      sbin/poweroff
      sbin/rdate
      sbin/rdev
      sbin/readprofile
      sbin/reboot
      sbin/rmmod
      sbin/route
      sbin/setfont
      sbin/svlogd
      sbin/syslogd
      sbin/telnetd
      sbin/udhcpc
      sbin/udhcpd
      sbin/wlandaemon
      sbin/wpa_supplicant
      sys
      tmp
      usr
      usr/lib
      usr/share
      utils
      var
      var/run
      var/run/utmp
      var/tmp
      
      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      Googled the password hash and found several sites relating this hash to the password xmhdipc

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      Die Datei /etc/init.d/rcS wird von /etc/inittab aufgerufen und enthält einen spannenden Part:

      mkdir /var/tmp/mmcblock0
      mount dev/mmcblk0 /var/tmp/mmcblock0
      if [ -f /var/tmp/mmcblock0/xm_autorun.sh ];then
      	cd /var/tmp/mmcblock0/
      	chmod +x *
      	./xm_autorun.sh &
      	cd /
      else
      	dvrHelper /lib/modules /usr/bin/Sofia 127.0.0.1 9578 1 &
      fi	
      

      Falls mmcblock0 die SD Karte ist, und das sollte es, wird im Root Verzeichnis der SD Karte nach der Datei xm_autorun.sh gesucht. Falls diese existiert und es eine reguläre Datei ist, wird hier das Executable Flag gesetzt und die Datei gestartet.
      Sollte dies stimmen, so kann man über die SD Karte ganz einfach Shell Scripte einschleusen und starten lassen. Fragt sich nur, ob BusyBox überhaupt gestartet wird.

      Das Shell Script sollte dann aber auch

      dvrHelper /lib/modules /usr/bin/Sofia 127.0.0.1 9578 1 &
      

      enthalten. So etwas z.B.

      #!/bin/sh
      echo "script had been startet" > /var/tmp/mmcblock0/test.txt
      dvrHelper /lib/modules /usr/bin/Sofia 127.0.0.1 9578 1 &
      sleep 5
      /sbin/telnetd &
      

      Die Pause ist eingebaut, weil wohl schon beobachtet wurde, dass Sofia beim Start laufende telnetd Prozesse killt.

      Interessant wäre es auch den Aufruf von Sofia ohne die Localhost IP zu prüfen. Kann mir vorstellen, dass dann rtsp bereits verfügbar ist:

      #!/bin/sh
      dvrHelper /lib/modules /usr/bin/Sofia 9578 1 &
      

      oder

      #!/bin/sh
      dvrHelper /lib/modules /usr/bin/Sofia 0.0.0.0 9578 1 &
      

      Meine Lampe ist 100km entfernt von mir, also kann ich das jetzt leider nicht weiter testen. Jetzt müsste jemand übernehmen...

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      URL um Bilder der Kamera abzurufen:
      http://<IP>/webcapture.jpg?command=snap&channel=1

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @fd_samdi
      Die Software ist vom Steinel Update Server, als "latest" gekennzeichnet. Abweichungen zwischen den Firmware Releases dürften gering sein. An diesen Kameramodulen wird wohl nicht wirklich innovativ entwickelt.
      Ich habe gerade keine Lampe im Zugriff, also war das die einzige verfügbare Quelle.

      Die Analyse der Firmware machte ich mit der Zielrichtung, Wege zu finden um

      • rtsp zu aktivieren
      • telnet zu aktivieren
      • Modifikationen an der Firmware vornehmen zu können
        ohne an eine alte Firmware gebunden zu sein.

      Dass ein NFS mount in einem der Scripte auftauche ist ein Zufallsfund, den man sich aber ggf. auch zunutze machen kann. Jedenfalls dürfte es wahrscheinlich sein, dass das Kernel NFS Unterstützt. NFS Server auf die SD ist sicher kein Ziel.

      Die Analyse der Firmware dürfte für unterschiedliche Ansätze eine hilfreiche Basis sein. Also wären wir bei allen Themen, außer dem Downgrade auf die alte Firmware.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @el_malto said in Steinel L600 CAM:

      @joedi Richtig geil was du da für Fortschritte machst.
      Was wärr denn nun alles möglich bzw. was hast du noch vor zu testen?

      Naja, um mit der Lampe flexibel etwas machen zu können sind drei wesentliche Hürden genommen:

      • Über die SD Karte kann man eigenen Code einschleusen und zum Laufen bringen
      • Man kann eingebaute Funktionen abschalten in dem man dem Prozess killt
      • Man kann das alles recht bequem über den Telnet Zugang machen und muss nicht immer die SD am PC beschreiben, einstecken, Lampe neu starten usw.

      Das Abschalten geht nur sehr bedingt, da eigentlich alles in einem Monsterprozess "Sofia" verbaut ist. Leider ist da aber auch so viel Mist mit eingebaut, dass hier ein sicherer Betrieb am Internet eigentlich ausgeschlossen ist. Gut, bei mir gibt es eh nichts zu sehen, aber es wäre halt auch ein Einfallstor in das entsprechende WLAN.

      Was ich gerne erreichen würde:
      Einfache sichere Dienste selber kompilieren und über die SD starten und auf den ganzen eingebauten Mist verzichten. Was sollte die Lampe können?

      • Grundeinstellungen der Lampe (Helligkeit, Leuchtdauer, PIR Empfindlichkeit usw)
      • Fernsteuerung der Lampe
      • Alert bei Bewegungserkennung
      • Speichern auf NAS bei Bewegungserkennung
      • RTSP Server
      • JPEG Server
        Das alles natürlich ohne Cloud.

      Dazu müsste man aber das SDK mit der Toolchain ans laufen bringen, um dann eigene Tools zu kompilieren. Beides ist aber nicht mehr beim Hersteller zu finden.
      Ich fürchte auch, dass ich die dafür notwendige Zeit nicht aufbringen werde. Es wäre wohl einfacher die Lampe auf einen Raspberry Nano oder ein ähnliches Entwicklerboard umzubauen.

      Wer z.B. die neue Firmware hat und nicht auf die alte zurückflashen möchte, sollte jetzt eigentlich schon Sofia aus der alten Version über die SD Karte starten können. Ich nehme an, dass dann auch RTSP wieder verfügbar sein wird.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Hiltex said in Steinel L600 CAM:

      @joedi Hast du zu Sofia mal eine Dokumentation im Internet gefunden?

      Meine Einschätzung ist, dass in "Sofia" mehrere Tools zusammen kompiliert sind, ähnlich wie Busybox. Der Name hat also keine tiefere Bedeutung. Das hat der Hersteller des SoC speziell zusammengebaut und so benannt. Darüber hinaus scheint es keine Verwendung in anderen Systemen zu finden.

      Um weiter zu kommen, benötigen wir das Hi3518 SDK mit der Toolchain. Das war wohl auch mal öffentlich zugänglich, ist es aber nicht mehr. Es gibt aber bestimmt noch Leute, die es haben.

      posted in ioBroker Allgemein
      J
      joedi

    Latest posts made by joedi

    • RE: Steinel L600 CAM

      @whacky_wheel

      Hallo,

      ich hatte einen ähnlichen Ansatz, aber bisher keine Zeit das umzusetzen, denn aktuell baue ich an einer CNC und deren Steuerung auf einem ESP32.

      Die PIR/Licht Steuerung wäre trivial. Hier kann man fertige Lösungen wie Tasmota einsetzen oder selbst ein kleines Programm schreiben. Keine große Sache.

      Von den ESP32 Cams habe ich auch ein paar hier herumliegen, war aber nach ersten Tests nicht so begeistert:

      • die WLAN-Signalqualität ist nicht sonderlich
      • die Bildqualität fand ich enttäuschend
      • ein von 3 Modulen fiel bereits während der kurzen Tests aus
        Ich habe allerdings nicht viel Zeit investiert und aus genannten Grünen schnell das Interesse verloren.

      Als Kamera, um mal schnell zu sehen was lost ist, wäre das i.d.R. OK, aber für eine "Beweissicherung" wäre die Auflösung im Zusammenhang mit der Bildrate m.E. nicht ausreichend. Hier möchte ich mind. 2 Megapixel Video und low Lux sehen.

      Ein NanoPi, ZeroPi, Orange Zero H2, oder was immer es in der Größe gibt, scheint mir für meinen Anwendungsfall doch geeigneter.

      Eigentlich wäre die L620 ja auch OK, aber es ist sicher nur eine Frage der Zeit, bis ein Update der Kamera oder der Cloud erneut Probleme machen.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Hiltex Erst einmal Danke, dass du die Informationen mit uns teilst!

      Ich möchte nicht kleinlich sein, aber die Zusage gilt dir gegenüber und leider nicht allgemein. Wenn ich jetzt eine L620 kaufe, kann ich mich schlecht darauf berufen.
      Es wäre schön, wenn Steinel dieses Feature offiziell und verbindlich machen würde.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      Bevor sich alle auf die L620 stürzen:
      RTSP ist wohl auch bei der L620 nur eine ggf. zufällige technische Eigenschaft (geht jetzt halt) und keine zugesicherte Produkteigenschaft (Prospekthaftung) und kann mit jedem Update wieder verschwinden, oder sehe ich das falsch?
      Auf der Steinel Homepage finde ich dazu jedenfalls nichts.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @a200 said in Steinel L600 CAM:

      Was ich bei dir nicht verstehe ist ist der Abschnitt:

      mount /dev/mmcblk0 /opt/
      PATH=/opt/bin:$PATH
      CPLUS_INCLUDE_PATH=/opt/bin
      pure-ftpd &
      

      Wieso mountest du die Karte unter /opt erneut und greifst nicht über über den bereits gemounteten Pfad?

      /opt ist der Standardpfad für "optionale" Module. Das bin ich so z.B. von den OpenWRT Routern und anderen Linuxgeräten gewohnt. Auch die Quelle, aus der ich die Binaries gezogen habe, nutzt diesen Pfad. Ich hatte eigentlich gehofft, dass ich IPKG zu einem entsprechenden Paket aus einem kompatiblen Projekt ans Laufen bekomme. Die installieren dann idR in das /opt Verzeichnis.
      Ist nicht nötig, aber ich werde es für mich dennoch so lassen.

      Als ich gestern noch die extrahierten Binares auf die Karte kopiert habe und drauf zugreifen wollte, dann konnten die Verzeichnisse /etc und /sbin nicht richtig gelesen werden. Ein cd in das Verzeichnis war möglich, aber ls -ls meldete zu jeder Datei eine input/output Lesefehler. und zwar in jedem Verzeichnis. strange....

      Das ist wirklich strange. Hast du mal mit "df" geprüft wieviel Platz noch auf dem entsprechenden Verzeichnis frei ist?

      Was wir hier machen ist leider nur herumgebastel. Wenn es läuft haben wir Glück gehabt, wenn nicht...
      Wäre natürlich schöner, wenn es Dokumentation und Entwicklertools mit Unterstützung durch den Hersteller gäbe. Mit 135€ ist das Produkt halt billig.
      Ich nehme an, dass nicht einmal Steinel einen tieferen Einblick hat, sondern das Modul einfach zukauft und "as is" verbaut. Software als Produkt ist für die sicher auch ein neues Feld.
      Ich bin mit der Software und den Cloud Services nicht glücklich, mit der Hardware zu dem Preis jedoch ganz zufrieden.
      Für eine offene Plattform wäre ich bereit deutlich mehr Geld auszugeben - auch ohne Support durch Steinel.
      Kann schon sein, dass ich mal einen Rappel bekomme, den ganzen Kram ausbaue und dort z.B. einen Raspberry oder ESP32 einbaue...

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @a200 said in Steinel L600 CAM:

      muss ich jedes Mal, wenn ich die Karte aus Lampe hole sie neu formatieren? Sie ist immer unformatiert!

      Hallo a200,

      wie hattest du die Karte denn formatiert? FAT32 order ExtFat? Ich würde FAT32 empfehlen.
      Ggf. ändert deine Firmware den File System Typ der Karte. Hast du überprüft welchen File System Typ sie hat nachdem du sie nicht mehr lesen konntest?
      Vielleicht kannst du die CAM mal laufen lassen, eine Aufnahme provozieren und dann in Telnet nachschauen ob und wie die SD gemoutet ist. Hierzu einfach "mount" eingeben.
      Oder unter einem Linux System feststellen, ggf. auch mit einem Tool wie "MiniTool Partition Wizard" unter Windows.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Hiltex said in Steinel L600 CAM:

      Dann ein wenig gegoogelt und das hier gefunden:
      https://lfto.me/reverse-engineering-dvr-firmware/

      Mehr Zeit hatte ich noch nicht, aber vielleicht ist es ja für euch interessant.

      Von den jeweiligen Dateien die ersten 64 Byte abschneiden.
      Danach kann man die Dateien jeweils unter Linux mounten. Geht natürlich auch in einer virtuellen Linux-Maschine unter Windows.

      mount -o loop <Image Dateiname> <mountpoint>
      

      Also z.b.:

      mount -o loop ~/steinel/romfs-x.cramfs_stripped.img /mnt/rom
      

      Dann kann man ganz normal auf die Dateien im Image zugreifen.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Smart86 said in Steinel L600 CAM:

      15 Minuten später war der FTP Zugriff wieder verschwunden.

      Bei mir läuft der FTP Server seit 2 Tagen ununterbrochen. Sollte also kein grundsätzliches Problem sein. Aber wie gesagt habe ich keine automatische Aufnahme auf der CAM aktiviert.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Smart86 said in Steinel L600 CAM:

      Bei mir hat es nun funktioniert, vielen Dank nochmals für die ausführlichere Anleitung!!! Da das opt Verzeichnis ja eigentlich die Speicherkarte sein sollte bin ich davon ausgegangen, dass auch hier die Videos liegen. Ist wohl nicht so ?!

      Freut mich, dass es auch bei dir funktionierte 👏

      Ja, in /opt ist das Root Verzeichnis der SD gemounted (angenommen, dass es nur eine Partition auf der SD gibt). Falls Aufnahmen auf der SD sind, sollte man die eigentlich auch hier irgendwo finden können.
      Aber vielleicht landet ja doch alles in der Cloud...? Ist leider alles sehr intransparent.

      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Smart86 said in Steinel L600 CAM:

      Genial!!! Ich lege also auf der SD-Karte das bin Verzeichnis an. Die IPK Datei entpacke ich und benenne die 100kb große Datei in pure-ftpd um (also ohne Versionsnummer) und schiebe diese in das bin Verzeichnis. Dann boote ich die Kamera.

      Leider öffnet sich kein Ftp Port. Mache ich etwas falsch?

      Nene, IPK Dateiein sind mehrfach gepackt. Da die meisten hier wohl Windows verwenden und dort kein TAR zur Verfügung steht:

      • entpacken des IPK mit 7-zip ergibt ein tar (gleicher Dateiname ohne Endung)
      • das dann wieder mit 7-zip entpacken ergibt zwei Dateien
      • von diesen das data.tar.gz mit 7-zip entpacken
      • danach das data.tar mit 7-zip entpacken
      • nun ist das Binary-Executable entweder in bin oder sbin zu finden. Dies auf die Karte nach /bin kopieren
      posted in ioBroker Allgemein
      J
      joedi
    • RE: Steinel L600 CAM

      @Smart86 said in Steinel L600 CAM:

      Leider nein, denn wenn die SD-Karte eingelegt wird und ich diese danach wieder ausbaue müsste ich die Karte wieder formatieren, da ein Zugriff nicht mehr möglich ist.

      Hallo,
      bist du dir sicher, dass die SD-Karte OK ist? Schon mal eine andere versucht?
      Ggf. solltest du die Überwachungsfunktion der Lampe mit Speicherung auf der SD deaktivieren.

      posted in ioBroker Allgemein
      J
      joedi
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo