<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thinksilicon</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thinksilicon"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Thinksilicon"/>
	<updated>2026-04-10T23:21:20Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Burn-o-mat&amp;diff=88526</id>
		<title>Burn-o-mat</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Burn-o-mat&amp;diff=88526"/>
		<updated>2015-05-06T11:21:36Z</updated>

		<summary type="html">&lt;p&gt;Thinksilicon: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Allgemeines==&lt;br /&gt;
AVR8 Burn-O-Mat ist ein GUI für [[AVRDUDE|Avrdude]], das in Java geschrieben und somit multiplattform fähig ist. Für Windows gibt es einen Installer und für Linux ein Debian-Paket. Und für die Apple-User ein dmg-Paket.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch eine Online-Version, mit der der Hex-Code der Fuses berechnet werden kann. Das Lesen und Schreiben der Fuses ist mit der Online-Version nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Die [[AVR Fuses|Fuses]] können wie bei anderen Programmen einzeln gesetzt oder als Hex-Code eingegeben werden. Der große Vorteil von AVR Burn-O-Mat ist aber, das es komfortable Dialoge für das Einstellen der Optionen des Oszillators und der Brown-out Detection gibt.&lt;br /&gt;
&lt;br /&gt;
[[Bild:Burn-O-Mat.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;betrifft Linux/Debian:&#039;&#039;&#039;&lt;br /&gt;
Da es beim .deb Paket der Version 2.1.2 bei mir sowie anderen Installationsprobleme gab habe ich bei ubuntuusers.de unter dem Link[http://forum.ubuntuusers.de/topic/installationsprobleme-avr8-burn-o-mat/]&lt;br /&gt;
einen kleine Workaround gepostet der das Problem beheben sollte.&lt;br /&gt;
Das gefixte .deb-Paket befindet sich in oben genanntem Thread zum Download.&lt;br /&gt;
Getestet bei mir unter Ubuntu 10.10, 32 und 64 Bit&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ergänzung 1.3.2015&#039;&#039;&#039; von microkirsche: Das gefixte .deb-Paket erzeugt Fehlermeldungen beim Software-Center von Ubuntu und auch von dpkg-Installer im Terminal. Ich habe den Autor (Torsten Brischalle) gebeten, dies zu beheben. Das aktuelle .deb-Paket ist getestet unter 12.04LTS und 14.04LTS.&lt;br /&gt;
&lt;br /&gt;
Edit by metalfan: Alternativer Workaround: Die .zip datei für alle OSes laden und das start.sh um ein cd &amp;lt;&amp;lt;pfad zum burnomat-ordner&amp;gt;&amp;gt; erweitern (vor dem Java aufruf). &lt;br /&gt;
&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:cd $( dirname &amp;quot;$0&amp;quot; )&lt;br /&gt;
:java -jar AVR8_Burn_O_Mat.jar&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
&lt;br /&gt;
*http://burn-o-mat.net&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selbsthilfethread zur Erweiterung mit neuen AVRs:&lt;br /&gt;
*http://www.mikrocontroller.net/topic/219393?goto=2192552#2192552&lt;br /&gt;
&lt;br /&gt;
Online Fuse Calculator:&amp;lt;br&amp;gt;&lt;br /&gt;
*http://burn-o-mat.net/avr8_burn_o_mat_avrdude_gui_online.html&lt;br /&gt;
&lt;br /&gt;
Workaround für Linux/Debian bei oben genanntem Problem:&amp;lt;br&amp;gt;&lt;br /&gt;
*http://forum.ubuntuusers.de/topic/installationsprobleme-avr8-burn-o-mat/&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Programmer und -Bootloader]]&lt;/div&gt;</summary>
		<author><name>Thinksilicon</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=MOTOROLA_VIP1710&amp;diff=56911</id>
		<title>MOTOROLA VIP1710</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=MOTOROLA_VIP1710&amp;diff=56911"/>
		<updated>2011-04-28T21:12:18Z</updated>

		<summary type="html">&lt;p&gt;Thinksilicon: /* Neuen Kernel bauen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Verwandte Artikel =&lt;br /&gt;
* Konfiguration: http://www.mikrocontroller.net/topic/174428&lt;br /&gt;
* weiteres Forum für VIP1710 auf open7x0.org http://www.open7x0.org/arena/forumdisplay.php?fid=81&lt;br /&gt;
&lt;br /&gt;
IRC: irc://irc.einirc.de#vip1710&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
* Betriebsspannung 5 V-/3 A, Hohlbuchse 5,5/2,5 mm (Pluspol innen)&lt;br /&gt;
* Linux-Betriebssystem&lt;br /&gt;
* MIPS Prozessor mit integriertem MPEG-Decoder&lt;br /&gt;
* TI DSP&lt;br /&gt;
* ATI Xilleon 210&lt;br /&gt;
* 128 MB RAM&lt;br /&gt;
* Anschlüsse: USB, LAN, Scart, digitaler Audioausgang (koaxial), AV-Ausgang, (Cinch), S-Video Ausgang, Seriell (intern 5V Pegel)&lt;br /&gt;
* Smartcard-Leser&lt;br /&gt;
&lt;br /&gt;
== verstecktes Menü ==&lt;br /&gt;
Während des Boot-Vorgangs kann durch Drücken der Taste &amp;quot;Menü&amp;quot; (auf der Fernbedienung) das Einstellungsmenü der STB aufgerufen werden. Sofern die STB noch nie zuvor gestartet wurde, wird dieses Menü automatisch angezeigt. Es lassen sich Einstellungen zum gewählten Format NTSC/PAL und zu den Ausgängen (S-Video, Video, SCART) vornehmen.&lt;br /&gt;
&lt;br /&gt;
Betätigt man nun jedoch auf der Fernbedienung jedoch nacheinander die Tasten 2-3-5-7, so erweitert sich das Menü auf die zusätzlichen Eingabemöglichkeiten für die Netzwerkkonfiguration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VORSICHT!&#039;&#039;&#039; Versucht man über den roten Knopf ein Update einzuspielen, bleibt die Box immer beim Starten hängen und bootet nicht mehr. Per Telnet lässt sie sich auch nicht mehr ansprechen.&lt;br /&gt;
&lt;br /&gt;
== weitere Konfigurationsmöglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
Nachdem zuvor eine Telnet/SSH-Sitzung eröffnet wurde, kann man mittels&lt;br /&gt;
&lt;br /&gt;
 toish as Activate 3&lt;br /&gt;
&lt;br /&gt;
ein sehr umfangreiches Konfigurationsmenü mit den vier Untermenüs General, TV, Browser und Systeminformation aufrufen. Um Einstellungen vorzunehmen, ist jedoch die Fernbedienung erforderlich. Die dortigen Einstellungsmöglichkeiten sind selbsterklärend.&lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
Varianten:&lt;br /&gt;
&lt;br /&gt;
1. Motorola - Motorola: großer Kühlkörper PCB V 1.4 mit Flashrom, Bootrom 39l040 signiert&lt;br /&gt;
&lt;br /&gt;
2. Motorola - Motorola: großer Kühlkörper PCB V 1.4 ohne Flashrom, Bootrom 39l040 signiert&lt;br /&gt;
&lt;br /&gt;
3. KPN - Kreatel: 2 kleine Kühlkörper PCB V 1.2 ohne Flashrom, Bootrom 39l020 unsigniert&lt;br /&gt;
&lt;br /&gt;
4. Motorola (Gehäuse) - Kreatel (PCB): großer Kühlkörper PCB V1.4 ohne Flashrom, Bootrom 39L040 unsigniert, kann wie Typ3 behandelt werden&lt;br /&gt;
&lt;br /&gt;
5. Motorola (Gehäuse) - Kreatel (PCB): großer Kühlkörper PCB V1.4 mit Flashrom, Bootrom 39L040 signiert (VIP1710-F32)&lt;br /&gt;
&lt;br /&gt;
6. KPN - Kreatel: großer Kühlkörper PCB V 1.4 ohne Flashrom, Bootrom 39l020 unsigniert&lt;br /&gt;
&lt;br /&gt;
weitere?&lt;br /&gt;
&lt;br /&gt;
Serielle Schnitstelle ist &amp;quot;J12&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Version mit großem Kühlkörper / 39l040 / Flash&lt;br /&gt;
&lt;br /&gt;
http://www.mikrocontroller.net/attachment/75874/iptvinnen.png&lt;br /&gt;
&lt;br /&gt;
Bild einer Kreatel Box&lt;br /&gt;
&lt;br /&gt;
[[Bild:kreatel.jpg|768px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[datei:xilleon220.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Chips ===&lt;br /&gt;
*CPU AMD/ATI Xilleon 210 ATI Xilleon 210 (215H34AGA12HG)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Xilleon 210 is the most advanced system-on-chip available for value-priced STBs and DTVs. The design integrates a CPU, flexible and powerful TS demux, conditional access, MPEG-2 decoding of video and audio at SD or HD resolutions, market-leading powerful graphics, video picture processing technology and a range of peripheral I/O including an on-chip USB1.1 controller and video DACs meeting worldwide video standards (PAL/SECAM/NTSC).&lt;br /&gt;
&lt;br /&gt;
The video picture processing features high quality scaling with pan-and-scan, windowing and aspect-ratio controls, together with pixel based de-interlacing, flicker-filtering, brightness, contrast and color management, ensuring excellent TV picture quality.&lt;br /&gt;
&lt;br /&gt;
The Xilleon 210 incorporates a powerful 300MHz 32-bit MIPS CPU and a performance-optimised memory controller coupling the chip to an external 16 or 32bit single-channel DDR memory at speeds of up to 183MHz. This combination of CPU and special attention to the internal memory architecture design ensures optimal processing power for the core feature set as well as a plentiful supply of CPU bandwidth for responsive and compelling TV applications.&lt;br /&gt;
&lt;br /&gt;
A complete reference-platform development kit including drivers and sample applications is available, enabling rapid time-to-market development.&lt;br /&gt;
&lt;br /&gt;
Features and Benefits&lt;br /&gt;
&lt;br /&gt;
        * Multi-standard TS Demux and Descramblers to support worldwide markets (DVB, ATSC)&lt;br /&gt;
        * Single MPEG-2 SD (X210D) or HD (X210H) decode&lt;br /&gt;
        * Integrated 2D/3D Graphics processor&lt;br /&gt;
        * Powerful and flexible Display Engine featuring high quality scaling of Video and Graphics and picture processing technology&lt;br /&gt;
        * Integrated 300MHz 32-bit MIPS CPU&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
*TI Digital Media Processor (TMS320DM642AZNZ) DSP TI TMS320dm642 [http://focus.ti.com/docs/prod/folders/print/tms320dm642.html]&lt;br /&gt;
*Winbond W39L040P-702 (512k x 8 CMOS Flash Memory) [http://www.datasheetcatalog.org/datasheets2/34/342426_1.pdf]&lt;br /&gt;
*USB Host Controller NEC D720101 (USB 2.0 Host Controller)&lt;br /&gt;
*2x Qimonda HYB2500C512160CE-6 &lt;br /&gt;
*2x ESMT M12L64322A (SDRAM 512k x 32bit x 4banks  3,3V)&lt;br /&gt;
*National DP83816 (10/100Mbit PCI Ethernet Controller)&lt;br /&gt;
*2x NAND128W3A2BN6 von ST (128 Mbit) (32Mbyte, nur Variante mit Flash)&lt;br /&gt;
*TDA8004AT von NXP&lt;br /&gt;
&lt;br /&gt;
=== Aufteilung des Flashspeichers ===&lt;br /&gt;
&lt;br /&gt;
*mtd1: 512/256 kB Flash Winbond W39L040P/W39L020P (nur 256 kB benutzt)&lt;br /&gt;
*mtd0: letzter Bereich von mtd1 (Filesystem &amp;quot;/flash&amp;quot;)&lt;br /&gt;
*mtd2: 32 MByte Flash (Lesen mit dd if=/dev/mtd/2 bs=16k skip=2)&lt;br /&gt;
*mtd4: letzter Bereich von mtd2 (Filesystem &amp;quot;/flash2&amp;quot; Lesen mit dd if=/dev/mtd/2 bs=16k skip=1793)&lt;br /&gt;
&lt;br /&gt;
Splash und Kernel liegen in mtd2, AES verschluesselt,&lt;br /&gt;
AES Key dazu (MediaMall Variante des STB):&lt;br /&gt;
&lt;br /&gt;
  03 BF 2A E2 E4 6B 63 9B B8 C0 39 71 69 D4 B1 5C&lt;br /&gt;
  51 D3 39 B9 1D 9C CE 88 BB 46 8F 43 6E CF 8E 4B   &lt;br /&gt;
&lt;br /&gt;
Splash und Kernel sind nicht nur verschluesselt sondern &lt;br /&gt;
auch signiert.&lt;br /&gt;
&lt;br /&gt;
Gespeicherte Daten in &amp;quot;/flash&amp;quot; und &amp;quot;/flash2&amp;quot; sind&lt;br /&gt;
persistent.&lt;br /&gt;
&lt;br /&gt;
Der Hash im Winbond Flash ist der SHA-1, der Verschluesselungs&lt;br /&gt;
Code ist ein proprietaere Algorithmus (wird z.B. zum Verschluesseln&lt;br /&gt;
der &amp;quot;ProductionData&amp;quot; im Winbond Flash verwendet).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/dev/mem&amp;quot; liefert die kompletten 112 MB RAM (z.B. mit&lt;br /&gt;
dem entpackten zweiten Teil des Bootloader).&lt;br /&gt;
&lt;br /&gt;
=== Schreibschutz der beiden NAND Flash-Chips ===&lt;br /&gt;
&lt;br /&gt;
Pin 19 der beiden NAND128W3A2BN6 Flash-Chips (IC9 sowie IC13) ist \WP (write protect).&lt;br /&gt;
&lt;br /&gt;
Dieser Pin ist bei beiden Chips miteinander verbunden und mit einem Pullup-Widerstand (R222) versehen. Direkt daneben sitzt R223; dieser ist nicht bestückt. Dieser Widerstand verbindet den \WP mit GND. Um einen Schreibschutz zu aktivieren, kann dort ein Schalter eingebaut werden, der den \WP-Pin auf LOW zieht.&lt;br /&gt;
&lt;br /&gt;
== Fernbedienung ==&lt;br /&gt;
&lt;br /&gt;
Bei der schlanken Infrarot-Fernbedienung (wie sie bei Pollin unter der [http://www.pollin.de/shop/dt/MDk5OTczOTk-/HiFi_Car_HiFi_Video_TV/TV/Fernbedienungen/Fernbedienung_KPN.html Artikelnummer 620009] verfügbar ist) handelt es sich um die mit einer weiteren Reihe von 4 Tasten (ganz unten) ergänzte Fernbedienung vom Typ [http://www.ruwido.com/products/r77/ r77] aus dem Hause [http://www.ruwido.com/ ruwido] in Österreich.&lt;br /&gt;
&lt;br /&gt;
[[Datei:VIP1710FB.jpg|320px]]&lt;br /&gt;
&lt;br /&gt;
Öffnen läßt sich die Fernbedienung übrigens gänzlich ohne Werkzeug: Einfach vorsichtig mit den etwas längeren Fingernägeln zwischen die obere und untere Gehäusehalbschale der Fernbedienung gehen und diese dort langsam und gleichmäßig auseinanderhebeln. In der Fernbedienung werkelt der MC9S08RD32DWE, ein auf dem HCS08 basierender Microcontroller aus dem Hause [http://www.freescale.com/ freescale].&lt;br /&gt;
&lt;br /&gt;
Die mit &amp;quot;mode&amp;quot; beschriftete Taste schaltet zwischen der TV-Fernbedienung (grüne LED blinkt kurz bei Betätigung einer belegten Taste) und IPTV-Fernbedienung (orange LED blinkt kurz bei Betätigung einer Taste) hin und her. Der TV-Code wird programmiert, indem man die &amp;quot;mode&amp;quot;-Taste für ca. 2 Sekunden gedrückt hält bis die grüne LED zweimal blinkt. Anschließend muss man den dreistelligen Geräte-Code des TV-Gerätes eingeben, der durch erneutes Blinken bestätigt wird. Schön anzusehende Dinge unterliegen oft einem Gebrauchsmusterschutz. Daher ist es naheliegend, dass die beim Telekom IPTV-Gerät &amp;quot;T-Home X300 T&amp;quot; verwendete Fernbedienung (die zumindest optisch starke Gemeinsamkeiten aufweist, jedoch teilweise andere Tastenbelegungen hat) ebenfalls aus dem Hause [http://www.ruwido.com/ ruwido] stammt. Die [http://www.telekom.de/dlp/eki/downloads/BA_X300T_Feb_2008.pdf Anleitung] zum Telekomgerät offenbart dann auch auf den Seiten 30-37 die entsprechenden Codes (getestet mit Code 565 und einem älteren Tevion-TV).&lt;br /&gt;
&lt;br /&gt;
Es gibt jedoch noch eine weitere Fernbedienung (gelabelt mit Motorola). Diese sieht deutlich klobiger aus. Eventuell rühren daher auch die leicht unterschiedlichen Keycodes!?!&lt;br /&gt;
&lt;br /&gt;
=== Keycodes der Fernbedienung ===&lt;br /&gt;
&lt;br /&gt;
Die Keycodes der Fernbedienung sind wie folgt:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Bezeichnung    Hexadezimal     dezimal Bezeichnung (Pollin-FB)&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039; in Literatur&#039;&#039;&#039;&lt;br /&gt;
 1              0x00310031      3211313 1&lt;br /&gt;
 2              0x00320032      3276850 2&lt;br /&gt;
 3              0x00330033      3342387 3&lt;br /&gt;
 4              0x00340034      3407924 4&lt;br /&gt;
 5              0x00350035      3473461 5&lt;br /&gt;
 6              0x00360036      3538998 6&lt;br /&gt;
 7              0x00370037      3604535 7&lt;br /&gt;
 8              0x00380038      3670072 8&lt;br /&gt;
 9              0x00390039      3735609 9&lt;br /&gt;
 0              0x00300030      3145776 0&lt;br /&gt;
 Backspace      0x00080008      7929977 terug&lt;br /&gt;
 TV             0x00720072      7471218 TV&lt;br /&gt;
 Info           0x00700070      7340144 help&lt;br /&gt;
 Info           0x00700070      7340144 gids&lt;br /&gt;
 Menu           0x007B007B      8061051 menu&lt;br /&gt;
 Up             0x00260026      2490406 up-arrow&lt;br /&gt;
 Right          0x00270027      2555943 right-arrow&lt;br /&gt;
 Down           0x00280028      2621480 down-arrow&lt;br /&gt;
 Left           0x00250025      2424869 left-arrow&lt;br /&gt;
 OK             0x0X0D000D       851981 OK&lt;br /&gt;
 Red            0x00740074      7602292 rot&lt;br /&gt;
 Green          0x00750075      7667829 grün&lt;br /&gt;
 Yellow         0x00760076      7733366 gelb&lt;br /&gt;
 Blue           0x00770077      7798903 blau&lt;br /&gt;
 Volume Up      0x01720072     24248434 volume +&lt;br /&gt;
 Volume Down    0x01710071     24182897 volume -&lt;br /&gt;
 Mute           0x01730073     24313971 mute&lt;br /&gt;
 Media Play     0x01740074     24379508 Pause/Play&lt;br /&gt;
 *              0x00260026      2490406 zender +&lt;br /&gt;
 *              0x00280028      2621480 zender -&lt;br /&gt;
 Media Rew      0x01750075     24445045 &amp;lt;&amp;lt;&lt;br /&gt;
 Media Stop     0x01770077     24576119 stop&lt;br /&gt;
 *              0x0=6D006D      7143533 record&lt;br /&gt;
 Media FF       0x01760076     24510582 &amp;gt;&amp;gt;&lt;br /&gt;
 *              0x00410041      4259905 ab Kapitel ?!?&lt;br /&gt;
 *              0x00420042      4325442 hh&lt;br /&gt;
 *              0x00430043      4390979 Merker setzen (Büroklammer)&lt;br /&gt;
 *              0x00440044      4456516 springe zu Merker (Pfeil zu Büroklammer)&lt;br /&gt;
 Text           0x00710071      7405681 tekst&lt;br /&gt;
 *              0x00460046      4587590 opnames (Bandkassette)&lt;br /&gt;
 *              0x00470047      4653127 radio (Noten)&lt;br /&gt;
 Portal         0x00780078      7864440 diensten (Weltkugel)&lt;br /&gt;
 Tab            0x00090009       589833	*&lt;br /&gt;
 Return         0x000D000D       851981	*&lt;br /&gt;
 Shift          0x00100010      1048592	*&lt;br /&gt;
 Control        0x00110011      1114129	*&lt;br /&gt;
 Alt            0x00120012      1179666	*&lt;br /&gt;
 Capslock       0x00140014      1310740 *&lt;br /&gt;
 Stop           0x001B001B      1769499 *&lt;br /&gt;
 Standby        0x011B001B     18546715 *&lt;br /&gt;
 Space          0x00200020      2097184 *&lt;br /&gt;
 Scroll up      0x01260026     19267622 *&lt;br /&gt;
 Scroll left    0x01250025     19202085 *&lt;br /&gt;
 Scroll right   0x01270027     19333159 *&lt;br /&gt;
 Scroll down    0x01280028     19398696 *&lt;br /&gt;
 WWW            0x00730073      7536755 *&lt;br /&gt;
&lt;br /&gt;
Die in der linken Spalte mit einem * gekennzeichneten Tasten sind auf der Pollin-FB vorhanden, werden jedoch in der Literatur bislang nicht erwähnt. Die in der rechten Spalte mit einem * kekennzeichneten Codes sind auf der Pollin-FB hingegen nicht vorhanden. Eventuell beziehen sich diese Angaben auf die original Motorola-FB. In normalen Klammern gesetzte Bezeichnungen beschreiben das entsprechende Piktogramm. Alle Tasten sind im Wesentlichen in der Reihenfolge von oben nach unten, von links nach rechts gesehen. Der Code für die bei der Pollin-FB mit &amp;quot;help&amp;quot; sowie mit &amp;quot;gids&amp;quot; beschrifteten Tasten ist wirklich identisch!&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
== Motorola open source ==&lt;br /&gt;
open source software used in the VIP15x0 and VIP17x0 series set-top boxes: [https://opensource.motorola.com/sf/sfmain/do/viewProject/projects.vip15x0_vip17x0  Link]&lt;br /&gt;
&lt;br /&gt;
Bootloader [https://opensource.motorola.com/sf/frs/do/viewRelease/projects.vip15x0_vip17x0/frs.vip15x0_and_vip17x0.bootloader Link]&lt;br /&gt;
(dem Anschein nach enthält dieses Archiv nicht nur den Bootloader sondern sehr viel mehr, es ist - bz2 komprimiert - ca. 120MB gross [[Datei:Contents.txt|Inhaltsvereichnis]]; laut README enthält es auch die Keys, mit denen die Images signiert bzw. verschlüsselt sind). &lt;br /&gt;
&lt;br /&gt;
KreaTV 3.3: [https://opensource.motorola.com/sf/frs/do/viewRelease/projects.vip15x0_vip17x0/frs.vip15x0_and_vip17x0.kreatv_3_3  Link]&lt;br /&gt;
&lt;br /&gt;
Tftdp32 v3.35: [https://opensource.motorola.com/sf/sfmain/do/viewProject/projects.vip_motoplyr Link]&lt;br /&gt;
&lt;br /&gt;
MotoPLYR: &amp;lt;Link noch nicht bekannt, bitte ergänzen, Danke!&amp;gt; Informationen: [https://opensource.motorola.com/sf/sfmain/do/viewProject/projects.vip_motoplyr]&lt;br /&gt;
&lt;br /&gt;
== Tutorial für Box vom Typ 1 (Motorola: PCB V 1.4 mit Flashrom, Bootrom 39l040 signiert) ==&lt;br /&gt;
Dieses Tutorial beschreibt die Situation bei den MediaMall/Motorola &amp;quot;Gehäusen&amp;quot; mit Flash und funktionierendem telnet.&lt;br /&gt;
&lt;br /&gt;
Wer zunächst einfach mal den Speicher erweitern möchte und ein SSH dem telnet bevorzugt, der kann hier schnell starten.&lt;br /&gt;
Zunächst gilt es die IP für das Gerät zu finden. Praktischerweise ist das meist im hauseigenem Router sehr schnell und unkompliziert zu finden.&lt;br /&gt;
Hat man das geschafft, so darf man:&lt;br /&gt;
 telnet 192.168.1.6&lt;br /&gt;
Wobei 192.168.1.6 die vom DHCP zugewiesene IP beispielhaft darstellt.&lt;br /&gt;
&lt;br /&gt;
Nun haben wir eine Verbindung mit dem Motorola. Ich nutze meinen Apache-Webserver weil er schnell griffbereit ist (anders geht es sicher auch - Hauptsache wget kann was damit anfangen). Nehmen wir das Skript aus dem Forum (ihr findet es weiter unten, zwecks Synchronisation von Änderungen) und kopieren es in das Verzeichnis /tmp :&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://192.168.1.4/motorola.sh&lt;br /&gt;
&lt;br /&gt;
Danach nutzen wir die USB- und SSH-Module aus dem Forum. Diese packen wir auf den Webserver. Allerdings müssen die Dateien in den komprimierten Verzeichnissen vorher entpackt werden! Wer möchte, kann schon seinen USB-Stick/Festplatte reinstecken.&lt;br /&gt;
 chmod 755 motorola.sh&lt;br /&gt;
 ./motorola.sh&lt;br /&gt;
&lt;br /&gt;
Und nun große Freude: Ihr könnt euch per SSH als Benutzer &amp;quot;root&amp;quot; verbinden und USB-Sticks mounten (Unmounten mit &amp;quot;umount /mnt/usbdevice&amp;quot;. Passwort gibt es allerdings nicht - das ist leer und kann nicht mit Passwd geändert werden.&lt;br /&gt;
&lt;br /&gt;
Wozu SSH, wenn auch telnet als Zugang vorhanden ist? Weil man einfacher per GUI Daten von der Box bekommt. Dazu eignet sich unter Windows WinSCP sehr gut.&lt;br /&gt;
Download unter [http://winscp.net/eng/docs/lang:de]&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Öffentliche&amp;quot; Downloadquelle ====&lt;br /&gt;
Für alle die, die keinen eigenen Webserver betreiben können/wollen gibt es auf der Seite von http://thinksilicon.de die fraglichen Dateien + Skripte in etwas abgeänderter Form. Dort gibt es auch madplay zum Abspielen von MP3-Dateien und ein Script zum Abspielen von Internetstreams:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://thinksilicon.de/data/linux/vip1710/motorola.sh&lt;br /&gt;
 sh motorola.sh&lt;br /&gt;
Einfach herunterladen und ausführen. Es installiert sshd, scp und ssh, sowie die Kernelmodule für USB-Speicher und fragt nach ob madplay auch installiert werden soll. Über den Befehl&lt;br /&gt;
 madstream &amp;lt;URI&amp;gt;&lt;br /&gt;
kann dann auch ein Internetstream abgespielt werden.&lt;br /&gt;
&lt;br /&gt;
== Tutorial für Box vom Typ 2 (Motorola: PCB V 1.4 OHNE Flashrom, Bootrom 39l040 signiert) ==&lt;br /&gt;
&lt;br /&gt;
1. tftpd32 aufsetzen. Wie genau..?&lt;br /&gt;
Für Ubuntu gibt es Tipps [http://www.davidsudjiman.info/2006/03/27/installing-and-setting-tftpd-in-ubuntu/ hier].&lt;br /&gt;
&lt;br /&gt;
2. Signierten original Kernel skernel-1710 zur Verfügung stellen&lt;br /&gt;
&lt;br /&gt;
== Tutorial für Box vom Typ 3 (Kreatel: PCB V 1.2 ohne Flashrom, Bootrom 39l020 unsigniert) ==&lt;br /&gt;
&lt;br /&gt;
Hierbei wird von der Box ein unsignierter [http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1710296 Kernel] per tftpd gebootet.&lt;br /&gt;
&lt;br /&gt;
Ohne Kernel steht zunächst keine Shell über die Konsole bzw. über telnet zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Die Box protokolliert die Serveradresse an der Konsole (s.u.), der TFTP Transfer(-Versuch) kann aber auch z.B. mit tcpdump analysiert werden.&lt;br /&gt;
&lt;br /&gt;
1. tftpd32 aufsetzen. Wie genau..? Für Ubuntu gibt es Tipps [http://www.davidsudjiman.info/2006/03/27/installing-and-setting-tftpd-in-ubuntu/ hier].&lt;br /&gt;
&lt;br /&gt;
Für Testzwecke kann der TFTP daemon (als root) von der Kommandozeile gestartet werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# in.tftpd -L -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. kernel-1710 mit dem die kickstart.sh auf dem USB Datenträger auch ausgeführt wird zur Verfügung stellen&lt;br /&gt;
&lt;br /&gt;
Auszug aus bootlog:&lt;br /&gt;
-------------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STRIKE!&lt;br /&gt;
&lt;br /&gt;
Ich habe mit dem Source von http://duff.dk/zaptor/ (mit angepasstem Key&lt;br /&gt;
natürlich) den skernel-1710 decrypted und dies dann der Kreatel-Box als&lt;br /&gt;
kernel-1710 per TFTP vorgeworfen.&lt;br /&gt;
&lt;br /&gt;
Und siehe da:&lt;br /&gt;
&lt;br /&gt;
Using TFTP&lt;br /&gt;
TFTP: Downloading...&lt;br /&gt;
Name: kernel-1710&lt;br /&gt;
Server: 212.178.98.165&lt;br /&gt;
(ELF)...&lt;br /&gt;
done&lt;br /&gt;
loaded at:     82000000 820C4604&lt;br /&gt;
zimage at:     8200F000 820C4604&lt;br /&gt;
Uncompressing Linux at load address 80100000&lt;br /&gt;
initrd at:     820C4604 82EA448C&lt;br /&gt;
relocated to:  802DAFF8 810BAE80&lt;br /&gt;
Booting linux kernel&lt;br /&gt;
[...]&lt;br /&gt;
Linux version 2.4.30 (dailybuild@svn) (gcc version 3.4.6) #1 Thu Jan 11&lt;br /&gt;
14:28:39&lt;br /&gt;
[...]&lt;br /&gt;
BusyBox v1.01 (2007.01.11-16:43+0000) Built-in shell (ash)&lt;br /&gt;
Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update Bootloader, Kernel, Flash ==&lt;br /&gt;
&lt;br /&gt;
Ohne Modifikationen an den Boxen:&lt;br /&gt;
&lt;br /&gt;
Typ 1: Kernel+initrd wird aus dem Flash geladen. Andere Software kann über&lt;br /&gt;
telnet+wget auf die Box gebracht werden bis zum nächsten Ausschalten.&lt;br /&gt;
&lt;br /&gt;
Typ 2: Signierter Kernel+initrd muß per tftp zur Verfügung gestellt werden. Da die Signierung noch nicht &#039;geknackt&#039; wurde, kann man ausschließlich das Originalimage verwenden!&lt;br /&gt;
&lt;br /&gt;
Typ 3: Diese Box akzeptiert von Haus aus unsignierte Images, die mangels onboard Flash ebenfalls nur per tftp zur Verfügung gestellt werden müssen.&lt;br /&gt;
&lt;br /&gt;
Modifikationen:&lt;br /&gt;
&lt;br /&gt;
1. Der W39L040mod macht nur Sinn, bei Box Typ 1+2, damit ein unsignierter&lt;br /&gt;
Kernel und initrd Image gebootet werden kann. Box Typ 3 kann das schon von zuhause aus.&lt;br /&gt;
&lt;br /&gt;
2. Einen neuen Kernel bauen macht nur Sinn für nach 1. modifizierte Boxen vom Typ 1+2, oder für Box Typ 3. Dieses unsignierte Image kann dann per tftp gebootet werden.&lt;br /&gt;
&lt;br /&gt;
3. Da nur Box Typ 1 überhaupt über onboard Flash verfügt, kann man einen&lt;br /&gt;
Update über die Infocast Tools nur für diesen Typ 1 machen und auch nur, wenn&lt;br /&gt;
man vorher den W39L040 Mod. durchgeführt hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== W39L040mod ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:VIP1710_W39L040mod1.jpg|320px]]&lt;br /&gt;
[[Datei:VIP1710_W39L040mod2.png|320px]]&lt;br /&gt;
&lt;br /&gt;
==== Einspielen des Bootloaders der Box Typ3 auf eine Box Typ1 oder 2 ====&lt;br /&gt;
&lt;br /&gt;
Gerät stromlos machen, Leiterbahn an TP58 auftrennen (dies unterbricht die Verbindung zwischen Pin 18 (O1) des IC12/LC573 und Pin 1 (A18) des IC7/W39L040) und wieder einschalten. Nach dem Booten einen Schraubenzieher nehmen und Pin 1 und 32 vom W39L040 kurzschließen (Dadurch wird VDD/3.3V auf die Adressleitung A18 des Flash-Speichers gegeben).&lt;br /&gt;
&lt;br /&gt;
Alternativ kann auch ein Jumper an Pin 1 und 32 angelötet werden.&lt;br /&gt;
&lt;br /&gt;
Der Kurzschluss muß beim Bespielen bestehen bleiben!&lt;br /&gt;
&lt;br /&gt;
Danach mit &lt;br /&gt;
&lt;br /&gt;
 dd if=stb1710-mtd1.bin of=/dev/mtdblock/1 &lt;br /&gt;
&lt;br /&gt;
den Bootflash mit der hier im Forum zu findenden [http://www.mikrocontroller.net/attachment/77103/stb1710-mtd1.bin stb1710-mtd1.bin] bespielen (Beitrag dazu: http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1706182).&lt;br /&gt;
&lt;br /&gt;
Die stb1710-mtd1.bin kann aber auch durch &lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/mtd/1 of=stb1710-mtd1.bin&lt;br /&gt;
&lt;br /&gt;
aus einer Typ3 Box geholt werden.&lt;br /&gt;
&lt;br /&gt;
Dann die BOX Ausschalten und die Pins verlöten.&lt;br /&gt;
&lt;br /&gt;
Jetzt sollte sie unsignierte und unverschlüsselte Images vom Netz&lt;br /&gt;
booten.&lt;br /&gt;
&lt;br /&gt;
An sich kann der Bootloader einer Typ3 Box nicht vom Flash booten. Was sich aber durch Ändern der proddata (ab 0x4000 im mtd1) ändern lässt.&lt;br /&gt;
&lt;br /&gt;
Die proddata sollten nachdem man den neuen Bootloader&lt;br /&gt;
aufgespielt und noch nicht neu gebootet hat, geändert werden! Sonst hat man unter Umständen eine Box, die nur noch über TFTP booten möchte.&lt;br /&gt;
&lt;br /&gt;
====Proddata====&lt;br /&gt;
&lt;br /&gt;
Beitrag: http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1719854&lt;br /&gt;
&lt;br /&gt;
Extrahierte proddata: Beitrag: http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1723897&lt;br /&gt;
&lt;br /&gt;
Die proddata werden mit&lt;br /&gt;
 &lt;br /&gt;
 dd if=stb1710-mtd1.bin of=proddata bs=256 skip=64 count=8&lt;br /&gt;
&lt;br /&gt;
aus dem Flashimage einer Typ3 Box extrahiert. &amp;quot;proddata&amp;quot; ist dann genau 2048 Bytes groß (ist einfacher zu handhaben, die proddata aus dem verlinkten Beitrag ist etwas größer!).&lt;br /&gt;
&lt;br /&gt;
Es sind dort vier Einstellungen vorzunehmen. &lt;br /&gt;
&lt;br /&gt;
Die Mac Adresse ändern:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;PrimaryEthernetMAC&amp;gt;00:02:9B:09:32:85&amp;lt;/PrimaryEthernetMAC&amp;gt; ,&lt;br /&gt;
 (Beispiel MAC-Adresse, die richtige steht unten auf der Box)&lt;br /&gt;
&lt;br /&gt;
Den Hinweis für die Box ob sie Flash hat oder nicht:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LargeFlash&amp;gt;No&amp;lt;/LargeFlash&amp;gt;&lt;br /&gt;
 (kein Flash)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;LargeFlash&amp;gt;Yes&amp;lt;/LargeFlash&amp;gt;&lt;br /&gt;
 &amp;lt;LargeFlashCS0Size&amp;gt;16&amp;lt;/LargeFlashCS0Size&amp;gt;&lt;br /&gt;
 &amp;lt;LargeFlashCS1Size&amp;gt;16&amp;lt;/LargeFlashCS1Size&amp;gt;&lt;br /&gt;
 (mit Flash)&lt;br /&gt;
&lt;br /&gt;
Die Bootreihenfolge:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;FixedBootOrder&amp;gt;2&amp;lt;/FixedBootOrder&amp;gt; für Boxen ohne und&lt;br /&gt;
 &amp;lt;FixedBootOrder&amp;gt;323&amp;lt;/FixedBootOrder&amp;gt; für Boxen mit Flash.&lt;br /&gt;
&lt;br /&gt;
und die Adresse des TFTP Servers von dem Splash und Kernel gebootet werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 &amp;lt;TftpServer&amp;gt;192.168.178.20&amp;lt;/TftpServer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die geänderte ProductionsData schreibt man dann in den Boot-Flash:&lt;br /&gt;
&lt;br /&gt;
 dd if=proddata of=/dev/mtdblock/1 bs=256 seek=64&lt;br /&gt;
&lt;br /&gt;
Anschließend bootet man die Kiste neu. Nun werden Kernel und Splash entschlüsselt benötigt (aber das wurden sie ja eh schon um so weit zu&lt;br /&gt;
kommen, ansonsten [http://www.mikrocontroller.net/attachment/77448/Splashukernel.zip Download] und der [http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1710296 Beitrag] dazu), ausserdem müssen die Dateien so angepasst werden, dass sie exakt ein Vielfaches von 16 kByte lang sind.&lt;br /&gt;
&lt;br /&gt;
Die Files schreibt man dann ins Flash (bei Boxen mit Flash):&lt;br /&gt;
&lt;br /&gt;
 dd if=splash-1710.padded of=/dev/mtd/2 bs=16k seek=24&lt;br /&gt;
 dd if=kernel-1710.padded of=/dev/mtd/2 bs=16k seek=88&lt;br /&gt;
&lt;br /&gt;
=== Neuen Kernel bauen ===&lt;br /&gt;
&lt;br /&gt;
Beitrag: http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1714094&lt;br /&gt;
bzw. http://www.mikrocontroller.net/topic/pollin-motorola-vip1710?page=2#1714094&lt;br /&gt;
&lt;br /&gt;
Die initrd lässt sich doch bearbeiten. Das Ergebnis darf aber nicht&lt;br /&gt;
größer sein als das Original.Es wird wohl daran liegen, das die Initrd&lt;br /&gt;
oberhalb vom Kernel am Schluss des Speichers geladen wird.&lt;br /&gt;
Ich habe das mal ein wenig zusammengestellt:&lt;br /&gt;
Ich gehe mal davon aus ,das im Arbeitsverzeichnis ein rootdisk&lt;br /&gt;
Verzeichnis existiert.&lt;br /&gt;
Des weiteren ein ein Zweiter mountpoint /mnt2&lt;br /&gt;
Auf /mnt ist die initrd2 gemountet.&lt;br /&gt;
In dem rootdisk Ordner sind die Dateien zum spielen.Zuerst mal die&lt;br /&gt;
ausgepackten aus der original rootdisk.tar.gz&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=initrd4 count=31500&lt;br /&gt;
 mkfs.ext2 initrd4&lt;br /&gt;
 tar -cf rootdisk.tar rootdisk/&lt;br /&gt;
 gzip -9 rootdisk.tar&lt;br /&gt;
 mount -o loop,noatime,nodiratime initrd4 /mnt2&lt;br /&gt;
 cp /mnt/* -r mnt2&lt;br /&gt;
 cp rootdisk.tar.gz mnt2&lt;br /&gt;
 umount /mnt2&lt;br /&gt;
 gzip initrd4 -9&lt;br /&gt;
 cat vmlinux.gz initrd4.gz ramdisk-1710 &amp;gt;/tftpboot/kernel-1710&lt;br /&gt;
&lt;br /&gt;
Es ist besser, die initrd4 immer mal wieder neu anzulegen da sie bei&lt;br /&gt;
jeden Lösch- und Bespielvorgang unmerklich größer wird.&lt;br /&gt;
&lt;br /&gt;
Der letzte Befehl funktioniert so nur, wenn die richtigen Offsets beim extrahieren des Kernels verwendet wurden.&lt;br /&gt;
Dies kann wie folgt geschehen:&lt;br /&gt;
 dd if=kernel-1710 of=vmlinux.gz bs=20480 skip=1 count=37&lt;br /&gt;
 dd if=vmlinux.gz of=vmlinux2.gz bs=742924 count=1&lt;br /&gt;
 dd if=kernel-1710 of=head bs=20480 count=1&lt;br /&gt;
 dd if=kernel-1710 of=initrd.gz bs=763404 skip=1&lt;br /&gt;
 dd if=initrd.gz of=tail bs=14548353 skip=1&lt;br /&gt;
 rm vmlinux.gz&lt;br /&gt;
 rm initrd.gz&lt;br /&gt;
 mv vmlinux2.gz vmlinux.gz&lt;br /&gt;
Es sind jetzt folgende Dateien vorhanden: head, vmlinux.gz, tail. Diese können jetzt zusammen mit der selbst erzeugten initrd4.gz zu einem bootfähigen Image zusammengefügt werden:&lt;br /&gt;
 cat head vmlinux.gz initrd4.gz tail &amp;gt;/tftpboot/kernel-1710&lt;br /&gt;
&lt;br /&gt;
Die BOX mountet auch selbständig USB Platten wenn sie die Kernel Module&lt;br /&gt;
hat und in der rc.sysinit das &amp;quot;-t jfs&amp;quot; entfernt wird und die Festplatten&lt;br /&gt;
Überprüfung übersprungen wird.&lt;br /&gt;
Um Platz zu sparen habe ich den Mozilla mal entfernt. Damit die BOX aber&lt;br /&gt;
nicht von neuen bootet, in der start_platform.sh den sysman entfernt.&lt;br /&gt;
Leider hat sie danach kein Sound device mehr.Aber vielleicht finden sich&lt;br /&gt;
für den TI ja ein paar Kernel Module.&lt;br /&gt;
&lt;br /&gt;
Ist eigentlich nicht mehr aktuell nach dem das Toolkit erschienen ist.&lt;br /&gt;
Damit ist es sehr viel einfacher. Oder vielleicht noch so weit ,um die&lt;br /&gt;
Programme der Mediamall Rootdisk zu extrahieren.&lt;br /&gt;
&lt;br /&gt;
So neben bei: Die slash-1710 erfüllt nur die ersten 20650 byte irgendwelche Aufgaben. Danach kommt ein ganz Normales JPG Bild in der Auflösung 720x576.&lt;br /&gt;
&lt;br /&gt;
Die Box hat einen synthetischen MIPS-4kec-Core. Zu der verwendeten CPU vom Typ AMD (früher ATI) Xilleon 210 ist bislang kein Link zu einem Reference Manual o.ä. bekannt. Lediglich das [http://digilander.libero.it/Zabanitu/220_Technical_Reference_Manual.zip Reference Manual des Xilleon 220] wurde bislang ausfindig gemacht.&lt;br /&gt;
Der Kernel ist im Auslieferungzustand für die gcc-Architektur &amp;quot;4kc&amp;quot; kompiliert. Der Core hat 16kB Data- und Instruction-Caches und 4-Layer-Pipelines-Architektur. Er versteht aber scheinbar auch alles, was gcc für die &amp;quot;mips32r2&amp;quot;-Architektur übersetzt. Hier ist bislang nicht bekannt, ob diese&lt;br /&gt;
offiziell mit der &amp;quot;4kc&amp;quot;-Architektur kompatibel ist. Der Core hat keine Floating-Point-Einheit, daher ist ein &amp;quot;-msoft-float&amp;quot; bei gcc meist nicht verkehrt, da sonst das aufwendigere Kernel-basierte Emulationsverfahren greift, das ziemlich langsam ist. Beim Assembler-Hacking gilt wie üblich bei MIPS, dass man die Pipelines berücksichtigen muss - gilt insbesondere für Sprunganweisungen, aber aus weiteren Performance-Gründen auch für Speicherzugriffe.&lt;br /&gt;
&lt;br /&gt;
=== Infocast Tools - Flash updaten ===&lt;br /&gt;
Beitrag: http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1731168&lt;br /&gt;
&lt;br /&gt;
Die Infocast2 tools haben sich echt als nützlich erwiesen, mit denen&lt;br /&gt;
kann man den flash via diesem ominösem kreatel-ip-stb-rev-10 file neu&lt;br /&gt;
flashen.&lt;br /&gt;
&lt;br /&gt;
Dabei geht man folgendermaßen vor:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. download und auspacken der infocast2tools [[http://infocast2tools.sourceforge.net/ 1]]&lt;br /&gt;
&lt;br /&gt;
1b. wenn man Linux einsetzt müssen die Sourcen jetzt noch kompiliert werden&lt;br /&gt;
   cp server.c.ENGLISH server.c&lt;br /&gt;
   gcc -o server server.c&lt;br /&gt;
   Windows-Leute haben Glück, die exe-files werden mitgeliefert&lt;br /&gt;
&lt;br /&gt;
2. man legt ein Verzeichnis an welches man broadcasten möchte&lt;br /&gt;
&lt;br /&gt;
3. das kreatel-ip-stb-rev-10 !!!MUSS!!! 0002-0001-kreatel-ip-stb-rev-10&lt;br /&gt;
heissen und kann folgenden Inhalt haben:&lt;br /&gt;
&lt;br /&gt;
   bc_kernel_addr 224.2.2.2:22222&lt;br /&gt;
   bc_kernel_name kernel-1710&lt;br /&gt;
   bc_splash_addr 224.2.2.2:22222&lt;br /&gt;
   bc_splash_name splash-1710&lt;br /&gt;
   test&lt;br /&gt;
&lt;br /&gt;
   das test am ende ist beabsichtigt, da der sonst irgenwelche&lt;br /&gt;
   Verküppelungen am namen des splash-files vornimmt, war zumindest bei&lt;br /&gt;
   mir so&lt;br /&gt;
&lt;br /&gt;
4. das kernel bzw. splash file benennt man noch mit &amp;quot;0003-0001&amp;quot;-prefix&lt;br /&gt;
um in&lt;br /&gt;
   0003-0001-kernel-1710&lt;br /&gt;
   0003-0001-splash-1710&lt;br /&gt;
&lt;br /&gt;
5. man geht zur Kommandozeile und startet den broadcast&lt;br /&gt;
server 224.2.2.2 22222 $verzeichnis 1 100 Verbose=0&lt;br /&gt;
Der stream startet mit der Enter-Taste&lt;br /&gt;
&lt;br /&gt;
6. man startet die Box die nicht richtig will oder weil man zum Beispiel&lt;br /&gt;
wie ich den ROM Chip mit einer KPN box getauscht hat und nicht mehr&lt;br /&gt;
booten konnte, weil der Flash gekryptet/signiert war.&lt;br /&gt;
&lt;br /&gt;
7. Man schaut über die serielle Konsole zu wie das Flash neu beschrieben&lt;br /&gt;
wird.&lt;br /&gt;
&lt;br /&gt;
8. Fertig ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[1] http://infocast2tools.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
PS: Ich hab mal das log der ganzen Aktion angehängt.&lt;br /&gt;
Download: http://www.mikrocontroller.net/attachment/78965/bootlog_flash.log&lt;br /&gt;
&lt;br /&gt;
=== toish zur dauerhaften Bearbeitung von Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
Ohne vorangegangene Modifikationen lassen sich bereits mit dem von Hause aus vorhandenen Hilfsprogramm toish erste Veränderungen am System vornehmen. Weitere Hinweise hierzu unter [[http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1732625 1]]&lt;br /&gt;
&lt;br /&gt;
So kann mit toish beispielsweise ganz einfach die Startseite der Box geändert werden. &lt;br /&gt;
&lt;br /&gt;
 toish is SetObject config.portalurls &amp;quot;&amp;lt;?xml version=\&amp;quot;1.0\&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PortalURLs&amp;gt;&lt;br /&gt;
   &amp;lt;PortalURL&amp;gt;http://192.168.1.55&amp;lt;/PortalURL&amp;gt;&lt;br /&gt;
   &amp;lt;PortalURL&amp;gt;http://&amp;lt;/PortalURL&amp;gt;&lt;br /&gt;
   &amp;lt;PortalURL&amp;gt;https://&amp;lt;/PortalURL&amp;gt;&lt;br /&gt;
 &amp;lt;/PortalURLs&amp;gt;&amp;quot; permanent&lt;br /&gt;
&lt;br /&gt;
[1] http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1732625&lt;br /&gt;
&lt;br /&gt;
== Persistenter Flash in Box Typ 1 ==&lt;br /&gt;
&lt;br /&gt;
Auf der Box gibt es zwei Bereiche die persistent bleiben, dort liegt zum&lt;br /&gt;
Beispiel auch die settings2.xml. Wenn das motorola script jetzt nicht&lt;br /&gt;
zu gross ist - man hat unter /flash ca. 100kb zur Verfügung - kann man das auch dort abspeichern.&lt;br /&gt;
&lt;br /&gt;
 /dev/mtdblock/0 100.0k  28.0k  72.0k  28% /flash &lt;br /&gt;
&lt;br /&gt;
Problem ist, dass /flash mit noexec gemounted wird und man das script&lt;br /&gt;
nicht direkt ausfuehren kann, sondern den Umweg ueber sh nehmen muss.&lt;br /&gt;
&lt;br /&gt;
 sh /flash/myscript.sh &lt;br /&gt;
&lt;br /&gt;
Unter /flash2 sind ca. 4MB zur Verfuegung:&lt;br /&gt;
&lt;br /&gt;
 /dev/mtdblock/4           4.0M    100.0k      3.9M   2% /flash2&lt;br /&gt;
&lt;br /&gt;
== Automatisches Ausführen nach Systemstart über AVR an serieller Konsole ==&lt;br /&gt;
&lt;br /&gt;
ands hat dazu einen ATTiny2313, 20MHz Quarz und 2x22pf an die serielle Konsole gehängt. Im AVR-GCC Programm wird auf den Konsoleprompt gewartet und dann &#039;sh /flash2/motorola.sh&#039; ausgeführt. Bis zum Konsoleprompt vergeht ca. 1min.&lt;br /&gt;
&lt;br /&gt;
Download: http://www.mikrocontroller.net/attachment/80402/vip1710_t2313.zip&lt;br /&gt;
&lt;br /&gt;
[[Bild:ATTINY2313_pinout.jpg]] [[Bild:tiny_2313-vip1710.png]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:vip1710_t2313.jpg|768px]]&lt;br /&gt;
&lt;br /&gt;
== Automatisches Ausführen beim Systemstart OHNE Hardwaremodifikationen ==&lt;br /&gt;
&lt;br /&gt;
=== Webradio ===&lt;br /&gt;
Dank Hans-Werner Hilse kann mit einer modifizierten &#039;settings2.xml&#039; in /flash und einem dadurch ausgeführten /bin/sh /flash2/myrc Script, jetzt das Webradio auch ohne Zusatzhardware automatisch gestartet werden:&lt;br /&gt;
&lt;br /&gt;
Kurze Anleitung:&lt;br /&gt;
Über telnet/serielle Konsole in die Box einloggen&lt;br /&gt;
&lt;br /&gt;
 cd /flash2&lt;br /&gt;
 wget &amp;lt;url&amp;gt;/motorola.sh&lt;br /&gt;
 wget &amp;lt;url&amp;gt;/vip1710.tar.bz2&lt;br /&gt;
 wget &amp;lt;url&amp;gt;/myrc&lt;br /&gt;
 wget &amp;lt;url&amp;gt;/settings2.xml   (die gehackte Version!)&lt;br /&gt;
 cp settings2.xml /flash&lt;br /&gt;
&lt;br /&gt;
myrc hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 /bin/sh /flash2/motorola.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;lt;/dev/null &amp;amp;&lt;br /&gt;
 sleep 2&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
(den Befehlt &#039;nohup&#039; hat die Box anscheinend nicht..)&lt;br /&gt;
&lt;br /&gt;
Das klappt ganz wunderbar! Und die Weboberfläche ist sogar schneller da,&lt;br /&gt;
als mit der Tiny2313 Lösung.. (ca. nach 60s, anstatt ca. 90s).&lt;br /&gt;
&lt;br /&gt;
=== Gameboy Emulator (gnuboy) ===&lt;br /&gt;
&lt;br /&gt;
Dank Hans-Werner Hilse gibt es jetzt auch einen Gameboy Color Emulator auf der Boy Typ 1. Wie gehabt gefakte settings2.xml nach /flash, /flash2/myrc und die USB storage module zur Verfügung stellen:&lt;br /&gt;
 / # wget http://hilses.de/vip1710/usb-storage-modules.tar&lt;br /&gt;
 Connecting to hilses.de[62.75.159.166]:80&lt;br /&gt;
 usb-storage-modules. 100% |**********************************|   187 KB      &lt;br /&gt;
 00:00 ETA&lt;br /&gt;
 / # wget http://hilses.de/vip1710/settings-xml--stack-overflow-exploit.bin&lt;br /&gt;
 Connecting to hilses.de[62.75.159.166]:80&lt;br /&gt;
 settings-xml--stack- 100% |**********************************|   128 KB     &lt;br /&gt;
 00:00 ETA&lt;br /&gt;
 / # wget http://hilses.de/vip1710/myrc                                    &lt;br /&gt;
 Connecting to hilses.de[62.75.159.166]:80&lt;br /&gt;
 myrc                 100% |**********************************|   1059       &lt;br /&gt;
 00:00 ETA&lt;br /&gt;
 / # md5sum usb-storage-modules.tar &lt;br /&gt;
 c9a1422e8b1ad4cd1ac8e8af0732f7d2  usb-storage-modules.tar&lt;br /&gt;
 / # md5sum settings-xml--stack-overflow-exploit.bin &lt;br /&gt;
 84d6f170d81c4633e6e5623aa986bd3b  settings-xml--stack-overflow-exploit.bin&lt;br /&gt;
 / # md5sum myrc &lt;br /&gt;
 62dbb9bf6feabe701a8c3785dcbe74bf  myrc&lt;br /&gt;
 / # tar -xv -f usb-storage-modules.tar -C /flash2 &lt;br /&gt;
 modules&lt;br /&gt;
 modules/scsi_mod.o&lt;br /&gt;
 modules/sd_mod.o&lt;br /&gt;
 modules/usb-storage.o&lt;br /&gt;
 / # cp myrc /flash2/&lt;br /&gt;
 / # mkdir /flash2/flash-overlay&lt;br /&gt;
 / # cp /flash/settings2.xml /flash2/flash-overlay/settings2.xml&lt;br /&gt;
 / # cp settings-xml--stack-overflow-exploit.bin flash/settings2.xml &lt;br /&gt;
 / # sync&lt;br /&gt;
 / #&lt;br /&gt;
&lt;br /&gt;
Auf dem USB Stick müssen dann die Dateien:&lt;br /&gt;
&lt;br /&gt;
 plugrc&lt;br /&gt;
 hwsdist-root.tar.bz2 (beide in hws-gnuboy-dist.zip) enthalten&lt;br /&gt;
 Und ein Verzeichnis &#039;/roms-gnuboy&#039;, in dem sich die GBC Roms befinden müssen.&lt;br /&gt;
&lt;br /&gt;
Dieser so präparierte USB Stick und ein USB Joystick müssen (per Hub/Verteiler,&lt;br /&gt;
da die Box nur 1 USB Anschluß hat) beim booten eingesteckt sein.&lt;br /&gt;
Dann kommt zuerst ein dialog Menue mit Auswahl &#039;gnuboy&#039; und danach eine Dateiauswahl mit den roms. Leider ist die Romauswahl etwas &#039;tricky&#039;. Die Datei muß angewählt sein, dann bringt Joybutton1 den Namen in die Pfadanzeige.&lt;br /&gt;
Erst dann führt Joybutton0 den Start von gnuboy mit dem gewähltem Rom aus.&lt;br /&gt;
(Etwas üben.. dann klappt das; Cancel führt wieder zurück..)&lt;br /&gt;
Mit dem Menue kommt man - wenn man weiß, worauf man achten muß - nach&lt;br /&gt;
einiger Zeit ganz gut zurecht..&lt;br /&gt;
&lt;br /&gt;
Die Emulationsgeschwindigkeit ist - gerade noch - brauchbar - für viele&lt;br /&gt;
Spiele.. für einige aber auch nicht mehr (z.B 4x4 Offroad etc.) das ist&lt;br /&gt;
soo laanngsaam.. das geht gar nicht mehr..&lt;br /&gt;
&lt;br /&gt;
Trotzdem machts mit den anderen Spaß! Asteroids, Breakout, Städte&lt;br /&gt;
Verteidigen, Mario, V-Rally, Pacman.. alle prima..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zitat von Hans-Werner Hilse:&lt;br /&gt;
Auf http://hilses.de/vip1710 gibt es jetzt mal beispielhaft eine von&lt;br /&gt;
USB-Stick oder -HD lauffähige GnuBoy-Distro. Funktioniert in&lt;br /&gt;
Zusammenarbeit mit dem myrc-Skript, das ich da auch bereitstelle. Sonst&lt;br /&gt;
ggf. eigene Skripten anpassen.&lt;br /&gt;
Die Methode ist folgende: Via myrc wird während des frühen Bootvorgangs&lt;br /&gt;
(/etc/rc.sysinit) die &amp;quot;plugrc&amp;quot; vom Stick ausgeführt. Die modifiziert&lt;br /&gt;
leicht das Dateisystem, tauscht u.a. die /usr/bin/start_platform.sh aus,&lt;br /&gt;
die sonst normalerweise für den Start des Set-Top-Box-Stacks sorgt. Mein&lt;br /&gt;
Ersatz startet stattdessen halserver, esd und ein DFBTerm, das ein (mit&lt;br /&gt;
Joypad bedienbares) Menü präsentiert, mit dem man derzeit aber noch&lt;br /&gt;
nicht mehr machen kann, als GnuBoy zu starten und dafür ein ROM&lt;br /&gt;
aussuchen kann.&lt;br /&gt;
Könnte mir aber auch vorstellen, dass das für nicht-Gamer auch&lt;br /&gt;
interessant als Vorlage ist. Datei ist &amp;quot;hws-gnuboy-dist.zip&amp;quot;, Quellcode&lt;br /&gt;
(modifiziert nur DFBTerm und LiTE) gibt&#039;s da auch.&lt;br /&gt;
&lt;br /&gt;
=== Erhalt der toish-Möglichkeiten ===&lt;br /&gt;
Wer jedoch die Funktion toish mit den entsprechend in der settings2.xml gespeicherten Parametern benötigt (um beispielsweise eine Webseite auf einem beliebigen Webserver nach dem Start automatisch aufzurufen), der sollte wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
 wget http://hilses.de/vip1710/usb-storage-modules.tar&lt;br /&gt;
 wget http://hilses.de/vip1710/settings-xml--stack-overflow-exploit.bin&lt;br /&gt;
 wget http://hilses.de/vip1710/myrc                                    &lt;br /&gt;
 tar -xv -f usb-storage-modules.tar -C /flash2 &lt;br /&gt;
 cp myrc /flash2/&lt;br /&gt;
 mkdir /flash2/flash-overlay&lt;br /&gt;
 cp /flash/settings2.xml /flash2/flash-overlay/settings2.xml&lt;br /&gt;
 cp settings-xml--stack-overflow-exploit.bin flash/settings2.xml &lt;br /&gt;
 sync&lt;br /&gt;
&lt;br /&gt;
Und dann einige Sekunden warten, bevor die Box das erste Mal neu gestartet wird. Das heruntergeladene myrc-Skript sorgt dann dafür, dass das Verzeichnis /flash2/flash-overlay dann später sozusagen auf /flash &amp;quot;eingeblendet&amp;quot; wird (ein bind-mount), so dass toish und anderes, was die settings2.xml benutzt, später nur noch die gesicherte Version in /flash2/flash-overlay sieht (und auch verändern kann). Die gehackte settings2.xml bleibt also nur in der Anfangsphase des Bootvorgangs in /flash sichtbar, danach wird die andere sozusagen &amp;quot;darübergeblendet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Einige Details von Hans-Werner Hilse ===&lt;br /&gt;
&lt;br /&gt;
Ganz frisch ist noch ein Feature, das es - jedenfalls bei den Boxen, die Flash-Speicher haben - erlaubt, in den Bootprozess einzugreifen und ein eigenes Skript (und damit ggf. auch noch mehr Skripten) zu starten. Damit kann auch der reguläre Boot-Prozess ganz umgangen werden. Das ist, denke ich mal, interessant&lt;br /&gt;
auch für genug andere, daher habe ich das mal hier zusammengeschrieben:&lt;br /&gt;
&lt;br /&gt;
http://hilses.de/vip1710/&lt;br /&gt;
&lt;br /&gt;
Kurzfassung:&lt;br /&gt;
Mit /flash/settings2.xml kann man früh im Bootprozess einen Stack&lt;br /&gt;
Buffer Overflow provozieren und den auch ausnutzen - auf der [http://hilses.de/vip1710/ Seite] oben gibt&#039;s eine settings2.xml, die das implementiert (Downloads ganz unten auf der Seite) und - wenn man sie an /flash/settings2.xml schreibt - im Bootverlauf mit der Shell (also /bin/sh) dann das Skript /flash2/myrc aufruft. Das kann man dann anlegen und da eigenen Kram drin machen. Aber Achtung: Wenn das blockt, dann blockt der ganze Bootprozess!&lt;br /&gt;
&lt;br /&gt;
== Skript motorola.sh für Box Typ 1 ==&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 #IP an den httpserver für die Module anpassen.&lt;br /&gt;
 #Der mediatomb upnp server ist auskomentiert in der letzen Zeile. &lt;br /&gt;
 #Zum starten, den tree nach /mediatomb auf dem usb-device kopieren.&lt;br /&gt;
 #vfat oder ext format sollte egal sein.&lt;br /&gt;
 #Die USB und sshd Dateien werden im / vom http-server erwartet.&lt;br /&gt;
&lt;br /&gt;
 #Ziel IP des Webservers ANPASSEN&lt;br /&gt;
 IP=&amp;quot;192.168.1.4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 ## Rootdir erstellen&lt;br /&gt;
 mkdir /root&lt;br /&gt;
&lt;br /&gt;
 ## USB Module laden und mounten&lt;br /&gt;
&lt;br /&gt;
 mkdir /lib/modules&lt;br /&gt;
 cd /lib/modules&lt;br /&gt;
 wget http://$IP/scsi_mod.o&lt;br /&gt;
 chmod a+x scsi_mod.o&lt;br /&gt;
 wget http://$IP/sd_mod.o&lt;br /&gt;
 chmod a+x sd_mod.o&lt;br /&gt;
 wget http://$IP/usb-storage.o&lt;br /&gt;
 chmod a+x usb-storage.o&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 insmod scsi_mod&lt;br /&gt;
 insmod sd_mod&lt;br /&gt;
 insmod usb-storage&lt;br /&gt;
&lt;br /&gt;
 mknod /dev/sda  b 8 0&lt;br /&gt;
 mknod /dev/sda1 b 8 1&lt;br /&gt;
 mknod /dev/sda2 b 8 2&lt;br /&gt;
&lt;br /&gt;
 mkdir -m 777 /mnt&lt;br /&gt;
 mkdir -m 777 /mnt/usbdevice&lt;br /&gt;
&lt;br /&gt;
 mount /dev/sda1 /mnt/usbdevice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ## sshd laden und starten&lt;br /&gt;
&lt;br /&gt;
 cd /tmp&lt;br /&gt;
&lt;br /&gt;
 wget http://$IP/sshd&lt;br /&gt;
 wget http://$IP/scp&lt;br /&gt;
 wget http://$IP/ssh_host_rsa_key&lt;br /&gt;
 wget http://$IP/ssh_host_dsa_key&lt;br /&gt;
 wget http://$IP/shadow&lt;br /&gt;
 wget http://$IP/passwd&lt;br /&gt;
 wget http://$IP/sshd_config&lt;br /&gt;
&lt;br /&gt;
 cp shadow /etc&lt;br /&gt;
 cp passwd /etc&lt;br /&gt;
&lt;br /&gt;
 chmod 600 ssh_host_rsa_key&lt;br /&gt;
 chmod 600 ssh_host_dsa_key&lt;br /&gt;
 chmod 755 scp&lt;br /&gt;
 cp scp /bin&lt;br /&gt;
 chmod 755 sshd&lt;br /&gt;
 /tmp/sshd -f sshd_config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #/mnt/usbdevice/mediatomb/mediatomb.sh &amp;amp;&lt;br /&gt;
&lt;br /&gt;
== auf eigenem Webserver gehostete webGUI ==&lt;br /&gt;
&lt;br /&gt;
Hier gibt es bereits mehrere Ansätze. &lt;br /&gt;
&lt;br /&gt;
=== YaotGui ===&lt;br /&gt;
Der zugehörige [http://iptv.colbro.se/topic.asp?TID=45 Artikel] ist leider in Schwedisch. Hier noch der Downloadlink zur GUI: http://iptv.colbro.se/download.asp?item=8&lt;br /&gt;
&lt;br /&gt;
=== Daniels GUI ===&lt;br /&gt;
Auch hier gibt es die Infos nur im [http://iptv.colbro.se/topic.asp?TID=16 Schwedischen Forum], ebenso den Download: http://iptv.colbro.se/download.asp?item=2 sowie die Ergänzung http://medlem.spray.se/iptv2htpc/Extender/Extender.zip&lt;br /&gt;
&lt;br /&gt;
=== Erkenntnisse von Nobody ===&lt;br /&gt;
User nobody des open7x0-Forums hat freundlicherweise mal seine Erkenntnisse [http://www.open7x0.org/arena/showthread.php?tid=2553&amp;amp;pid=21731 hier] zusammengefasst und bietet dazu auch gleich mehrere Downloads an. Hinweis: Um die Dateien herunterzuladen, muss man zuvor einen Benutzer bei dem Forum angelegt haben.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsideen ==&lt;br /&gt;
&lt;br /&gt;
*VLC Server&lt;br /&gt;
*VDR-Client&lt;br /&gt;
*Ethernet Soundkarte &lt;br /&gt;
*Internet Radio&lt;br /&gt;
*Nas Server&lt;br /&gt;
*Print-Server&lt;br /&gt;
*VPN-Server&lt;br /&gt;
*Asterisk, VOIP-Server&lt;br /&gt;
*Signalverarbeitung im Netzwerk&lt;br /&gt;
*IP Webcam&lt;br /&gt;
*uPNP Server&lt;br /&gt;
*Tor und IPCOP Gateway/Proxy (zw. AP und DSL-Router gesteckt)&lt;br /&gt;
*VPN-Tunnel Gateway (zw. AP und DSL-Router gesteckt) zwei oder mehr 1710 an unterschiedlichen Standorten für Privates Intranet zw. Freunden&lt;br /&gt;
*UMTS-Router für DSL über SIM-Karte im Auto&lt;br /&gt;
*IRC-Bouncer / irssi&lt;br /&gt;
*Backend für Software Defined Radio (SDR)&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
*MediaTomb UPnP-AV Server [http://downloads.sourceforge.net/mediatomb/mediatomb-static-0.11.0-r2-linux-uclibc-mips2el.tar.gz], bereits lauffähig, einfach auf dem USB Device entpacken im Ordner mediatomb . &lt;br /&gt;
**Aufruf per &#039;&#039;/mnt/usbdevice/mediatomb/mediatomb.sh &amp;amp;&#039;&#039;&lt;br /&gt;
**Weboberfläche ist vorhanden.&lt;br /&gt;
&lt;br /&gt;
*MusicPlayerDaemon [http://www.open7x0.org/arena/showthread.php?tid=2550&amp;amp;pid=21718]&lt;br /&gt;
&lt;br /&gt;
*VLC-Client: Man kann sowohl einen Film, als auch nur den Sound des Films auf die Box streamen. Man benötigt dafür VLC auf dem PC und toish [http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1732625] auf der Box. &amp;lt;SERVER-IP&amp;gt; ist die IP eures PCs.&lt;br /&gt;
**Film streamen:&lt;br /&gt;
***PC: &#039;&#039;vlc &amp;lt;FILM&amp;gt; --sout-transcode-high-priority --sout-transcode-threads 4 --rtsp-caching=5000 --ttl=12 --intf http --http-host :8811 --sout=&amp;quot;#gather:transcode{vcodec=mp2v,vb=1024,acodec=mp2a,ab=192,channels=2}:std{mux=ts,access=http,dst=&amp;lt;SERVER-IP&amp;gt;:8812}&amp;quot;&#039;&#039;&lt;br /&gt;
***Box: &#039;&#039;toish uri LoadUri http://&amp;lt;SERVER-IP&amp;gt;:8812 video/mpeg&#039;&#039;&lt;br /&gt;
***Achtung: Der PC benötigt viel Rechenleistung!&lt;br /&gt;
***Infos: [http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1733234]&lt;br /&gt;
**Sound streamen:&lt;br /&gt;
***PC: &#039;&#039;vlc &amp;lt;FILM&amp;gt; --rtsp-caching=5000 --ttl=1 --sout &#039;#duplicate{dst=display{noaudio},dst=&amp;quot;transcode{vcodec=none,acodec=mp2a,ab=192,channels=2}:std{access=http,mux=ts,dst=&amp;lt;SERVER-IP&amp;gt;:8812}&amp;quot;}&#039;&#039;&#039;&lt;br /&gt;
***Box: &#039;&#039;toish uri LoadUri http://&amp;lt;SERVER-IP&amp;gt;:8812 audio/mpeg&#039;&#039;&lt;br /&gt;
***Achtung: Da der Sound etwas verzögert ankommt, muss dieser dem Bild um 100-200ms voraus sein (Hotkey J im VLC)&lt;br /&gt;
***Infos: [http://www.mikrocontroller.net/topic/pollin-motorola-vip1710#1774537]&lt;br /&gt;
&lt;br /&gt;
*Internetradio: Auf hilses-Mod aufbauende USB-Stick-&amp;quot;Distribution&amp;quot; mit der die Box zu einem Internetradio mit Sprachausgabe umfunktioniert wird. Die Steuerung erfolgt über IR-Fernbedienung. Es können verschiedene Streams abgespielt werden, Lautstärke verändert und die Zeit mit Datum angesagt. Außerdem gibt es eine Schlummerfunktion mit der sich die Box timen lässt, sodass sie nach einer bestimmten Zeit den Stream beendet und dabei die lautstärke in den letzten 3 Minuten langsam herunter regelt.&lt;br /&gt;
**Infos und Download: http://thinksilicon.de/59/Die-VIP1710-als-Internetradio.html&lt;br /&gt;
&lt;br /&gt;
*IP-Webcam: diverse Kernelmodule aus dem quickcam und spca5xx-Projekt für USB-Webcams und das Programm spcaserv mit dem die Kamerabilder auf den PC gestreamt werden können gibt es unter http://thinksilicon.de/62/15-Euro-Netzwerkkamera-mit-der-VIP1710.html&lt;br /&gt;
&lt;br /&gt;
== Nützliche Ressourcen ==&lt;br /&gt;
&lt;br /&gt;
tftp Programme [http://tftpd32.jounin.net/tftpd32_download.html TFTPd32]&lt;br /&gt;
&lt;br /&gt;
Pegelwandler max232&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
TTL Schnittstellenkabel. z.B [http://www.onderka.com/inhalt/ttl-seriell-kabel-fur-router-nas-und-anderes/ aus Handydatenkabel gebastelt]&lt;br /&gt;
&lt;br /&gt;
Com-Einstellung: 115200,n,8,1&lt;br /&gt;
&lt;br /&gt;
Anschluss des Pollin RS232-TTL-Wandlers an den seriellen Port der VIP1710:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Anschluss_vip_pollin.png]]&lt;br /&gt;
&lt;br /&gt;
= weitergehende Infos im Netz =&lt;br /&gt;
&lt;br /&gt;
* http://www.motorola.com/mot/doc/6/6344_MotDoc.pdf: original Motorola [http://www.motorola.com/mot/doc/6/6344_MotDoc.pdf Specification Sheet] der VIP1710/1720 [Offline!!]&lt;br /&gt;
* https://opensource.motorola.com/sf/sfmain/do/viewProject/projects.vip15x0_vip17x0: Hier gibt´s endlich die  [https://opensource.motorola.com/sf/sfmain/do/viewProject/projects.vip15x0_vip17x0 GPL-Sourcen] der VIP15x0 und VIP17x0&lt;br /&gt;
* http://berglind.org/motorola/: Drei sehr gut gelungene [http://berglind.org/motorola/ Grafikdemos] mit der Motorola VIP1500/1700&lt;br /&gt;
* http://digilander.libero.it/Zabanitu/: Reference Manual des Xilleon 220 zum [http://digilander.libero.it/Zabanitu/ Download]. In der VIP1710 steckt allerdings der ATI Xilleon 210!&lt;br /&gt;
* http://iptv.colbro.se/default.asp: [http://iptv.colbro.se/default.asp Schwedische Seite] zu den Motorola VIP&lt;br /&gt;
* http://hilses.de/vip1710/: Sehr interessante [http://hilses.de/vip1710/ Hacks] für die VIP1710&lt;br /&gt;
* http://www.open7x0.org/arena/showthread.php?tid=2553&amp;amp;pid=21731: Ansatz für eine auf einem externen Webserver zu hostende [http://www.open7x0.org/arena/showthread.php?tid=2553&amp;amp;pid=21731 Webgui]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Thinksilicon</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Powerline_mit_AVR&amp;diff=53721</id>
		<title>Powerline mit AVR</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Powerline_mit_AVR&amp;diff=53721"/>
		<updated>2010-12-21T17:32:06Z</updated>

		<summary type="html">&lt;p&gt;Thinksilicon: /* Vorschläge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier soll ein Projekt zur Entwicklung eines einfachen, modularen Powerline-Moduls mit einem AVR entstehen.&lt;br /&gt;
&lt;br /&gt;
Bisherige Diskussion siehe: [http://www.mikrocontroller.net/forum/read-11-281113.html]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Anforderungen ===&lt;br /&gt;
* Sollte für UP-Dose und Hutschiene geeignet sein&lt;br /&gt;
* Für UP-Dose kommt man vermutlich nicht um SMD Bauteile herum&lt;br /&gt;
* Modularer Aufbau: Einheitliches Basismodul durch Stapeln erweiterbar&lt;br /&gt;
* Überlastschutz (Temperaturüberwachung am Triac)&lt;br /&gt;
* Die Module arbeiten dezentral&lt;br /&gt;
* Die Abfrage und Steuerung der Module ist über ein Modem möglich&lt;br /&gt;
&lt;br /&gt;
* Das Modul hat mehrere Funktionen die durch Software parametrierbar sind &lt;br /&gt;
* als Zeitschalter (Einschaltverzögerung, Ausschaltverzögerung)&lt;br /&gt;
* als Ein/Ausschalter (schaltet im Nulldurchgang)&lt;br /&gt;
* Eingänge: Taster &lt;br /&gt;
* Ausgänge: 230V Schaltausgang&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
* Stromleitungen sind keine Datenleitungen und strahlen das aufmodulierte Signal in die Umgebung ab. &lt;br /&gt;
* Es können Funkdienste gestört werden. (Polizei, Feuerwehr, Rettungsdienst)&lt;br /&gt;
* Stromleitungen werden als Datenleitungen missbraucht.&lt;br /&gt;
* Nicht umsonst haben sich viele Energieversorger vom PLC Markt zurückgezogen.&lt;br /&gt;
* (scheinbar niederfreqentes Datensignal =&amp;gt; weniger Störung)???&lt;br /&gt;
* Die Module sollten so konzipiert werden dass sie die Vorschriften in DIN EN 50065-1 VDE 0808 einhalten: C-Band von 125-140 KHz, CSMA/CD - Protokoll, max. 116 dbµV (evtl Probleme durch zu hohen Sendepegel und durch evtl entstehende Oberwellen, da AVR keinen Sinus liefert, sondern dies mehr oder wenig durch das LC-Filter erledigt wird)&lt;br /&gt;
&lt;br /&gt;
=== Mindestvorraussetzungen an den AVR ===&lt;br /&gt;
* UART&lt;br /&gt;
* 2 externe Interrupts&lt;br /&gt;
* Analogkomparator&lt;br /&gt;
* PWM&lt;br /&gt;
&lt;br /&gt;
In Frage kommen (nicht vollständig): &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!AVR!!           Flash!!UART!!A-Comp!!ADC!!PWM!!INT&lt;br /&gt;
|-&lt;br /&gt;
|ATtiny2313||      2k ||  1 || 1    || - || 4 || 2&lt;br /&gt;
|-&lt;br /&gt;
|ATmega8||         8k ||  1 || 1    || 8 || 3 || 2&lt;br /&gt;
|-&lt;br /&gt;
|ATmega128||     128k ||  2 || 1    || 8 || 8 || 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[http://atmel.com/dyn/products/param_table.asp?family_id=607&amp;amp;OrderBy=1262&amp;amp;Direction=DESC# Übersicht AVR]&lt;br /&gt;
&lt;br /&gt;
neue AVR Typen low Power mit hi-speed PWM: ATtiny461&lt;br /&gt;
&lt;br /&gt;
=== Funktionsweise (vgl [http://www.mikrocontroller.net/attachment/33922/TDA5051A_-_PowerLine.pdf TDA5051]) ===&lt;br /&gt;
* Modulation:&lt;br /&gt;
Der AVR moduliert auf die Netzspannung ein 140 kHz Signal. Die 140 kHz werden über den PWM-Ausgang erzeugt und anschließend verstärkt.&lt;br /&gt;
Der PWM-Ausgang wird mittels INT0 getaktet. Durch eine Verbindung mit TXD werden somit schon alle Daten der UART auf das Netz moduliert.&lt;br /&gt;
* Demodulation:&lt;br /&gt;
Über ein RC-Filter (neue Version: LC-Filter) wird die Netzspannung nach hochfrequenten Anteilen durchsucht.&lt;br /&gt;
Die Spannung wird von einem Transistor verstärkt und dann mit 2 Schottkydioden gleichgerichtet. Eine Siliziumdiode begrenzt das Signal noch auf ca. 0,5V.&lt;br /&gt;
Das Signal wird anschließend dem AVR-Komparator zugeführt (neue Version ADC-Konverter). Über einen (software-) PWM-Ausgang kann die Schaltschwelle eingestellt werden. Das dekodierte Signal liegt dann an PD4 an und geht in die UART.&lt;br /&gt;
* Phasenanschnitt:&lt;br /&gt;
Über 2 x 1 MOhm Widerstände wird mittels INT1 die Netzfrequenz abgetastet. Bei jedem Nulldurchgang wird ein Zähler auf 255 gesetzt. Dieser zählt mittels Timer (alle 64 µs) auf ca. 100 herunter. Stimmt der Zähler mit dem Ausgangswert des jeweiligen Kanals überein, so wird ein Zündimpuls zum Triac ausgegeben.&lt;br /&gt;
&lt;br /&gt;
=== Module ===&lt;br /&gt;
[[Bild:Upmodul.png|thumb|none|Schaltplan mit funktionaler Gruppierung]]&lt;br /&gt;
&lt;br /&gt;
==== Basismodul UP-Dose ====&lt;br /&gt;
&lt;br /&gt;
Hier mal ein erster Vorschlag (noch nicht vollstandig) für ein UP Basismodul mit SMD-Technik:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Kann mal jemand mit OP-Amp-Kenntnissen kontrollieren, ob die Sendeendstufe so funktioniert?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:OP-Amp würde ich lieber einen Input per Spannungsteiler auf 2,5V legen. Bitte unbedingt auch mal den neuen Schaltplan im Downloadbereich meiner Projektseite ansehen (LC Input Filter)&lt;br /&gt;
:http://www.k13zoo.de/vdr/homeautomation/download/&lt;br /&gt;
:&#039;&#039;(erledigt)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Anmerkung: Der OP vom Typ 741 kann nicht bis an die Versorungsspannung ausgesteuert werden. In diesem Fall wird der Ausgang den 0V Pegel nicht erreichen. Die minimale Spannung wird bei ca. 1,5 V liegen.&#039;&#039;&lt;br /&gt;
:Ist das so schlimm? Die Schwankung sollte doch reichen, oder?&lt;br /&gt;
--&amp;gt; Vorschlag OP Typ Rail-to Rail Input and Output  TS922 (dual, 12V 80mA out)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Warum wurde die Transistorschaltung durch einen OP ersetzt. Welche Vorteile bringt dies?&#039;&#039;&lt;br /&gt;
:Weniger Überkreuzungen, weniger Platzverbrauch, weniger zu löten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Im Eingangskreis halte ich eine OP-Schaltung für geeignet. Dort könnte mit dem OP-Schaltung die aufmodulierte Frequenz durch einen Bandpass gefiltert werden. Gruß Reinhold&#039;&#039;&lt;br /&gt;
:Kannst du dafür einen richtig dimensionierten Schaltplan zeichnen? &lt;br /&gt;
Schutz vor Überspannung einplanen, z.&amp;amp;nbsp;B. Dioden &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Evtl kann man einen 2-Fach OP verwenden und den zweiten als Eingangsverstärker bzw. Gleichrichter verwenden.&#039;&#039;&lt;br /&gt;
:Dann müsste die Empfangsstufe aber auch die ungeregelte Eingangsspannung als Quelle für den OP verwenden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update: Was haltet ihr von dem Board als Standard für UP-Dosen? Habe versucht es so zu designen, dass auch eine erweiterte Version mit ATmega8 möglich ist.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; einfachere Stromversorgung ohne galvanische Trennung: Supertex SR086 /SR087&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Das Board halte ich für zu groß, da ich glaube, dass du keinen Platz mehr zum Anklemmen der Leitungen hast.&#039;&#039;&lt;br /&gt;
:So besser?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ich würde auf einen ATmega umsteigen, da dieser einen AD-Wandler hat, der dann evtl. die Abtastung des Trägers übernimmt. Außerdem hat er mehr Speicher&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
neue  Typen:  ATtiny 261, 461 im SO20 (oder ATtiny 15 im SO8)&lt;br /&gt;
&lt;br /&gt;
:Ich wollte eine Ultra-Low-Cost-Version mit ATtiny2313 (hat außerdem 4 PWM!) und eine mit ATmega8.&lt;br /&gt;
:Mit Standard meine ich eigentlich die Abmessungen und Anschlussbelegung des Boards. Wenn es ausgereift ist, könnte man größere Mengen herstellen lassen um Kosten zu sparen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ist es überhaupt nötig, die Abtastung separat zu machen? Der UART tastet doch auch schon 16 mal pro Bit ab. Man müsste dann nur den Offset einstellen können.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Bild:Up_basis_smd.png|thumb|none|Schaltplan]] [http://mythos.tru42.org/elektronik/UP_Basis_SMD.sch Eagle]&lt;br /&gt;
| [[Bild:Up_basis_smd_board.png|thumb|none|ATtiny2313 Board]] [http://mythos.tru42.org/elektronik/UP_Basis_SMD.brd Eagle]&lt;br /&gt;
| [[Bild:Up_basis_atmega8_smd_board.png|thumb|none|ATmega8 Board]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 Part     Value          Device               Package      Library    Reichelt&lt;br /&gt;
&lt;br /&gt;
 B1                      B-DIL                B-DIL        rectifier  B80C800DIP&lt;br /&gt;
 C1       220µF          CPOL-EUE5-10.5       E5-10,5      rcl        RAD 220/25&lt;br /&gt;
 C2       33nF 630V      C-EU102-043X133      C102-043X133 rcl        MKS-4-1000 33N&lt;br /&gt;
 C3       33nF           C-EUC1206            C1206        rcl        X7R-G1206 33N&lt;br /&gt;
 C5       100pF          C-EUC1206            C1206        rcl        NPO-G1206 100P&lt;br /&gt;
 C6       10nF           C-EUC1206            C1206        rcl        X7R-G1206 10N&lt;br /&gt;
 C7       1nF            C-EUC1206            C1206        rcl        NPO-G1206 1,0N&lt;br /&gt;
 C8,C11   22µF           CPOL-EUE2-5          E2-5         rcl        &lt;br /&gt;
 C9,C10   100nF          C-EUC1206            C1206        rcl        X7R-G1206 100N&lt;br /&gt;
 D1,D4    Schottky       DIODE-D-2.5          D-2.5        diode      &lt;br /&gt;
 D3       1n4148         DIODE-D-2.5          D-2.5        diode      1N 4148&lt;br /&gt;
 F1                      SHK20L               SHK20L       fuse       PL 120000&lt;br /&gt;
 IC1      uA741D         uA741D               SO08         linear     µA 741 SMD&lt;br /&gt;
 IC2      78L05          78XXS                78XXS        v-reg      µA 78L05&lt;br /&gt;
 IC3      ATTINY2313-20S ATTINY2313-20S       SO20L        avr        ATTINY 2313 SO&lt;br /&gt;
 JP1      AVR-ISP-6      AVR-ISP-6            AVR-ISP-6    atmel      &lt;br /&gt;
 L1       47µH           L-EU0204/7           0204/7       rcl        SMCC 47µ &lt;br /&gt;
 L2       47µH           L-EUL4532P           L4532P       rcl        LQH3C 47µ&lt;br /&gt;
 LED1                    LED3MM               LED3MM       led       &lt;br /&gt;
 Q1       4MHz           CRYTALHC49S          HC49/S       crystal    4-HC49U-S&lt;br /&gt;
 R1,R17   10k            R-EU_0207/2V         0207/2V      rcl        &lt;br /&gt;
 R2       2k2            R-EU_0207/12         0207/12      rcl       &lt;br /&gt;
 R3                      R-EU_R1206           R1206        rcl           &lt;br /&gt;
 R4,R7    10k            R-EU_R1206           R1206        rcl         SMD 1/4W 10K&lt;br /&gt;
 R6       470k           R-EU_M1206           M1206        rcl         SMD 1/4W 470K&lt;br /&gt;
 R8       1k             R-EU_0207/5V         0207/5V      rcl       &lt;br /&gt;
 R9       20k            R-EU_R1206           R1206        rcl         SMD 1/4W 20K&lt;br /&gt;
 R10      51k            R-EU_R1206           R1206        rcl         SMD 1/4W 51K&lt;br /&gt;
 R18      100k           R-EU_0207/2V         0207/2V      rcl         SMD 1/4W 100K&lt;br /&gt;
 SV1,SV2                 FE10-1               FE10         con-lsta    BL 1X10G8 2,54&lt;br /&gt;
 T4                      BC847A-NPN-SOT23-BEC SOT23-BEC    transistor  BC 847A SMD&lt;br /&gt;
 TR1      9V             EE20-1               EE20-1       trafo       EE 20/6,1 109&lt;br /&gt;
 X1                      AK500/3              AK500/3      con-ptr500  AKL 101-03&lt;br /&gt;
&lt;br /&gt;
==== Phasenanschnitt UP-Dose ====&lt;br /&gt;
&lt;br /&gt;
==== USB-Modul UP-Dose ====&lt;br /&gt;
&lt;br /&gt;
==== Basismodul Hutschiene ====&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== Protokoll ===&lt;br /&gt;
Das Protokoll ist multimasterfähig, jedes Paket muss quittiert werden. Kommt keine oder eine fehlerhafte Quittierung an, so wird ein paar mal versucht das Paket nochmal zu senden. Eine Sequenznummer garantiert die einmalige Verarbeitung, selbst wenn das Paket öfter empfangen wurde.&lt;br /&gt;
&lt;br /&gt;
=== Protokollaufbau ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Byte!! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 !! Funktion&lt;br /&gt;
|-&lt;br /&gt;
| 1  || 0 || 1 || 0 || 1 || 0 || 0 || 1 || 0 || Header: &amp;quot;R&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2  || 0 || 1 || 0 || 1 || 0 || 0 || 0 || 0 || Header: &amp;quot;P&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 3  || C || C || C || C || L || L || L || L || C, wie oft das Paket wiederholt gesendet wurde (wegen ausbleibenden Ack). L: Länge der Payload bis zum CRC-Byte (also mindestens 3)&lt;br /&gt;
|-&lt;br /&gt;
| 4  || A || ID || ID || ID || ID || ID || ID || ID || Ack-Flag, Destination ID&lt;br /&gt;
|-&lt;br /&gt;
| 5  || 0 || ID || ID || ID || ID || ID || ID || ID || Source ID&lt;br /&gt;
|-&lt;br /&gt;
| 6  || x || x || x || x || x || x || x || x || Sequenznummer&lt;br /&gt;
|-&lt;br /&gt;
| L - 3 Bytes  || x || x || x || x || x || x || x || x || Daten&lt;br /&gt;
|-&lt;br /&gt;
| L + 4 || x || x || x || x || x || x || x || x || CRC ab Byte 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Zuerst wird nach dem Header gescannt (bei Manchestercodierung müssen wahrscheinlich vor dem Header noch ein paar Dummy-Daten gesendet werden, damit sich die AGC einstellt)&lt;br /&gt;
&lt;br /&gt;
Dann kommt die Länge und der wievielte Versuch dies ist, dieses Paket zu übertragen.&lt;br /&gt;
&lt;br /&gt;
Die Moduladresse hat momentan 7 Bit (also 128 Module), ein Bit ist zur Signalisierung, dass dies ein Ack-Paket ist. Das Gerät für welches das Ack-Paket bestimmt ist, löscht sein aktuell zu sendendes Paket aus dem Sendepuffer, da es weiß, dass seine Daten erfolgreich angekommen sind. Bleibt das Ack-Paket aus, so wird nach einer (pseudo-) zufälligen Zeit bis zu 8x versucht, das Paket erneut loszuwerden. &lt;br /&gt;
&lt;br /&gt;
Es kann jetzt passieren, dass der Empfänger das Paket 8x korrekt empfängt und nur das Ack-Paket nicht korrekt zurück kommt. Die Sequenznummer (welche für das aktuell zu sendende Paket immer gleich ist) garantiert aber, dass das Paket nur 1x verarbeitet wird. Um ein Paket als gültig anzusehen muss entweder C = 0 sein (erster Versuch das Paket zu senden) oder die Sequenznummer sich von der des letzten Paketes unterscheiden (hier kann es im Moment noch zu Problemen kommen, wenn mehrere Module untereinander kommunizieren). Weiterhin muss natürlich die Destination ID Übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Der Teil Daten wird dann von der nächsten Protokollebene behandelt.&lt;br /&gt;
&lt;br /&gt;
Das erste Byte ist der Befehl aus dem sich auch die Länge weiter Daten ableitet&lt;br /&gt;
&lt;br /&gt;
Momentan gibt es erst 2 Befehle:&lt;br /&gt;
  &lt;br /&gt;
  &amp;quot;s&amp;quot;    &amp;lt;Speicherstelle&amp;gt;  &amp;lt;wert&amp;gt;  //speichert Wert in entsprechenden Konfig-Ram&lt;br /&gt;
  Modul antwortet mit &amp;quot;!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;q&amp;quot;    &amp;lt;Speicherstelle&amp;gt;          //Liest Wert aus Konfig-Ram&lt;br /&gt;
  Modul antwortet mit &amp;quot;=&amp;quot; &amp;lt;Wert&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Konfig-Ram werden sowohl die Phasenanschnittwerte als auch die Tastzustände gehalten. Ein Überschreiben führt also sofort dazu, dass der entsprechende Ausgang den Wert ausgibt.&lt;br /&gt;
&lt;br /&gt;
=== Vorschläge ===&lt;br /&gt;
&lt;br /&gt;
* Es ließe sich evtl. noch Platz sparen, wenn man einen Kondensator statt dem Trafo verwendet. Habe jetzt schon einige Schaltungen damit laufen mit bis zu 80 mA.&lt;br /&gt;
:Sehr interessanter Artikel im elko: http://www.elektronik-kompendium.de/public/schaerer/cpowsup.htm&lt;br /&gt;
&lt;br /&gt;
* Wie soll die Adressierung aussehen?&lt;br /&gt;
:Jedes Modul eine Adresse mit 8 Bit&lt;br /&gt;
:oder jede Funktion eine Adresse mit 16 Bit&lt;br /&gt;
&lt;br /&gt;
* Broadcasts für z.&amp;amp;nbsp;B. Erkennung vorhandener Geräte&lt;br /&gt;
:wie wäre es hier die Adresse 000 zu verwenden?&lt;br /&gt;
&lt;br /&gt;
* Jedes Gerät sollte sich und seine Funktionen bekannt machen können&lt;br /&gt;
: Anfrage &amp;quot;(C)apabilities&amp;quot; wird mit ACK-Packet beantwortet (siehe Steuerprotokoll)&lt;br /&gt;
&lt;br /&gt;
* Countdown zum automatischen Ausschalten (per Web-Oberfläche einstellbar)&lt;br /&gt;
&lt;br /&gt;
* Unabhängiger Sender ohne Rechner mit z.&amp;amp;nbsp;B. Display Steuerung, Web-Oberfläche?&lt;br /&gt;
&lt;br /&gt;
* VERSIONSANFRAGE Modul mit Ethernet (incl. Webserver) für die zentrale Steuerung &lt;br /&gt;
&lt;br /&gt;
* Netzwerk-Protokoll: http://www.hth.com/snap/&lt;br /&gt;
&lt;br /&gt;
* Steuer-Protokoll Protokoll: (s)et / g(et) / m(emory) / a(ck) / e(rror)&amp;lt;br/&amp;gt; &lt;br /&gt;
:als beispiel für die komponenten  (s)witch / a(nalog) / p(wm) / c(apabilities)&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* CSMACD fehlt noch !!&lt;br /&gt;
&amp;quot;s s0 01001100&amp;quot; setzt die Schalter 2,5 und 6 auf dem Modul und wird mit &amp;lt;br/&amp;gt; &lt;br /&gt;
&amp;quot;a s0 01001100&amp;quot; quitiert, die Header mit den Adressen,der Sequenznummer etc. hab ich mal weggelassen. &amp;lt;br/&amp;gt; &lt;br /&gt;
&amp;quot;g c&amp;quot; liefert &amp;lt;br/&amp;gt; &lt;br /&gt;
&amp;quot;a c s2a4p2&amp;quot;, also 16 Schalter(2x8), 4 AD-Ports, 2 PWM Ports &amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:AVR-Projekte]]&lt;br /&gt;
[[Kategorie:Hausbus]]&lt;br /&gt;
[[Kategorie:Spannungsversorgung und Energiequellen]]&lt;/div&gt;</summary>
		<author><name>Thinksilicon</name></author>
	</entry>
</feed>