Donnerstag, 19. Juli 2012

Störische MCE oder eHome Fernbedienung von Zotac ZBox MiniPC unter XBMC konfigurieren

Da installiert man frohen Mutes XBMC auf seinem neuen HTPC und dann will die Fernbedienung nicht richtig funktionieren. Konkret geht es um die Fernbedienung die der Zotax ZBox Nano AD10 beiliegt. Ohne spezielle Konfiguration funktionieren nur die Basis-Tasten. Dies dürfte auch auf viele andere ZBoxen zutreffen. Besonders die fehlende Info Taste stört sehr. Für alle die das selbe Problem haben hier mein ZBox-HTPC-XBMC-usw. Abriss.

Konkret zur ZBOX Nano AD10 empfehle ich folgendes Beta BIOS zur Leistungssteigerung. Es ermöglicht die Zuweisung von zusätzlichem Speicher zur Grafiklogik. 512MB sollten es heutzutage schon sein. http://www.zotacusa.com/forum/topic/5534-zbox-nano-ad10/page__p__18633#entry18633
Update: Mittlerweile gibts auch ein neues Retail BIOS wo man die Framebuffer-Grösse für die Grafiklogik einstellen kann: http://www.zotac.com/index.php?page=shop.product_details&flypage=flypage_images-SRW.tpl&product_id=380&category_id=176&option=com_virtuemart&Itemid=100300&lang=en
Ebenso haben viele andere ZBoxen wie AD02 BIOS Updates mit entsprechender Funktionalität erhalten. 
Wahl des Infrarot-Empfängers: Nur beim internen Empfänger handelt es sich um einen Microsoft eHome kompatiblen Empfänger. Beim externen USB-Empfänger handelt es sich hingehen wohl um einen nicht ganz generischen MCE-Empfänger. Ich habe mich hier mit der Konfiguration des internen Empfängers beschäftigt.

Wieso funktioniert die Konfiguration über das XBMC MCE Remote Addon nicht? Zunächst geht das Addon davon aus dass es sich beim Gerät um eine generische "RC6 based MCE Remote" handelt, dementsprechend wird der entsprechende Windows Registrierungsschlüssel bearbeitet und die Konfiguration greift nicht. Bei den Zotac Zboxen haben wir jedoch einen "RC6 based MCE remote for RC260" (siehe Etikett auf der Innenseite der Fernbedienung).

 RC6 based MCE Remote: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57da]

 RC6 based MCE remote for RC260: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57df]

Tastenbelegung:
Ich hab die beiliegende Fernbedienung unter Verwendung des internen Empfängers folgendermassen belegt.
Die Standard XBMC Out-of-the-Box Funktionalität wird ergänzt um:
Info-Taste: Info 
Blaue Taste: Kontextmenü
Gelbe Taste: Audio-Kanal wechseln
Grüne Taste: Untertitel wechseln
Rote Taste: Zurück ins Hauptmenü
---

Und  los gehts:

1.Registrierung pimpen und mit neuen Mappings für die gewünschten Tasten der RC6 based MCE remote for RC260 ausstatten. Der nachfolgende Unicode einfach in eine Textdatei reinkopieren und nach *.reg umbennen und per Klick importieren. Vorher aber zur Sicherheit ein Backup der Registry machen.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57df]
"RemoteName"="RC6 based MCE remote for RC260"
"EnableDebounce"=dword:00000001
"EnableVendorPassThrough"=dword:00000001
"DecoderID"=dword:00000001
"CodeSetID"=dword:00000000
"CodeBitLen"=dword:00000020
"CodeSetNum0"=dword:00000001
"CodeSetNum1"=dword:00000002
"CodeSetNum2"=dword:00000003
"CodeSetNum3"=dword:00000004
"CodeSetNumMask"=dword:00007000
"CodeSetNumShiftBits"=dword:0000000c
"CodeMatchMask"=dword:ffff0f00
"CodeMatchValue"=dword:80340400
"DataMask"=dword:000000ff
"DataShiftBits"=dword:00000000
"ReportLength"=dword:00000003
"ReportDescriptor"=hex:05,0c,09,01,a1,01,85,01,19,00,2a,3c,02,15,00,26,3c,02,\
95,01,75,10,81,00,c0,06,bc,ff,09,88,a1,01,85,02,19,01,29,ff,15,00,25,01,95,\
01,75,08,81,00,c0,05,01,09,80,a1,01,85,03,19,01,29,ff,15,01,25,ff,95,01,75,\
08,81,00,c0,05,01,09,06,a1,01,85,04,05,07,19,e0,29,e8,75,01,95,08,81,02,19,\
00,29,90,26,ff,00,75,08,95,01,81,00,c0
"ReportMappingTable"=hex:01,00,00,00,04,00,1e,02,00,00,00,04,00,1f,03,00,00,00,\
04,00,20,04,00,00,00,04,00,21,05,00,00,00,04,00,22,06,00,00,00,04,00,23,07,\
00,00,00,04,00,24,08,00,00,00,04,00,25,09,00,00,00,04,00,26,00,00,00,00,04,\
00,27,34,00,00,00,04,00,28,3a,00,00,00,04,00,29,33,00,00,00,04,02,25,32,00,\
00,00,04,02,20,59,00,00,00,04,00,51,58,00,00,00,04,00,52,5b,00,00,00,04,00,\
4f,5a,00,00,00,04,00,50,5c,00,00,00,04,00,28,cb,00,00,00,04,01,07,83,00,00,\
00,01,24,02,2c,00,00,00,01,b0,00,30,00,00,00,01,b1,00,37,00,00,00,01,b2,00,\
28,00,00,00,01,b3,00,29,00,00,00,01,b4,00,20,00,00,00,01,b5,00,21,00,00,00,\
01,b6,00,31,00,00,00,01,b7,00,10,00,00,00,01,e9,00,11,00,00,00,01,ea,00,0d,\
00,00,00,01,e2,00,3e,00,00,00,01,8d,00,1e,00,00,00,01,9c,00,1f,00,00,00,01,\
9d,00,0c,00,00,00,03,82,00,a9,00,00,00,02,33,00,5d,00,00,00,02,0d,00,2f,00,\
00,00,02,5a,00,6d,00,00,00,04,05,1e,6e,00,00,00,04,05,1f,6f,00,00,00,04,05,\
20,70,00,00,00,04,05,21,78,00,00,00,02,3e,00,79,00,00,00,02,3f,00,7a,00,00,\
00,02,40,00,8f,00,00,00,02,2c,00,3d,00,00,00,03,82,00,8e,00,00,00,03,83,00



2. Tasten auf XBMC-Commandos legen: Keyboard.xml mit folgenden Inhalt erstellen und in den C:\Users\DEINBENUTZERNAME\AppData\Roaming\XBMC\userdata\keymaps Ordner reinkopieren. Auch hier gilt: Bitte Backup machen.

<keymap>
<global>
<keyboard>
 <!-- Gruene Media Center Taste ohne Funktion -->
<w mod="ctrl,shift">Notification(Key, Windows button, 3)</w>
 <!-- logische Rote Taste -->
<one mod="ctrl,alt">previousmenu</one>
 <!-- unlogische Grüne Taste -->
 <at mod="ctrl,alt">nextsubtitle</at>
 <!-- unlogische Gelbe Taste -->
 <hash mod="ctrl,alt">audionextlanguage</hash>
 <!-- Logische Blaue Taste -->
<four mod="ctrl,alt">contextmenu</four>
 <!-- Info Taste -->
<i>info</i>
</keyboard>
</global>
</keymap>


3. Keyboard Modus in XBMC aktivieren

XBMC\System/System/Eingabegeräte/Fernbedienung sendet Tastatureingaben aktivieren.

4. Bitte System neustarten und ausprobieren. Über eine Rückmeldung würde ich mich freuen.


PS: Wer einige Tasten selbst konfigurieren möchte bemüht bitte KeyMapEdit.exe.


Mittwoch, 4. Juli 2012

Das richtige HDMI Kabel, Kabeltypen, HDMI 1.4v, AWG, HEC, ARC und Co. erklärt

Eigentlich ist es ganz einfach, der bis Dato aktuellste HDMI Standard heisst HDMI 1.4a und regelt nebst der Unterstützung für 2160p@24Hz Auflösung die 3D Übertragungsstandards für Filme und Spiele.

Wenn man sich nun ein Kabel besorgen muss um seinen aktuellen HDMI Gerätepark untereinander zu verbinden wird die ganze Sache schon etwas komplizierter. Beginnen wir mit dem Grundsätzlichen.
Der HDMI-Standard überträgt, wie der Name es schon andeutet, Bild- und Ton-Informationen Digital, also letzlich in irgendeiner binären Form. Das hierfür verwendete Übertragungsverfahren nennt sich TMDS. Anders als bei älteren analogen Schnittstellen wie SCART oder Kabeln mit Cinch- oder Klinken-Steckern ist die Übertragung folglich kodiert; das heisst entweder kommt das Signal 100% an und das Bild steht oder eben nicht.

Kann man daher grundsätzlich zu den günstigsten Kabeln greifen die dem Standard entsprechen? Ja und Nein... es kommt auf die Anforderungen an.

Wir unterscheiden für den Heimgebrauch vier Kabeltypen. (Teilweise Ergänzt aus Wikipedia)

1. HDMI-Standard 
Das Standardkabel beinhaltet nur die Grundleistungen, sowie die Mindestanforderungen, 1080i bzw. 720p mit einer Frequenz von mindestens 75 MHz zu übertragen. Die Übertragung ist bis zu einer Kabellänge von 10 Metern möglich. Die übertragbare Datenrate beträgt mindestens 1,782 GBit/s und maximal 2,25 GBit/s.
2. HDMI-Standard mit Ethernet
Ähnliche Eigenschaften wie das Standard-Kabel, nur mit einem zusätzlichen HDMI-Ethernet-Channel (HEC) für eine Netzwerkverbindung. Nur diese Kabel sind für HEC geeignet, obwohl für Ethernet die bereits reservierten Adern genutzt werden, diese im Kabel aber verdrillt sein müssen, um Störungen zu vermindern.
3. HDMI-High Speed
Diese Kabel übertragen 1080p, Full HD 3D und Deep Color bis 1080p mit einer Frequenz von mindestens 340 MHz. Die übertragbare Datenrate beträgt mindestens 8,16 GBit/s und maximal 10,2 GBit/s.[21] Außerdem ist 4K2K möglich. Mit High Speed HDMI-Kabeln ist eine Distanz von bis zu 7,50 Meter Kabellänge möglich.
4. HDMI-High Speed mit Ethernet
Wie High Speed HDMI-Kabel, nur mit einem zusätzlichen HDMI-Ethernet-Channel (HEC) für eine Netzwerkverbindung.

-> Braucht man HDMI Kabel mit Ethernet? Grundsätzlich würde man sich bei zukünftigen Smart TVs die einen Internetzugang erfordern das Netzwerkkabel sparen. Allerdings müsste man dann erstmal ein Gerät haben das das Ethernet ins HDMI Kabel einspeist. Vielleicht in Zukunft moderne Router oder AV-Receiver. Allerdings ist der Standard nicht zu Ende gedacht. Er unterstützt nur Geschwindigkeiten von bis zu 100mbit/s. Zu wenig für zukünftige High-Bandwith oder Streaming Szenarien. Und wieso dann nicht gleich über schnelleres, zugegeben störanfälligeres WLAN verbinden. Deswegen gibt es wohl derzeit noch keine Consumer-Geräte die HEC unterstützen.

-> Audio-Rückkanal oder ARC (Audio Return Channel) 
Wird von allen Kabeltypen seit Version 1.0 unterstützt, da hierfür bis Dato unbenutze Leitungen/Pins verwendet werden. Dazu später mehr. Um ARC nutzen zu können müssen Geräte ihn explizit unterstützen.
Beispiel: Normalerweise schickt ein Receiver Bild und Ton über HDMI an den TV, dieser kann den Sound über die TV-Boxen ausgeben. Wenn man nun seinerseits den Sound vom TV, beispielsweise vom Fernsehprogramm über den Receiver ausgeben möchte, geht das nun dank ARC über das selbe Kabel, was früher nicht der Fall war. Aber Achtung, aktuelle TV-Modelle unterstützen ARC nur an einem HDMI-Port. Zweiter Stolperstein: Um ARC nutzen zu können muss im TV Setup meist händisch die CEC Funktion aktiviert werden. Je nach Hersteller hat diese eine andere Bezeichung:

EZ-Sync bei JVC
Simplink bei LG
Digital Link HD bei Loewe
RIHD (Remote Interactivity) bei Onkyo
Viera Link bei Panasonic
EasyLink bei Philips
Kuro Link bei Pioneer
Anynet+ bei Samsung
Aquos Link bei Sharp
BRAVIA Sync bei Sony
Regza-Link bei Toshiba
TechniLink bei Technisat
Mit der ARC Funktion ist es bei vielen Fernsehern auch möglich beliebige Geräte per HDMI an den TV anzuschliessen und von diesen dann den Ton zur Ausgabe via ARC zum Receiver durchzuschleifen.

Rückwärtskompatibilität der Kabel und Historie
Dank der vorausschauenden Planung wurde das HDMI Kabel mit ingesamt 19 Leitungen bzw. Anschlüssen spezifiziert.

Revision 1.0:

1 Masse (DDC, CEC)
1 für die 5Volt Stromversorgung
1 für CEC (Link siehe oben)
2 für DDC mit EDID und HDCP Informationen
8 davon für die TMDS Video Übertragung (Link siehe oben)
4 für die TDMS Schirmung
1 reserviert für zukünftige Anwendungen
1 für die Hot-Plugging Erkennung


 -> Insgesamt also nur 18 von 19 Pins belegt

Ab Revision 1.4 dann:

1 Masse (DDC, CEC, HEC)
1 für die 5Volt Stromversorgung
1 für CEC (Link siehe oben)
2 für DDC mit EDID und HDCP Informationen
8 davon für die TMDS Video Übertragung (Link siehe oben)
4 für die TDMS Schirmung
1 neu belegt: HEAC----------------------> (HDMI, Ethernet, Audio, Control) Hier sind jetzt neu die
1 umbelegt bzw erweitert: HEAC--------> Funktionen Ethernet, ARC und Hot-Plugging zusammengelegt
-> Gemäss HDMI Spezifikation ist dieses Adernpaar nun neu zusammen abzuschirmen und zu verdrillen (twisted). Allerdings ist/war es für Kabelhersteller nicht verpflichtend, dafür gabs dann aber auch kein Konformitätssiegel. dafür hat man einen Haufen neuer Funktionen mit nur einem zusätzlichen Pin und paar Protokollupdates implementieren können und trotzdem die Rückwärtskompatibilität erhalten.


Vergoldung
Trotz der gegenüber Kupfer schlechteren elektrischen Leitfähigkeit ist es ein effektiver Schutz der Kontakte gegen Korrosion (Rost) und Abnutzung. In der Praxis sind besonders bei häufigen Steckerwechseln dickere Goldschutzschichten sinnvoll. Die Stecker müssen dann aber auch entsprechend massiv ausgeführt sein. Am besten aus Metall um stärkeren Belastungen stand zu halten.

HDMI 1.4v:
Die Erklärung und was es bedeutet: Hierbei handelt es sich nicht etwa um einen neuen HDMI Standard sondern um eine Bezeichnung für HDMI-Kabel Meterware die je nach gewünschter Kabellänge mit Steckern versehen wird, zum selbst Konfektionieren, beispielsweise zur Verwendung in Installationskanälen. Oft werden allerdings bereits von Händlern vorkonfektionierte Kabel marketingwirksam als HDMI 1.4v Kabel verkauft.

Kabelqualität, AWG, Abschirmung
-> AWG (American Wire Gauge) bezeichnet die Kabelgüte oder genauer gesagt die dicke bzw. Durchmesser der Kupferader. Je dicker desto robuster ist das Kabel gegen externe Störquellen. Dazu gehört aber auch eine passende Abschirmung. Je dicker die Kupferader, desto geringer kann die Abschirmung ausfallen, beispielsweise bei Flachband HDMI Kabeln. Im umgekehrten Fall kann durch eine starke Abschirmung auch bei niedrigeren Kupferaderdurchmessern eine konstante Signalqualität über eine bestimmte Leitungslänge erreicht werden. Hier muss ein Kompromiss gefunden oder ein bestimmtes Anwendungsszenario bedient werden. Nachfolgend ein paar Durchschnittswerte bei maximaler Kabelbeanspruchung, bei welchen die Signalstärke für High Speed mit Ethernet unter normalen Umständen gehalten werden sollte. Voraussetzung ist eine adequate Abschirmung. Distanzen länger als 15 Meter benötigen zwingend aktive Repeater.

30AWG (0.25mm): Findet eher Verwendung bei kurzen, günstigen Kabeln ohne Ethernet
28AWG (0.32mm): bis 5 Meter
26AWG (0.40mm): bis 10 Meter
24AWG (0.51mm): bis 15 Meter



Zum Schluss noch eine nette Grafik welche für jedes Feature den benötigten Kabeltyp angibt.

Kleine Ergänzung zur Grafik: Für 3D benötigt man zwingend mindestens High Speed Kabel, ebenso für normale 1080p Anwendung. Kabeltypenbezeichnungen wie 1.4 oder 1.4a sind veraltet und nicht mehr erlaubt.

Ergänzungen, Berichtigungen, Verbesserungen
Bitte schreiben Sie einen Kommentar.