udev-068: Nach 2. mal Treiberladen "no primary device found"

  • Hallo,


    Ich habe ein seltsames Problem mit der udev-068. Die Rules und Permissions habe ich richtig eingetragen. Nach dem Update auf die Version habe ich VDR gestartet, dabei werden die Module für meine Technotrend 1.6 und Skystar2 geladen, VDR, getestet mit Versionen 1.3.31 und 1.3.27, startet. Vor einem Neustart von VDR werden die Module ent- und wieder geladen. Plötzlich findet VDR keine DVB-Karte mehr und startet neu. Das Problem lässt sich nur durch einen Neustart vom PC beheben und funktioniert wieder nur bis zum Neuladen der Treiber.


    Mit udev-056 tritt das Problem nicht auf, ich habe inzwischen wieder zu dieser Version gewechselt. Getestet habe ich es mit Kernel-2.6.13.


    Kann jemand das Problem bestätigen?

  • Das hilft Dir zwar nicht, aber seit dem Update auf udev-067 werden bei mir überhaupt keine dvb-devices mehr angelegt. Weil ich keine Lust hatte, mich rumzuärgern und zu downgraden, lege ich die devices bis auf weiteres manuell an:


    mkdir /dev/dvb/adapter0
    chmod 755 /dev/dvb/adapter0
    mknod -m 0660 /dev/dvb/adapter0/demux0 c 212 `expr 64 \* 0 + 4`
    mknod -m 0660 /dev/dvb/adapter0/dvr0 c 212 `expr 64 \* 0 + 5`
    mknod -m 0660 /dev/dvb/adapter0/frontend0 c 212 `expr 64 \* 0 + 3`
    mknod -m 0660 /dev/dvb/adapter0/net0 c 212 `expr 64 \* 0 + 7`


    mkdir /dev/dvb/adapter1
    chmod 755 /dev/dvb/adapter1
    mknod -m 0660 /dev/dvb/adapter1/demux0 c 212 `expr 64 \* 1 + 4`
    mknod -m 0660 /dev/dvb/adapter1/dvr0 c 212 `expr 64 \* 1 + 5`
    mknod -m 0660 /dev/dvb/adapter1/frontend0 c 212 `expr 64 \* 1 + 3`
    mknod -m 0660 /dev/dvb/adapter1/net0 c 212 `expr 64 \* 1 + 7`


    mkdir /dev/dvb/adapter2
    chmod 755 /dev/dvb/adapter2
    mknod -m 0660 /dev/dvb/adapter2/demux0 c 212 `expr 64 \* 2 + 4`
    mknod -m 0660 /dev/dvb/adapter2/dvr0 c 212 `expr 64 \* 2 + 5`
    mknod -m 0660 /dev/dvb/adapter2/frontend0 c 212 `expr 64 \* 2 + 3`
    mknod -m 0660 /dev/dvb/adapter2/net0 c 212 `expr 64 \* 2 + 7`
    mknod -m 0660 /dev/dvb/adapter2/audio0 c 212 `expr 64 \* 2 + 1`
    mknod -m 0660 /dev/dvb/adapter2/ca0 c 212 `expr 64 \* 2 + 6`
    mknod -m 0660 /dev/dvb/adapter2/video0 c 212 `expr 64 \* 2 + 0`
    mknod -m 0660 /dev/dvb/adapter2/osd0 c 212 `expr 64 \* 2 + 8`


    Gruß - J.

  • Tach,


    ohne weitere Infos ist ja die Fehleranalyse bekanntermassen schwierig, aber ich habe auch mittlerweile auf udev umgestellt (Version 068) und es geht mittlerweile (fast) alles wieder, so wie es soll.


    Sogar mit dem aktuellen 2.6.13er.


    Sämtliche DVB-Devices wurden ohne irgendwas zu machen, erkannt und entsprechend umgestellt.


    Da ist wohl was anderes im argen bei dir.


    Greets Olaf

    Ollie jetzt auch im Internet !!! ->> http://www.ohms.ws << VDR mit ASUS A7V8X-X, Athlon XP 2 Ghz, 512 MB DDR-RAM und gentoo 2008.0 Linux, ner Menge Platten (1 TB), 2 Brennern und Karten-Vollausstattung (1 X Nexus 4 MB Mod, 3 x Nova, 1 PVR 350) , TFT/Sony PSOne, Nvidia Graka und und und * Linux - wir geben ihrem Computer das Leben zurück *

  • Hallo!


    Also eigentlich müsste es mit udev-068 wieder gehen, siehe ChangeLog und dieser Bug
    http://bugs.gentoo.org/show_bug.cgi?id=70816


    no_expert:
    Ich nehme an du nimmst die ebuilds von gentoo.de, oder?
    Das Startskript hat da noch Probleme mit neueren udevs, d.h. es kann sein dass udev langsamer ist als das Startskript, also vdr gestartet wird bevor udev die Devices anlegt.


    Die gentoo.org ebuilds werden bald verbesserte Startskripte enthalten, die dann auch mit den gentoo.de ebuilds nutzbar sind. Diese enthalten dann zB auch das Warten auf dvb-devices.


    Gruß
    Zzam

  • Zzam: Nein, ich habe VDR nicht aus den ebuilds heraus installiert, ich habe es sozusagen per "Hand" angepasst und kompiliert.


    Da der Rechner, auf dem VDR läuft, auch noch andere Aufgaben hat, starte ich den VDR von Hand, das heißt udev ist mit Sicherheit schon lange fertig bis die Treiber geladen sind und VDR gestartet wird. So bin ich flexiebler.


    Ich sollte noch erwähnen dass ich die Einträge, also /dev/dvb/adapter0/...., überprüft habe, sie sind vorhanden und die Rechte passen auch. Das ist ja das komische.

  • udev läuft natürlich schon früher, nur das registrieren der devices in /dev dauert bei udev eben etwas zu lang, versuch einfach mal in dem script, welches die dvb-treiber läd ein "sleep 1" anzuhängen


    gruß putze

    ##Hardware: 1800Athlon, 512MB RAM, TT1.6, KNC1 Budget, 160GB auf Asus A7V333 in einem Scenic600-Mod mit 320x240GLCD##
    ##Software: Kernel 2.6.10: Gentoo mit VDR-1.3.14, SoftAC3, NVRAM-Wakeup WakeOn-Lirc##
    ##Plugins: Burn, DVD, MP3, MPlayer, PiP, Teletext, Pilot, SleepTimer, TvOnsreen, Image, Timeline,TVTV, VCD, VDRCD##
    ##ToDo: LowNoise-Mod##

  • Es läuft jetzt mit dem neuen udev. Ich bin mir nicht ganz sicher was die Lösung war.
    Mir ist aufgefallen dass das Script nicht alles Module entläd, ich habe sie hinzugefügt.
    Funktkioniert hat es dann wirklich erst als ich die DVB-Treiber komplett entladen habe und die Einträge unter /dev/dvb/ gelöscht habe.
    VDR Neustarts mit neuladen der Module funktioniert jetzt, allerdings habe ich seit dem den Rechner nicht mehr neu gestartet, ich weis nicht ob das Problem dann wieder besteht. Ich gehe mal davon aus das dem nicht so ist. ;)

  • ich hatte das problem auch. es scheint mir so zu sein, dass zwar die treiber normal geladen werden, aber die devices erscheinen erst nach ca. 10 sekunden im /dev tree. ich habe mein startskript entsprechend angepasst, sodass es nach laden der module wartet, bis /dev/dvb auftaucht.



    wenn intresse besteht kann ich auch mal alle meine gentoo startskripte, die zum vdr gehören, posten . leider sind die aber auch nicht perfekt ;)


    das ganze passierte bei mir auch erst nach einem update des systems. davor war /dev/dvb immer sofort nach dem laden der module verfügbar.


    gruß frank

  • essentiell ist eigentlich nur run-vdr und purge-modules.


    - purge-modules ist schon ziemlicher pfusch, aber es tut wunderbar seine dienste ;D


    - run-vdr hat seine 'config' in /etc/conf.d/vdr - das funktioniert prinzipiell gut, solange man den vdr modulen keine parameter übergeben muss. falls euch/dir hier was besseres einfällt (oder vielleicht habt ihr auch schon was besseres - ich hab mir die ebuilds noch nie angesehen) lass es mich wissen...


    viel spass damit.


    frank

  • fen:
    Habs mir angeschaut. Aber im Moment hab ich keine Zeit gentoo-vdr-scripts total zu ändern. D.h. es gibt noch den normalen gentoo-watchdog der periodisch testet ob vdr noch läuft. Eventuell kommt mal eine runvdr ähnliche Lösung, aber frühestens in ein paar wochen.


    sowas wie purge-modules gibt es bei den gentoo scripts auch. Hier werden rekursiv von dvb-core ausgehend alle module entladen, und dann wieder geladen.


    Warten auf devices ist auch implementiert.
    Allerdings fehlt noch der shutdown/wakeup-Teil. IR-Codes für den av7110 werden auch nicht gesetzt. Ließe sich aber einbauen.


    Wenn du's dir mal anschauen willst, das ebuild heisst gentoo-vdr-scripts.
    Vorsicht: zB die config-dateien heissen gleich


    Zzam

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!