.. moi non plus.. mais voici déjà quelques pistes pour réparer le bouzin !
Tout d'abord il faut savoir que les données EPG sont stockées dans la mémoire de la Dream et copiée sur le disque (enfin sur la CF dans mon cas) à chaque redémarrage et rechargé lors du boot... c'est bien souvent la raison des problèmes de chargement des données en provenance de CrossEPG: les chemins ne sont pas corrects dans tous les paramètres et voir même certains scripts sont carrément à la ramasse !
Petit exemple concret avec mon cas:
- Environnement iCVS Gemini + Gemini BP
- CrossEPG installé depuis le menu des add-on
- Emplacement CrossEPG: /media/cf/crossepg
- Emplacement EPG (config EPG du BP): /media/cf/epg
Ayant tout installé depuis les menus et options en standard, et sans avoir rien bidouillé, on s'attend bien evidemment à ce que tout fonctionne.. et bien NON ! (trop facile !?).
Le téléchargement des données XML ou XEPG se passe parfaitement bien, CrossEPG semble faire son boulot, converti les données etc mais malgré un reboot les données EPG ne sont toujours pas chargées correctement... mais pourquoi donc ?
Tout simplement parcequ'il existe quelques lacunes dans le script d'installation de CrossEPG, les menus de config et même les scripts de démarrage d'enigma et CrossEPG. Ci-dessous les éléments que j'ai du corriger afin que mes EPG soient enfin chargées correctement:
- Corriger le fichier /etc/enigma2/settings afin qu'il pointe au bon endroit:
root@dm8000:/etc/enigma2# vi settings
...
config.misc.epgcache_filename=/media/cf/epg/epg.dat
...
- Ajouter la commande /usr/crossepg/crossepg_epgmove.sh dans /usr/bin/enigma2.sh (merci Aki pour le liens vers l'info):
root@dm8000:vi /usr/bin/enigma2.sh
...
#check for dreambox specific passthrough helper lib
if [ -e /usr/lib/libpassthrough.so ]; then
LIBS="$LIBS /usr/lib/libpassthrough.so"
fi
/usr/crossepg/crossepg_epgmove.sh
LD_PRELOAD=$LIBS /usr/bin/enigma2
...
- Et enfin corriger ce put## de script crossepg_epgmove.sh qui ne copie tout simplement pas le fichier EPG au bon endroit pour une raison mystérieuse que je n'ai pas eu envie de débugger (les variables sont bonnes mais le fichier se copie toujours sur le HD !). Donc, pour me sipplifier la vie, j'ai modifié le script ainsi:
#!/bin/sh
HOME=`echo $0 | sed "s/crossepg_epgmove\.sh//"`
if [ -f "$HOME/crossepg.config" ] # if configuration exist
then
DBROOT=`cat $HOME/crossepg.config | grep db_root= | sed "s/db_root=//"`
else # else default path
DBROOT="/media/cf/crossepg"
fi
if [ -f "/etc/enigma2/settings" ] # if enigma2 configuration exist
then
EPGDAT=`cat /etc/enigma2/settings | grep "config\.misc\.epgcache_filename=" | sed "s/config\.misc\.epgcache_filename=//"`
else # else default path
EPGDAT="/media/cf/epg/epg.dat"
fi
if [ ! -n "$EPGDAT" ]
then
EPGDAT="/media/cf/epg.dat"
fi
/usr/crossepg/crossepg_epgcopy /media/cf/crossepg/ext.epg.dat /media/cf/epg/epg.dat
#if [ -f "$DBROOT/ext.epg.dat" ] # try on configuration path
#then
# echo copying ext.epg.dat from $DBROOT
# $HOME/crossepg_epgcopy "$DBROOT/ext.epg.dat" $EPGDAT
#elif [ -f "/media/cf/crossepg/ext.epg.dat" ] # if we have a bad path try with default path
#then
# echo copying ext.epg.dat from /media/cf/crossepg/
# $HOME/crossepg_epgcopy /media/cf/crossepg/ext.epg.dat /media/cf/epg/epg.dat
#else # no epg found
# echo ext.epg.dat not found
#fi
Et TADA... mon CrossEPG est retombé en marche depuis ce WE... Il me reste a vérifier si les updates se font bien et surtout regarder ce qu'il se passe avec la fonction "force reload" qui semble ne rien faire et surtout trouver une astuce pour recharger l'EPG sans un fucking reboot.
a+
x.