Telepräsenzpanzer: Unterschied zwischen den Versionen
Coffee (Diskussion | Beiträge) K (Zur eigenen Kategorie hinzugefügt) |
Coffee (Diskussion | Beiträge) (→Technische Daten: Abschnitt angelegt) |
||
Zeile 5: | Zeile 5: | ||
[[Datei:Camera_board_backside.jpeg|right|320x240px|thumb|backside scan of main camera PCB]] |
[[Datei:Camera_board_backside.jpeg|right|320x240px|thumb|backside scan of main camera PCB]] |
||
[[Datei:Camera_board_frontside.jpg|right|320x240px|thumb|frontside scan of main camera PCB]] |
[[Datei:Camera_board_frontside.jpg|right|320x240px|thumb|frontside scan of main camera PCB]] |
||
== Technische Daten == |
|||
=== CPU === |
|||
{| |
|||
|'''Hersteller''' || Nuvoton |
|||
|- |
|||
|'''Modell''' || W90N745 |
|||
|} |
|||
=== Kameramodul === |
|||
??? |
|||
=== WLAN === |
|||
??? |
|||
== Reverse Engineering == |
== Reverse Engineering == |
||
=== 2015-12-07 === |
=== 2015-12-07 === |
Version vom 20. Dezember 2015, 22:19 Uhr
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.
Technische Daten
CPU
Hersteller | Nuvoton |
Modell | W90N745 |
Kameramodul
???
WLAN
???
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
W90P745 Boot Loader [ Version 1.1 $Revision: 1 $ ] Rebuilt on May 11 2010 Memory Size is 0x1000000 Bytes, Flash Size is 0x400000 Bytes Board designed by Winbond Hardware support provided at Winbond Copyright (c) Winbond Limited 2001 - 2006. All rights reserved. Boot Loader Configuration: MAC Address : 00:0D:C5:DA:E5:76 IP Address : 0.0.0.0 DHCP Client : Enabled CACHE : Enabled BL buffer base : 0x00300000 BL buffer size : 0x00100000 Baud Rate : -1 USB Interface : Disabled Serial Number : 0xFFFFFFFF For help on the available commands type 'h' Press ESC to enter debug mode ..... bootloader > h W90P745 Command Shell v1.0 Rebuilt on May 06 2010 at 13:00:07 H Display the available commands B Set Baud Rate D Display memory. D -? for help E Edit memory. E -? for help G Goto address I information MX Xmodem download MT TFTP/USB download FT Program the flash by TFTP/USB. FT -? for help FX Program the flash by Xmodem. FX -? for help CP Memory copy LS List the images in the flash SET Setting boot loader configuration. SET -? for help CHK Check the flash RUN Execute image DEL DEL the image or flash block MSET Fill memory TERM Change the terminal output port BOOT Reboot the system CACHE Cache setting USB USB interface setting UNZIP Unzip image ATTRIB Change the image attribution INTF Print bootloader supported interface, ether USB or MA
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.
Anscheinend haben sich noch andere Leute mit diesen Kameras befasst http://www.openipcam.com/, und sogar etwas ausgegraben, das wie ein BSP aussieht: http://www.openipcam.com/files/BSP/W90N745BSP05262008.tar.gz
2015-12-10
coffee hat das Gerät halb gebrickt beim Versuch, ein neues Root-FS hochzuladen. Der Bootloader beklagte sich erst nach dem Löschen des existierenden Root-FS über falsche Parameter. Nächstes mal für weniger Ärger direkt mit diesem Bootloader-Kommando versuchen:
fx 6 rootfs 0x7F0E0000 0x7F0E0000 -af
coffee hatte weder mit
Images können geflasht werden, siehe unten.
minicom
noch mit picocom
Erfolg beim Versuch ein neues Image hochzuladen.
Eine angeblich funktionierende Config für Kermit, um per XMODEM ein neues Image hochzuladen, gibt's hier: http://wiki.openipcam.com/index.php/Serial_Console
2015-12-11
# picocom -b 115200 /dev/ttyUSB0 --flow n --send-cmd 'lsz -X'
für stressfreie Kommunikation mit dem Bootloader, so dass auch das Flashen von Images klappt.
2015-12-14
Zufallsfund im Web: https://justreadthecode.wordpress.com/2013/10/04/ipcamera-fun-part-2/ Der Autor erklärt, wie man die Kamera-Applikation debuggen kann.
2015-12-19
Auflistung der derzeit im Flash befindlichen Images:
bootloader > ls Image: 0 name:BOOT INFO base:0x7F010000 size:0x00000038 exec:0x7F010000 -af Image: 7 name:linux base:0x7F020000 size:0x000AE96C exec:0x00008000 -acxz Image: 6 name:rootfs base:0x7F0E0000 size:0x00104C00 exec:0x7F0E0000 -af
coffee versucht sich mal an diesem Buildroot, und hat außerdem das Board entführt, um mal daheim bessere Nahaufnahmen zu machen.
TO DO
- neues Firmware-Image bauen
/bin/camera
ersetzenbusybox
bauen- Ethernet initialisieren
telnetd
starten
- Steuerung der DC-Motoren und Relais-Ausgänge identifizieren
- ???
- Profit!