Hallo,
ich benutze das graphlcd-plugin zusammen mit einem Pollindisplay und einem HP12542R-Controller.
Das funktioniert soweit so gut. Nun möchte ich in Zukunft das Display auch mit XBMC nutzen und bin gerade dabei hierfür die Vorarbeiten zu leisten.
Unter anderem ist dazu nötig, dass der VDR graphlcd freigibt. Das sollte eigentlich auch über svdp mit svdrpsend plug graphlcd disconn serdisp gehen.
Leider klappt das anschließende Verbinden nicht mehr. (Es wird nichts angezeigt.) Die Einträge im syslog hängen davon ab ob der disconn bzw connect-Befehl zum erstenmal nach dem VDR-Start ausgeführt wurden, oder ob schon ein (fehlgeschlagener) Versuch vorausging.
Hier ein Auszug aus dem Syslog, bei entsprechendem svdrpsend-Aufruf:
root@HD-VDR-DG:~# service vdr start
root@HD-VDR-DG:~# svdrpsend plug graphlcd disconn serdisp
220 HD-VDR-DG SVDRP VideoDiskRecorder 2.0.2; Wed Sep 18 23:31:17 2013; UTF-8
900 DISCONNect ok.
==>Syslog:
Sep 18 23:31:17 HD-VDR-DG vdr: [3955] connect from 127.0.0.1, port 49186 - accepted
Sep 18 23:31:17 HD-VDR-DG vdr: [4042] glcd_display thread ended (pid=3955, tid=4042)
Sep 18 23:31:17 HD-VDR-DG vdr: [3955] closing SVDRP connection
root@HD-VDR-DG:~# svdrpsend plug graphlcd connect serdisp
220 HD-VDR-DG SVDRP VideoDiskRecorder 2.0.2; Wed Sep 18 23:31:52 2013; UTF-8
900 Display serdisp: CONNECT ok.
221 HD-VDR-DG closing connection
==>Syslog:
Sep 18 23:31:52 HD-VDR-DG vdr: [3955] connect from 127.0.0.1, port 49187 - accepted
Sep 18 23:31:52 HD-VDR-DG vdr: [3955] graphlcd plugin: DEBUG: Init timeout waiting for display serdisp thread to get ready
Sep 18 23:31:52 HD-VDR-DG vdr: [5833] glcd_display thread started (pid=3955, tid=5833, prio=high)
Sep 18 23:31:52 HD-VDR-DG vdr: serdisp: INFO: detected serdisplib version 1.98 (cDriver::Init)
Sep 18 23:31:52 HD-VDR-DG vdr: [3955] graphlcd plugin: DEBUG: Display thread for 'serdisp' ready
Sep 18 23:31:53 HD-VDR-DG vdr: [3955] closing SVDRP connection
root@HD-VDR-DG:~# svdrpsend plug graphlcd disconn serdisp
220 HD-VDR-DG SVDRP VideoDiskRecorder 2.0.2; Wed Sep 18 23:33:04 2013; UTF-8
900 DISCONNect ok.
==>Syslog:
Sep 18 23:33:04 HD-VDR-DG vdr: [3955] connect from 127.0.0.1, port 49190 - accepted
Sep 18 23:33:07 HD-VDR-DG vdr: [3955] ERROR: glcd_display thread 5833 won't end (waited 3 seconds) - canceling it...
Sep 18 23:33:07 HD-VDR-DG vdr: [3955] closing SVDRP connection
svdrpsend plug graphlcd connect serdisp
root@HD-VDR-DG:~# svdrpsend plug graphlcd connect serdisp
220 HD-VDR-DG SVDRP VideoDiskRecorder 2.0.2; Wed Sep 18 23:33:12 2013; UTF-8
900 Display serdisp: CONNECT ok.
221 HD-VDR-DG closing connection
==>Syslog:
Sep 18 23:33:12 HD-VDR-DG vdr: [3955] connect from 127.0.0.1, port 49191 - accepted
Sep 18 23:33:12 HD-VDR-DG vdr: [3955] graphlcd plugin: DEBUG: Init timeout waiting for display serdisp thread to get ready
Sep 18 23:33:12 HD-VDR-DG vdr: [5843] glcd_display thread started (pid=3955, tid=5843, prio=high)
Sep 18 23:33:12 HD-VDR-DG vdr: serdisp: INFO: detected serdisplib version 1.98 (cDriver::Init)
Sep 18 23:33:12 HD-VDR-DG vdr: [3955] graphlcd plugin: DEBUG: Display thread for 'serdisp' ready
Sep 18 23:33:12 HD-VDR-DG vdr: [3955] closing SVDRP connection
Display More
Lass ich den Parameter <Display> weg, so ist das Ergebnis das gleiche, die Logeinträge sehen jedoch so aus:
root@HD-VDR-DG:~# service vdr restart
root@HD-VDR-DG:~# svdrpsend plug graphlcd disconn
220 HD-VDR-DG SVDRP VideoDiskRecorder 2.0.2; Wed Sep 18 23:47:01 2013; UTF-8
900 DISCONNect ok.
221 HD-VDR-DG closing connection
==>syslog
Sep 18 23:47:01 HD-VDR-DG vdr: [5852] connect from 127.0.0.1, port 49198 - accepted
Sep 18 23:47:01 HD-VDR-DG vdr: [5939] glcd_display thread ended (pid=5852, tid=5939)
Sep 18 23:47:01 HD-VDR-DG vdr: [5852] closing SVDRP connection
root@HD-VDR-DG:~# svdrpsend plug graphlcd connect
220 HD-VDR-DG SVDRP VideoDiskRecorder 2.0.2; Wed Sep 18 23:47:06 2013; UTF-8
900 RECONNECT status: OK = 1, FAILED = 0
221 HD-VDR-DG closing connection
==>Syslog
Sep 18 23:47:06 HD-VDR-DG vdr: [5852] connect from 127.0.0.1, port 49199 - accepted
Sep 18 23:47:06 HD-VDR-DG vdr: [5852] graphlcd plugin: DEBUG: Init timeout waiting for display serdisp thread to get ready
Sep 18 23:47:06 HD-VDR-DG vdr: [6261] glcd_display thread started (pid=5852, tid=6261, prio=high)
Sep 18 23:47:06 HD-VDR-DG vdr: serdisp: INFO: detected serdisplib version 1.98 (cDriver::Init)
Sep 18 23:47:06 HD-VDR-DG vdr: [5852] graphlcd plugin: DEBUG: Display thread ready for 'serdisp'
Sep 18 23:47:06 HD-VDR-DG vdr: [5852] closing SVDRP connection
Display More
Hier meine graphlcd.conf
root@HD-VDR-DG:~f# cat /etc/graphlcd.conf
# WaitMethod
# Select the method that is used for sleeping.
# Possible values:
# 0 - usleep
# 1 - nanosleep
# 2 - nanosleep (sched_rr) - This is recommended on kernel 2.4 systems
# 3 - gettimeofday - This is recommended on kernel 2.6 systems
# Defaukt value: 3
WaitMethod=3
# WaitPriority
# Select the process priority that is used when sleeping.
# Possible values: -20 <= x <= 19
# Default value: 0
WaitPriority=0
[serdisp]
Driver=serdisp
Controller=HP12542R
Delay=3
Wiring=3
Device=/dev/parport0
Port=0x378
Contrast=5
Backlight=yes
# Settings 'Width' and 'Height' are ignored at the moment. For generic controllers # (sed1330/1335, t6963) width and height need to be set using setting 'Options' (look above)
Width=128
Height=64
Display More
Hier die verwendeten Pakete:
vdr-plugin-graphlcd/precise uptodate 0.3.0+git20120329-0yavdr14~precise
graphlcd-tools/precise uptodate 0.1.9+git20120310-0yavdr0~precise
libserdisp1/precise uptodate 1.98.1+svn20120125-1yavdr3~precise
Hat jemand eine Idee?
Viele Grüße
Michael