zum thema absturz beim setzen des timers. hab diesbezüglich gerade eine mail bekommen.
----- ich zitiere -----
ich hab ja nur eine kathrein, konnte das problem aber nachvollziehen.
mal was grundsätzliches:
wenn die box abstürzt, gibt es den berühmt-berüchtigten greenscreen. natürlich steht man erstmal dumm da.
aber: es gibt in diesen fällen immer ein crash-log. dieses ist im verzeichnis /hdd/ zu finden.
es hat die syntax enigma2_crash_**********.log
im vorliegenden absturzfall sahen die letzten 20 zeilen des logs so aus:
action -> InfobarEPGActions showEventInfo
reused converter!
no ancillary data in audio stream... abort radiotext pes parser
action -> EventViewEPGActions openSingleServiceEPG
0.106066942215
action -> OkCancelActions ok
reused converter!
[EPGC] schedule finished(1237678205)
action -> EventViewActions timerAdd
[TIMER] record time changed, start prepare is now: Sun Mar 22 01:37:40 2009
/usr/lib/enigma2/python/skin.py:31: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
self.message = message
Traceback (most recent call last):
File "/home/teamducktales/dt/tufsbox/cdkroot/usr/lib/enigma2/python/Components/ActionMap.py", line 46, in action
File "/home/teamducktales/dt/tufsbox/cdkroot/usr/lib/enigma2/python/Screens/EventView.py", line 87, in timerAdd
File "/usr/lib/enigma2/python/mytest.py", line 274, in openWithCallback
dlg = self.open(screen, *arguments, **kwargs)
File "/usr/lib/enigma2/python/mytest.py", line 284, in open
dlg = self.current_dialog = self.instantiateDialog(screen, *arguments, **kwargs)
File "/usr/lib/enigma2/python/mytest.py", line 219, in instantiateDialog
return self.doInstantiateDialog(screen, arguments, kwargs, self.desktop)
File "/usr/lib/enigma2/python/mytest.py", line 244, in doInstantiateDialog
readSkin(dlg, None, dlg.skinName, desktop)
File "/home/teamducktales/dt/tufsbox/cdkroot/usr/lib/enigma2/python/skin.py", line 424, in readSkin
raise SkinError("component with name '" + wname + "' was not found in skin of screen '" + name + "'!")
skin.SkinError/usr/lib/enigma2/python/skin.py:34: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
return self.message
: component with name 'location' was not found in skin of screen 'TimerEntry'!
(PyObject_CallObject(<bound method ActionMap.action of <Components.ActionMap.ActionMap instance at 0x13bbb0c>>,('EventViewActions', 'timerAdd')) failed)
interessant ist hier die zeile
: component with name 'location' was not found in skin of screen 'TimerEntry'!
die uns verrät, dass irgendwas mit dem skin nicht stimmt. in diesem fall wird die komponente location nicht gefunden, die in der skin.xml in der 'abteilung' TimerEntry definiert ist.
der entsprechende part in der skin.xml sah so aus
<!-- Timer entry -->
<screen name="TimerEntry" position="80,87" size="560,430" title="Timer entry">
<widget name="cancel" pixmap="Vader/buttons/red.png" position="0,0" size="140,40" alphatest="on"/>
<widget name="ok" pixmap="Vader/buttons/green.png" position="140,0" size="140,40" alphatest="on"/>
<widget name="location" pixmap="Vader/buttons/yellow.png" position="280,0" size="140,40" alphatest="on"/>
<ePixmap pixmap="Vader/buttons/blue.png" position="420,0" size="140,40" alphatest="on"/>
<widget name="canceltext" position="0,0" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;20" backgroundColor="#9f1313" transparent="1"/>
<widget name="oktext" position="140,0" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;20" backgroundColor="#1f771f" transparent="1"/>
<widget name="locationtext" position="280,0" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;18" backgroundColor="#a08500" transparent="1"/>
<widget name="config" position="10,45" size="540,385" scrollbarMode="showOnDemand"/>
</screen>
mal fix die widgets location und locationtext auskommentiert
<!-- Timer entry -->
<screen name="TimerEntry" position="80,87" size="560,430" title="Timer entry">
<widget name="cancel" pixmap="Vader/buttons/red.png" position="0,0" size="140,40" alphatest="on"/>
<widget name="ok" pixmap="Vader/buttons/green.png" position="140,0" size="140,40" alphatest="on"/>
<!--widget name="location" pixmap="Vader/buttons/yellow.png" position="280,0" size="140,40" alphatest="on"/ -->
<ePixmap pixmap="Vader/buttons/blue.png" position="420,0" size="140,40" alphatest="on"/>
<widget name="canceltext" position="0,0" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;20" backgroundColor="#9f1313" transparent="1"/>
<widget name="oktext" position="140,0" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;20" backgroundColor="#1f771f" transparent="1"/>
<!-- widget name="locationtext" position="280,0" zPosition="2" size="140,40" halign="center" valign="center" font="Regular;18" backgroundColor="#a08500" transparent="1"/-->
<widget name="config" position="10,45" size="540,385" scrollbarMode="showOnDemand"/>
</screen>
und siehe da... es läuft.
----- zitat ende -----
man kann von linux und e2 halten, was man möchte, aber eines zeigt das beispiel ja ganz deutlich. kleinere fehler kann man mit etwas knowhow selbst beheben, da man vollen zugriff auf das dateisystem hat. bei der originalen firmware muss man warten, bis so ein bug beim nächsten release mitgefixt wird, so dies überhaupt geschieht. im idealfall macht bei linux das die community, die sich hier ja erst noch bilden muss.
im anhang die gefixte skin.xml, die nach /usr/local/share/enigma2/Vader kopiert werden muss (alte überschreiben)