Wir haben eine Netzwerkkamera (sogar mit WLAN), in der coffee und hk ein embedded Linux und das Potenzial zur Steuerung der ebenfalls vorhandenen Ketten-Roboter-Basis vermuten erwarteten und fanden.


Reverse Engineering

2015-12-07

Ein USART ist schon gefunden, da dieser sogar auf dem Board markiert war. (Wie zuvorkommend…)

Details: 115200 Bits/s, 8bit words, 1 stop, no parity, LSB first, non-inverted]

2015-12-09

Das Geraet ist ein "IP-Farbkamera PIPC-011"

Der Bootloader ist anscheinend ab Werk komplett offen, und auch das System bietet eine Shell auf dem USART. Strike!

bootlog: Datei:Ipcam boot dump.zip

Pollin-Produktbeschreibung: Link

/> ls /proc
1 14 15 16 18 19 2 21 22 26 28 3 30 4 5 6 7 8 9 bus cmdline cpuinfo devices
dma driver execdomains filesystems flash_4m fs interrupts iomem ioports
kcore kmsg loadavg locks meminfo misc mounts net p1_p1 partitions self
slabinfo stat swaps tty uptime version wau881


/> cat /proc/cpuinfo
Processor       : Winbond W90N745 rev 1 (v3l)
BogoMIPS        : 39.83
Hardware        : W90N745
Revision        : 0000
Serial          : 0000000000000000


/> cat /proc/version
Linux version 2.4.20-uc0 (root@maverick-linux) (gcc version 3.0) #1460 ¶þ 12ÔÂ 7 23:30:28 CST 2010


/> cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  15007744  6209536  8798208        0    53248  1368064
Swap:        0        0        0
MemTotal:        14656 kB
MemFree:          8592 kB
MemShared:           0 kB
Buffers:            52 kB
Cached:           1336 kB
SwapCached:          0 kB
Active:            220 kB
Inactive:         1168 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        14656 kB
LowFree:          8592 kB
SwapTotal:           0 kB
SwapFree:            0 kB


Das Gerät scheint ein seltsames Binary-Format zu verwenden: kein ELF, sondern BFLT. Anscheinend gibt es eine Compiler-Option für den ARM-GCC, um BFLT zu erzeugen.

Ein Build-Prozess für neue Firmware-Images ist in Arbeit.

/bin/camera scheint den Großteil der Funktionalität zu implementieren, denn ein gesonderter HTTPD ist nicht auffindbar.

TO DO

  • Teilenummer auf dieser Seite eintragen
  • existierende Dokumentation finden und sichten
  • neues Firmware-Image bauen
    • Build-Prozess für neue Firmware-Images erarbeiten (in Progress)
    • Komische Nachhausetelefoniererei abschalten (seltsames Original-Dynamic-DNS)
    • busybox bauen
  • Steuerung der Schrittmotoren und Relais-Ausgänge identifizieren
  • ???
  • Profit!