You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

1

Saturday, October 1st 2005, 6:56pm

trayopen 0.0.4-pre3

Hier also mal die neuen gebündelten änderungen/vorschläge vom Lord und Morone aus diesem thread eingearbeitet.

Die setup daten werden jetzt sauber gespeichert und auch gleich wirksam.
Ich habe noch die von viking gewünschte möglichkeit eingearbeitet den laufwerksknopf zu blockieren.
Übernommen wurden auch die playdetektion vom Lord. Arbeite noch nicht wirklich fehlerfrei was aber an dem schmus liegt den die plugins beim abspielen so reporten. Habe mich deshalb entschieden erst mal den stop+unmount nicht auf der playdetektion beruhen zu lassen. Es wird also wieder immer gestopped.
"Eggschberden" können bei den benötigten zeilen ja einfach wieder die kommentare entfernen.

Nun zu den pferdefüssen:

Quoted

Original von Morone
Vielleicht darf ich ja auch mal meine Stimme erheben und vorschlagen , dass der Status vom Laufwerk vorher abgecheckt wird.
Denn wenn die Lade offen ist und man VDR startet dann
m_isOpen = true , net false -> womit man wieder beim 2x Druecken ist ;).

ftp://ftp.gwdg.de/pub/linux/cdrom/drivers/cm206/cdstatus.c

Dürfte fast unmöglich sein, da das "cdrom" modul anscheinend immer CDS_TRAY_OPEN liefert solange keine disc im laufwerk ist. Das liegt laut einträgen in den kernel foren aber an den ATAPI unzulänglichkeiten.

Ich habe ein kleines programm "status" dazugepackt das den status des drives ausgibt. Sollte wider erwarten euer drive doch zwischen tray open und geschlossenen tray ohne disc unterscheiden, könnt ihr das define STATUSCHECK benutzen um die tray positionserkennung zu komplettieren.
Im moment wird der tray nur synchronisiert wenn eine disk eingelegt ist (oder wird).

Vielleicht fällt mir aber in zukunft noch was geniales in der ATAPI spec auf.

Quoted

Original von LordJaxom
- beim Umount wird aus /proc/mounts ausgelesen, an welcher Stelle das Device gemountet ist. Dann wird das Ziel umounted, da auf meiner Kiste alles andere bei cdfs zu einem Fehler führte.

Ich habe mittlerweise auf einem zweiten system das mal ohne ide-scsi nachvollzogen. Es könnten effecte von ide-cd sein.
Bei mir funktioniert es ohne den speziellen LordJaxom (LJ) unmount mit folgender configuration:

Source code

1
2
3
4
5
6
7
8
9
10
fstab:

/dev/cdrom   /cdrom  iso9660
/dev/cdda     /cdfs     cdfs

devices:
/dev/cdrom   -> /dev/cdrom0
/dev/cdda     -> /dev/cdrom0
/dev/cdrom0 -> /dev/hdc
/dev/dvd      -> /dev/cdrom0

Mit diese konfiguration kann ich unter 2.4.27 kernel alle logischen mountpoints durch "umount /dev/hdc" unmounten.

Sollte es trotzdem noch probleme geben habe ich die idee von LordJaxom als LJ_UNMOUNT eigearbeitet. Einfach das define setzen und der umount benutzt /proc/mounts um den mountpoint festzustellen.

gruss Peter

P.S.
ich bekomme hier noch einen üblen restart bei versuch vcds zu starten, also obacht ;D
PeterD has attached the following file:
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

This post has been edited 2 times, last edit by "PeterD" (Oct 1st 2005, 7:04pm)


2

Tuesday, October 4th 2005, 5:11pm

Na , irgendwie haut das da noch nicht so ganz hin ;)
Lade wird ausgefahren aber net mehr eingezogen.

bye

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

3

Tuesday, October 4th 2005, 8:28pm

Quoted

Original von Morone
Na , irgendwie haut das da noch nicht so ganz hin ;)
Lade wird ausgefahren aber net mehr eingezogen.

???? :gaga

Komisch, bei mir geht's, hab eher manchmal das problem das die lade nicht mehr aufgeht.

Welche vdr version, kernel, ide-scsi/ide-cd ??
Mach mal "echo "1" > /proc/sys/dev/cdrom/debug"
Das listet was der CD treiber so macht.
(Vorsicht, spammt die konsole voll . . . )

gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

This post has been edited 3 times, last edit by "PeterD" (Oct 4th 2005, 8:32pm)


4

Wednesday, October 5th 2005, 12:10pm

RE: trayopen 0.0.4-pre3

Hallo,

Quoted

Original von PeterD
Ich habe noch die von viking gewünschte möglichkeit eingearbeitet den laufwerksknopf zu blockieren.

Danke :D

Gruß
Viking
04.07.2007 Sharemarks 0.1.4pre6
AutoCutter 0.3.1
LC17

Bin dabei auf LinuxMCE umzustellen.
System : Viking LinuxMCE

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

5

Wednesday, October 5th 2005, 1:51pm

RE: trayopen 0.0.4-pre3

Quoted

Original von viking
Hallo,

Quoted

Original von PeterD
Ich habe noch die von viking gewünschte möglichkeit eingearbeitet den laufwerksknopf zu blockieren.

Danke :D

Nachteil ist das es auch mit einer leeren disc geht.
Versuch dann mal durch vdrconvert den tray zu öffnen vorm und nachm brennen ;D
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

6

Wednesday, October 5th 2005, 2:51pm

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Oct  5 14:47:00 coolermaster vdr[8555]: Text2Skin: menu display update thread started (pid=8555, tid=245768)
Oct  5 14:47:00 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:01 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:01 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:01 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:01 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:01 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:01 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:02 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:02 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:03 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:03 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:03 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:03 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:03 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:03 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:04 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:04 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:05 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster vdr[8555]: Text2Skin: menu display update thread ended (pid=8555, tid=245768)
Oct  5 14:47:07 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:07 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:07 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:07 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:08 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:09 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:09 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:09 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:09 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:09 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:09 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:10 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:10 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:11 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:11 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:11 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:11 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:11 coolermaster cdrom: entering cdrom_release


kernel-2.6.12
vdr-version ist egal

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

7

Wednesday, October 5th 2005, 4:09pm

Quoted

Original von Morone

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Oct  5 14:47:00 coolermaster vdr[8555]: Text2Skin: menu display update thread started (pid=8555, tid=245768)
Oct  5 14:47:00 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:01 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:01 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:01 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:01 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:01 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:01 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:02 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:02 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:03 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:03 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:03 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:03 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:03 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:03 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:04 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:04 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:05 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:05 coolermaster vdr[8555]: Text2Skin: menu display update thread ended (pid=8555, tid=245768)
Oct  5 14:47:07 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:07 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:07 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:07 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:08 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:09 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:09 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:09 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:09 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:09 coolermaster cdrom: entering cdrom_release
Oct  5 14:47:09 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:10 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:10 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:11 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:11 coolermaster cdrom: entering cdrom_open
Oct  5 14:47:11 coolermaster cdrom: Use count for "/dev/hdc" now 2
Oct  5 14:47:11 coolermaster cdrom: entering CDROM_DRIVE_STATUS
Oct  5 14:47:11 coolermaster cdrom: entering cdrom_release


kernel-2.6.12
vdr-version ist egal

. . . interessant . . .

Normalerweise dürfe cdrom_open nur beim vdr starten und cdrom_release beim beenden auftauchen. Irgendwas geht hier völlig schief.
Sieht für mich aus als ob das plugin irgentwie in einer endloss schleife hängt.
Hab leider keinen 2.6er kernel drauf zum testen. Hast du noch einen 2.4er alternativ am laufen ?

gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

8

Tuesday, October 25th 2005, 10:21am

bei mir funktioniert das auch nicht.
Egal ob die Schublade auf oder zu ist, ob mit eingelegter DVD oder ohne, in den Logs steht immer nur eject -t ...
=> schließen geht immer, öffnen nie

VDR 1.3.34, Kernel 2.6.13.2, SuSE 9.3
HW: Gigabyte EP41-UD3L | Core2Duo 7400 | 2GB Kingston | MSI N220GT-MD1GZ (passiv) | L4M-Twin S2 ver 6.5 mit Flex S2 | Silverstone LC16M mit iMON VFD | Samsung LE46B750
SW: Xubuntu 14.04 3.13.0-24 | NVIDIA 304.117 | vdr 2.1.6 | softhddevice | inputlirc | lcdproc

9

Sunday, April 1st 2007, 11:04pm

Da sag' ich doch mal was zu dieser "alten Geschichte".
Ich weiß jetzt nicht, inwieweit die CD-Schubladen-Problematik (aktuelle Zustandserkennung) im Plugin grundsätzlich gelöst ist. Als Anregung vielleicht mal meine Lösung, die auch mit 'eject' arbeitet (das Prinzip ist zwar nicht auf meinem Mist gewachsen, die Adaption auf meinen VDR aber schon :bpl).

Man erstelle ein Skript '/usr/bin/vdr-eject' (ausführbar machen usw.):

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
# vdr-eject

# get time stamp
ts=`date +%s`

# try to open tray
eject -r /dev/dvd

# check time for completing the open command
if [ $((`date +%s`-$ts)) -gt 0 ]; then
    # tray was closed and is now open
    svdrpsend.pl MESG "Tray geöffnet"
else
    # tray is already open and get's closed
    svdrpsend.pl MESG "Tray schließen"
    eject -rt /dev/dvd
fi


In die '/etc/lircrc' gehört jetzt (zusätzlich) eine Definition der Form:

Source code

1
2
3
4
5
6
7
begin
  remote = SONY_RM-831
  button = VTR1_ON/STANDBY
  delay  = 5
  prog   = irexec
  config = vdr-eject
end


...funktioniert bei mir prächtig und 'toggle't die Schublade immer auf, zu, auf, zu, auf, zu, (auch, wenn vorher manuell oder durch ein anderes Plugin am Tray 'rumgespielt' wurde) :D
...Herr, bewahre mich vor dem Glauben, alles (besser) zu wissen... ;D

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

10

Sunday, April 1st 2007, 11:50pm

Quoted

Original von NeverWise
Da sag' ich doch mal was zu dieser "alten Geschichte".
Ich weiß jetzt nicht, inwieweit die CD-Schubladen-Problematik (aktuelle Zustandserkennung) im Plugin grundsätzlich gelöst ist. Als Anregung vielleicht mal meine Lösung, die auch mit 'eject' arbeitet (das Prinzip ist zwar nicht auf meinem Mist gewachsen, die Adaption auf meinen VDR aber schon :bpl).

...funktioniert bei mir prächtig und 'toggle't die Schublade immer auf, zu, auf, zu, auf, zu, (auch, wenn vorher manuell oder durch ein anderes Plugin am Tray 'rumgespielt' wurde) :D

Autsch, da betreibt jemand leichenflederei ;D

Das problem ist wenn das plugin noch spielt.
Dann funktioniert auch dein 'eject' nicht.
Sehr übel ist hierbei das DVD plugin (ich glaub auch vcd), da das laufwerk nicht gesperrt ist.
Die schublade geht auf aber das plugin macht fleissig weiter.

Die probleme kamen vor allem von drei dingen:
  1. einige plugins haben das laufwerk nicht richtig freigegeben, z.B. DVD. Anschliessend funktioniert auch 'eject' überhaupt nicht mehr weil jemand das device sperrt. Das ist besonders komisch wenn man oben genanntes 'nicht sperren' mal vergleicht.
  2. ATAPI lässt den trayzustand nicht richtig erkennen (die SCSI väter müssen ziemlich stoned gewesen sein als dieses API definiert wurde). Das ist ein initialproblem und sollte nach einmal eject/insert zurückgestellt sein.
    Das problem ist das hier natürlich nur ein eject gegeben werden soll wenn nötig.
  3. ... womit wir beim hauptproblem sind, wegen 1) wird das laufwerk blockiert und erst kontrolliert gestoppt und dan entriegelt und ejected.
    Wegen 2) endet das aber wohl manchmal im deadlock fest.
    [/list=1]

    gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

This post has been edited 4 times, last edit by "PeterD" (Apr 2nd 2007, 12:01am)


11

Monday, April 2nd 2007, 4:56pm

zu 1. Das natürlich übel. Ich gebe zu, ich habe noch nicht probiert, die Disk auszuwerfen, während ein Plugin läuft ... (schien mir bisher immer wenig sinnvoll :))

zu 2. Ist mir doch wurscht, wie oft 'ejected' wird, wenn das Endergebnis meinen Erwartungen entspricht. Mir ging es in der praktischen Anwendung nur darum, dass irgendwie erkannt wird, was zu tun ist: Auf oder zu. Und das tut's halt. (Ja, schon klar, wenn man es ordentlich machen will, musst du auch alle möglichen 'Unglücksfälle' bedenken, hast ja recht.)


War auch nur so 'ne Idee... :D
...Herr, bewahre mich vor dem Glauben, alles (besser) zu wissen... ;D

Negge

Professional

Posts: 582

Location: Kreis Oldenburg in Niedersachsen

Occupation: Oberflächenanalytiker

  • Send private message

12

Monday, April 2nd 2007, 11:17pm

Ich hab gerade durch Zufall bei meinem Ubuntu gemerkt, das dort eject 2.1.4 verwendet wird, und dort gibt es die Option eject [-vn] -T [<name>] -- Laufwerk öffnen oder schließen.
Auf dem VDR hab ich nur 2.0.13, das kennt noch kein "-T". Vielleicht hilft das weiter...
Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 6TB MHDDFS (1x WD 1,4TB HDD, 2x WD 1,9TB HDD; 1x 0,9 TB WD), 4x TT3600 USB DVB-S2, System Yavdr0.5 headless
Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend.
Zweit-Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: YaVDR 0.5 (ist etwas laut, PowerOff nach halt funktioniert nicht)

Immortal Romance Spielautomat