Standaard kun je system files van OpenELEC niet zomaar aanpassen, maar met wat trucs is dat toch mogelijk. Dit was handig om VFD werkend te krijgen.

Zoals in je een vorige Blog topic hebt kunnen lezen ben ik overgestapt van MediaPortal naar XBMC. Nu maakte ik in de woonkamer nog gebruik van de Windows versie van XBMC op een Shuttle SG33G5M HTPC met een Shuttle PF27 VFD Panel.

Helaas wordt het VFD niet ondersteund in de Windows versie van XBMC. In Linux wordt deze echter wel ondersteund via de LCDproc software die standaard aanwezig is in OpenELEC (afgeleid van XBMC). Ik besloot dan ook om mijn Windows versie te vervangen door de OpenELEC versie. Het installeren van OpenELEC is erg eenvoudig door een installable USB Pendrive aan te maken en alle stappen verder op te volgen.

Toen ik de software echter geïnstalleerd had kwam ik er achter dat de shuttleVFD driver niet aanwezig was in de ‘/usr/lib/lcdproc’ directory van OpenELEC terwijl deze standaard wel onderdeel is van de volledige set van LCDProc. Bij OpenELEC kun je echter niet zomaar een file toevoegen aan deze directory daar deze Readonly is en niet zonder trucs beschrijfbaar.

De oplossing is squashfs te gebruiken die je installeert met het volgende commando:

apt-get install squashfs-tools

Om dit op te lossen moet je dus de bootable USB installatie-disk aanpassen en de ‘shuttleVFD.so’ file toevoegen. Je komt dan tot de ontdekking dat de volledige OpenElec installatie in 2 files staat met de naam SYSTEM en KERNEL. Na wat zoekwerk kwam ik er achter dat deze met SquashFS is gemaakt. Je kunt deze files echter ‘unsquashen’, een file toevoegen en weer ‘squashen’. Ik hoefde nu alleen nog maar even de shuttleVFD.so file te verkrijgen. Dit gaat eenvoudig door LCDproc even snel op een Linux installatie te installeren met het commando:

apt-get install lcdproc

Je kunt de ‘shuttleVFD.so’ file  dan vervolgens vinden in de directory ‘/usr/lib/x86_64-linux-gnu/lcdproc/’.

Hierna heb ik de SYSTEM file van de bootable USB disk gecopieerd naar mijn Debian systeem. Vervolgens deze file ‘unsquashen’, de ‘shuttleVFD.so’ file toevoegen en weer ‘squashen’ met de volgende commando’s:

unsquashfs SYSTEM
cp shuttleVFD.so squashfs-root/usr/lib/lcdproc
rm SYSTEM
mksquashfs squashfs-root SYSTEM

Voor de initiële OpenELEC installatie heb ik de nieuwe SYSTEM file weer teruggezet op de bootable USB disk die ik heb gebruikt om OpenELEC te installeren op mijn Shuttle HTPC. Ditmaal was de ‘shuttleVFD.so’ file wel aanwezig. Deze heb ik vervolgens geselecteerd in de OpenELEC configuratie Addon.

De eerste keer moet je ook nog je LCD display instellen in de LCDd.conf file door deze te copieren naar je ‘storage’ device en dan te editten:

cp /etc/LCDd.conf /storage/.config/LCDd.conf
vi /storage/.config/LCDd.conf

Pas in deze file de waarde van de Driver aan (‘Driver=shuttleVFD’). Reboot hierna je OpenElec installatie en je zult zien dat je Shuttle VFD nu eindelijk zal werken.

Als je OpenELEC al hebt geïnstalleerd dan moet je de nieuwe SYSTEM en oude KERNEL file copiëren naar de /storage/.update directory van OpenELEC. Dit kan vanuit Windows Explorer door hier \<ip-address van je OpenELEC installatie> in te typen en vervolgens de update directory te kiezen als target. Let er op dat je ook nog een file met de naam .nocheck aanmaakt om de MD5 check te omzeilen. Eventueel kun je dat ook doen door het volgende commando via een Putty sessie op je OpenELEC installatie uit te voeren:

touch /storage/.update/.nocheck

Na een reboot zal het OpenELEC netjes upgraden inclusief de extra shuttleVFD.so file.

Eventueel kun je de meldingen op je LCD nog aanpassen in de file:

/storage/.xbmc/userdata/LCD.xml

Het mooie van de Shuttle VFD is dat deze ook meteen als MCE remote dienst doet. Ik kan dus de Logitech Harmony afstandbediening gebruiken om de Shuttle HTPC te  besturen. Nu wilde ik echter dat een Power Off commando niet leidt tot het uitzetten van de Shuttle HTPC maar dat deze dan in slaap (Sleep) wordt gezet. Dit is mogelijk door de ‘remote.xml’ file aan te passen voor het <power> commando:

cp /usr/share/xbmc/system/remote.xml /storage/.xbmc/userdata/keymaps
vi /storage/.xbmc/userdata/keymaps/remote.xml

Verander nu het <power> blok in het volgende:

<power>XBMC.Suspend()</power>

Overigens kan de logfile van OpenELEC op de volgende locatie worden gevonden:

/storage/.xbmc/temp/xbmc.log

Tenslotte wil ik nog wijzen op een erg handige plugin als je video informatie mist in je library. Deze video-files kun je eenvoudig opsporen met de Missing Movie Scanner Addon.