NEWS
UNSOLVED 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
-
Googled the password hash and found several sites relating this hash to the password xmhdipc
-
@joedi Auch wenn jetzt hier gerade nicht so viel Feedback kommt - ich, und sicher auch einige andere, lesen hier ziemlich gespannt mit
-
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...
-
Ich lese auch sehr gespannt mit. Leider bin ich eher der Anwender und würde sagen das ich nicht mal Basicwissen mit Linux oder Skripte habe.
Wenn jemand mir sagt wie ich was machen muss kann ich was testen.
Interessant wäre es ja wenn man z.B. eine NAS mounten und Aufnahmen dann direkt da drauf gespeichert werden oder über FTP irgendwie an die Speicherkarte kommt. -
Hey... ich klink mich nach langem auch mal wieder ein.
@joedi
Welche Firmware hast du denn da zerpflückt? Die Originale von Steinel oder die Alternative vom China-Server? Irgendwo zwischen den 170 Posts waren wir ja mal soweit ein Firmwaredowngrade zu machen, damit der RTSP-Stream und Webzugriff wieder funktioniert.Bei was für einem Thema sind wir denn jetzt genau? Telnetzugriff, NFS auf die SD-Karte?
-
@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.
-
@joedi
Na die große Abweichung vom letzten zum aktuellen Release war eben, dass RTSP und der Webzugriff entfernt oder blockiert wurde.
Vergleicht man also eine alte ( https://download.xm030.cn/d/MDAwMDAzNTM= ) mit der aktuellen Firmware, könnte man wahrscheinlich schnell auf Lösungen kommen. Ich habs mal versucht, aber mir fehlt es an der Stelle auch an tieferem Wissen. -
Ich habe ein wenig verglichen: An den config Files hat sich eigentlich nichts getan.
Also viel Spekulation:
In der Firmware gibt es eine Monsterapplikation "Sofia". Die macht eigentlich alles, auch was normalerweise von Betriebssystem erledigt wird. Hier findet man WLAN Steuerung, Firmware Upgrade, gzip, DDNS, ftp, email, http, Verschlüsselung samt Zertifikaten und und und.
Das Sofia im Image ist mit ucx komprimiert. Entpackt sind es satte 3.956.444 Bytes.
Scheint so, als wäre die gesamte Funktion hier in ein großes Programm kompiliert.
Ich fürchte, dass mit dem neuen Update im wesentlichen "Sofia" ausgetauscht wurde und das ist auf den ersten Blick ein großer Monolit. Eine neue Firmware mit altem Sofia wäre also kein Fortschritt.Binwalk der Datei (gekürzt):
DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 ELF, 32-bit LSB executable, ARM, version 1 (SYSV) 1208665 0x127159 Certificate in DER format (x509 v3), header length: 4, sequence length: 1292 2248872 0x2250A8 SHA256 hash constants, little endian 3155078 0x302486 Base64 standard index table 3161238 0x303C96 Unix path: /var/tmp/port.conf 3167359 0x30547F Unix path: /var/config_tmp/ProductType.ini 3167409 0x3054B1 Unix path: /var/config_tmp/Json 3172247 0x306797 Unix path: /var/tmp/WebParam 3218616 0x311CB8 Base64 standard index table 3220635 0x31249B XML document, version: "1.0" 3222024 0x312A08 Base64 standard index table 3226321 0x313AD1 Base64 standard index table 3245594 0x31861A Unix path: /usr/bin/ProductDefinition 3267616 0x31DC20 Unix path: /usr/etc/Wireless/RT2870STA.dat 3268568 0x31DFD8 Unix path: /usr/sbin/wpa_wpa2.conf 3274224 0x31F5F0 Unix path: /sys/bus/usb/devices/ 3276254 0x31FDDE Unix path: /var/tmp/wlanfifo 3289684 0x323254 Unix path: /usr/share/music/reset_key.pcm 3291712 0x323A40 Unix path: /usr/share/music/%s 3291858 0x323AD2 Unix path: /usr/share/music 3297247 0x324FDF Unix path: /usr/sbin/xmprop 3314572 0x32938C Base64 standard index table 3339641 0x32F579 XML document, version: "1.0" 3341923 0x32FE63 XML document, version: "1.0" 3343828 0x3305D4 Base64 standard index table 3345319 0x330BA7 XML document, version: "1.0" 3350979 0x3321C3 XML document, version: "1.0" 3358968 0x3340F8 HTML document header 3359083 0x33416B HTML document footer 3384111 0x33A32F Copyright string: "Copyright 1995-2005 Jean-loup Gailly " 3389863 0x33B9A7 Copyright string: "Copyright 1995-2005 Mark Adler " 3401434 0x33E6DA Copyright string: "Copyright (C) 1998, Thomas G. Lane" 3414358 0x341956 Unix path: /usr/bin/Squirrel/ptz/MainPtz 3414931 0x341B93 Unix path: /usr/bin/Squirrel/ptz/* 3437154 0x347262 PEM RSA private key 3438861 0x34790D PEM certificate 3440070 0x347DC6 PEM RSA private key 3441773 0x34846D PEM certificate 3442995 0x348933 PEM RSA private key 3444777 0x349029 PEM certificate 3463952 0x34DB10 PEM RSA private key 3464996 0x34DF24 PEM certificate 3479421 0x35177D Base64 standard index table 3548968 0x362728 Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/mpi/src/mpi_vb.c 3553384 0x363868 Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/mkp/bind/sys_bind.c 3557804 0x3649AC Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/shelf/venc/mpi/mpi_venc.c 3558908 0x364DFC Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/shelf/audio/audio/mpi/src/mpi_adec.c 3560888 0x3655B8 Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/shelf/audio/audio/mpi/src/mpi_aenc.c 3562388 0x365B94 Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/mkp/include/valg_ext.h 3565692 0x36687C Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/shelf/audio/audio/mpi/src/mpi_ai.c 3570304 0x367A80 Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/shelf/audio/audio/mpi/src/mpi_ao.c 3574268 0x3689FC Unix path: /home/pub/publish/platform_h4_ipc/mpp/code/shelf/audio/audio/mpi/audio/audio_voice_adp.c 3578526 0x369A9E Unix path: /usr/sbin/ppp-on
Das SDK für den HiSilicon SOC konnte ich auch noch nirgendwo finden. Sonst könnte man versuchen die Benötigten Funktionen selber zu ergänzen und eine "saubere" Software zu bauen.
Nachdem was ich gelesen habe:
- auf keinen Fall irgendeinen Port der Lampe ins Internet freigeben
- am besten auch den Internetzugang sperren
Das macht praktisch aus der Lampe unter verwendung der neuen Firmware eine Lampe ohne Kamera...
-
Hi sorry ich habe mir jetzt nicht alles neu durchgelesen -> Gibt es jetzt eine möglich die CAM oder einen Stream meiner Survaillance Station in den iobroker einzubinden auch wirklich als Video ? und nicht nur alle paar sek ein Bild.
-
@Hohenbostler
Du hast beim letzten mal doch schon geschrieben, dass du die CAM in deine Survaillance Station eingebunden hast.
Wenn du wissen willst wie du den Stream daraus bekommst, bist du hier im falschen Thread. Dann musst du hier im Forum die SuFU benutzen. Da gibt es massig Thread für die Survaillance Station. Man muss sich schon ein bisschen einlesen, alles kann einen nicht vorgekaut werden -
Telnet auf die L600
So, ich habe, um weiter zu kommen, noch eine Lampe beim großen Buchhändler bestellt und gleich zerlegt:
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/xmhdipcLocalHost 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. -
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)
-
URL um Bilder der Kamera abzurufen:
http://<IP>/webcapture.jpg?command=snap&channel=1 -
@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?
Ich kann wohl nachvollziehen was du machst, aber kann damit selbst nicht viel anfangen. -
@joedi Kann man damit per Kommandozeile bspw auch auf den Bewegungsmelder zugreifen? Dann könnte man aus der Kamera raus Datenpunkte triggern.
-
Funktioniert bei irgendwem eigentlich noch die App?
Im Moment darf meine Kamera ins Internet, jedoch kann ich mit der App nicht auf den Stream zugreifen, wenn ich unterwegs bin. Es kommt immer Timeout. Die Verbindung zur Surveillance Station funktioniert aber.
-
@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.
-
@Hiltex Keine App funktioniert nur im Heimnetz, da ich meiner Leuchte keinen Internetzugang gewähre.
Über VPN kann ich die App von außen nicht bedienen. -
@el_malto Tatsache, die gewählte VPN-Verbindung war die Ursache.
Wie greifst du von extern auf die Kamera zu? Oder interessiert dich das sowieso nicht?