[1] 2 3 ... 17 >>> Archiv / MLD 3.x / Development / Mld-3.0.2
 

Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« on: September 20, 2012, 13:10:21 »
Nach dem neuen zu erarbeiteten Konzept wird als Bindeglied zwischen den einzelnen Empfangsmethoden für VDR bzw. XBMC eventlircd fungieren.

Dieses ausgeliehene Flussdiagramm unten verdeutlicht die Funktionsweise.

Damit die Lösung mit eventlircd zum tragen kommt, sowie lircd parallel zu anderen Eingabegeräten gestartet werden kann und der Switch
« Last Edit: September 20, 2012, 13:11:41 by wino »

Offline MegaX

  • Administrator
  • Expert Member
  • ********
  • Posts: 1822
    • View Profile
Mld-3.0.2
« Reply #1 on: September 20, 2012, 13:33:34 »
Hier mal anbei meine lircd.conf und ich teste das dann auch gerne :)


MegaX
Gruß MegaX

Hardware (show / hide)

Offline Andy

  • Profi Member
  • ****
  • Posts: 393
  • Windows is great! I used it to download Linux.
    • View Profile
Mld-3.0.2
« Reply #2 on: September 20, 2012, 16:44:26 »
Hi
Hier auch noch meine lircd.conf, und man weiß ja nie...auch noch die remote für die Hauppauge, wenn benötigt.


MFG
Andre
« Last Edit: September 20, 2012, 17:40:41 by Andy »
Meine VDR's (show / hide)

Offline Andy

  • Profi Member
  • ****
  • Posts: 393
  • Windows is great! I used it to download Linux.
    • View Profile
Mld-3.0.2
« Reply #3 on: September 20, 2012, 16:49:24 »
Uuups, so nochmal...
Meine VDR's (show / hide)

Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« Reply #4 on: September 20, 2012, 17:04:00 »
@all,

Leute, nehmt es mir bitte nicht übel aber ich kann doch nicht jede lircd.conf anpassen. Seht Euch die gepostete remote.conf und das Beispiel dazu in der Doku an. Damit dürfte es für jeden kein großes Problem darstellen, die lircd.conf zu mappen und das Ergebnis der Allgemeinheit bereit zu stellen.

Damit Tests möglich werden habe ich um eine dieser Dateien gebeten und wollte damit den Tester nicht mit dieser Aufgabe belasten.

MfG
wino  

Offline MarMic

  • Administrator
  • Expert Member
  • ********
  • Posts: 4822
    • View Profile
Mld-3.0.2
« Reply #5 on: September 20, 2012, 17:18:30 »
achja wenn damit fertig bist

machste grad hier weiter: LOOOOOOOOOOOOL

nicht für ungut, den scherz musste ich bringen :-)
SZVDR HD: Intel e5300@1,2ghz - Gigabyte GA-EP41-UD3L - 2GB ddr2 800 - Gainward G210 512mb - Silverstone LC16MR - DVBSky S952 - Astra 19,2 - MLD 5.4

WZVDR HD: Intel g1610@1,6ghz - Intel DH61BE - Scythe Big Shuriken 2 - 4GB ddr3 1333 - Asus GT610 1024mb - Chieftec Hi-Fi HM-02 - Tevii s480 - Astra 19,2 - MLD 5.4


Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« Reply #6 on: September 20, 2012, 17:30:17 »
Quote
achja wenn damit fertig bist

machste grad hier weiter: LOOOOOOOOOOOOL
Claus wollte, so habe ich ihn verstanden, eine Automatik für das Mappen programmieren.  

Offline Andy

  • Profi Member
  • ****
  • Posts: 393
  • Windows is great! I used it to download Linux.
    • View Profile
Mld-3.0.2
« Reply #7 on: September 20, 2012, 17:36:33 »
@wino
...wieso, ich dachte du wolltest im großen Stil anfangen um zu bauen ;-)

MFG
Andre
Meine VDR's (show / hide)

Offline MegaX

  • Administrator
  • Expert Member
  • ********
  • Posts: 1822
    • View Profile
Mld-3.0.2
« Reply #8 on: September 20, 2012, 17:39:00 »
Quote
achja wenn damit fertig bist

machste grad hier weiter: LOOOOOOOOOOOOL

nicht für ungut, den scherz musste ich bringen :-)
Des ist doch keine Herrausforderung für wino. Nach 5 Min. langweilt er sich doch dann...loooool
Nur Spaß wino


MegaX
Gruß MegaX

Hardware (show / hide)

Offline Andy

  • Profi Member
  • ****
  • Posts: 393
  • Windows is great! I used it to download Linux.
    • View Profile
Mld-3.0.2
« Reply #9 on: September 20, 2012, 17:42:27 »
....hihi, tränen lach...mit euch hat man echt Spaß  :))

MFG
Andre
Meine VDR's (show / hide)

Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« Reply #10 on: September 21, 2012, 15:33:45 »
Wenn ich das Schaubild von oben richtig interpretiere müsste für den Betrieb mit Lirc folgendes über Skripte unterschieden und ausgewertet werden.

Bei einem Lirc-Empfänger ohne udev (seriell) wird die hardware.conf (gibt es bei MLD nicht) abgefragt, bewertet und je nach Ergebnis gehandelt.

Bei einem Lirc-Empfänger über udev greift die Rules 98.lircd.rules und das lirc_helper Skript. Fernbedienungen (Lirc) die in der 98.lircd.rules eingetragen sind sowie eine NAME.lircd.conf in /usr/share/mld-remote/remotes existiert, werden automatisch laufen. Als Vermittler (Bridge) zwischen lircd und eventlircd dient dabei lircd2uinput (benötigt python-uinput).

Eventlircd wird bei jeder Empfangsart benötigt. Damit möglist viele Fernbedienungen automatisch funktionieren, müssen die lircd.conf Dateien an die vorhandene remote.conf angepasst werden.

@Claus

bei diesem Vorhaben bist Du als Programmierer und Shell-König gefragt. Das WbIf wird wohl auch angepasst werden müssen? Wenn es Dir hilft, kann ich die relevanten Skripte aus yaVDR hier einstellen. Könnte vielleicht als eine
« Last Edit: September 21, 2012, 15:36:40 by wino »

Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« Reply #11 on: September 23, 2012, 12:47:32 »
Werden Eure USB-Lirc Empfänger bei 3.0.2 erkannt und die Module dazu geladen? Für den Start von lircd habe ich mir das Upstart-Init Skript von yaVDR angesehen und versucht es an unsere Bedingungen anzupassen.

Dazu habe ich rc.functions um diese zwei Einträge erweitert.
Code: [Select]
load_lirc_modules()
{
  MODULES_MISSING=false

  for mod in $*; do
      modprobe $mod 2> /dev/null || MODULES_MISSING=true
  done

  if $MODULES_MISSING; then
    exit 0
  fi
}

build_remote_args()
{
  REMOTE_ARGS="$*"

  #For remote only detection support, we need
  #both REMOTE_DEVICE and TRANSMITTER_DEVICE undefined
  if [ -z "$REMOTE_DEVICE" ] && [ -z "$TRANSMITTER_DEVICE" ] && [ -c $dev ]; then
    REMOTE_DEVICE="$dev"
  fi

  #If we have a REMOTE_DEVICE or REMOTE_DRIVER defined (either because no devices
  #were defined, OR if we explicitly did), then populate REMOTE_ARGS
  if [ ! -z "$REMOTE_DEVICE" ] || [ ! -z "$REMOTE_DRIVER" ]; then
    if [ -n "$REMOTE_DEVICE" ] && [ "$REMOTE_DEVICE" != "none" ]; then
      REMOTE_ARGS="--device=$REMOTE_DEVICE $REMOTE_ARGS"
    fi
    if [ -n "$REMOTE_DRIVER" ] && [ "$REMOTE_DRIVER" != "none" ]; then
      REMOTE_ARGS="--driver=$REMOTE_DRIVER $REMOTE_ARGS"
    fi

    #Now, if we ALSO have a transmitter defined, add some args
    #To make the first lircd listen up
    if [ ! -z "$TRANSMITTER_DEVICE" ] || [ ! -z "$TRANSMITTER_DRIVER" ]; then      
      REMOTE_ARGS="$REMOTE_ARGS --listen"
    fi
    REMOTE_ARGS="--output=$REMOTE_SOCKET.$$ $REMOTE_ARGS"
  fi
  echo $REMOTE_ARGS
}
Es werden die Dateien lircd.conf und hardware.conf aus /etc/lirc (gibt es in MLD bisher nicht) ausgewertet.
Das eigentliche Startsript sieht im Moment so aus.
Code: [Select]
#!/bin/sh

# Startet den lirc demon

case "$1" in
start | resume)
  . /etc/init.d/rc.functions
  . /etc/lirc/hardware.conf

  test -f /usr/sbin/lircd || exit 0

  if [ -f /etc/lirc/hardware.conf ];then
   . /etc/lirc/hardware.conf
  fi

  if [ ! -f /etc/lirc/lircd.conf ] ||
      grep -q "^#UNCONFIGURED" /etc/lirc/lircd.conf ||
      [ "x$START_LIRCD" = "xfalse" ]; then
      exit 0
  fi

  if [ "$LOAD_MODULES" = "true" ]; then
  load_lirc_modules $REMOTE_MODULES
  fi

  REMOTE_SOCKET=/var/run/lirc/lircd

  build_remote_args

  REMOTE_LIRCD_ARGS=`build_remote_args $REMOTE_LIRCD_ARGS`
  if [ -z "$REMOTE_LIRCD_ARGS" ]; then
      exit 0
  fi

  exec /usr/sbin/lircd --nodaemon $REMOTE_LIRCD_ARGS

  if [ ! -f /etc/lirc/lircd.conf ] ||
      grep -q "^#UNCONFIGURED" /etc/lirc/lircd.conf ||
      [ "x$START_LIRCD" = "xfalse" ]; then
      exit 1
  fi
;;
stop | halt)
  . /etc/init.d/rc.functions
  echo "Stopping lirc daemon"
  killall lircd || failed
  rm -r /dev/lircd
  unload_modules lirc
  update_setting "VDR_RCU" ""
  update_setting "VDR_SXFE_ARGS" "${VDR_SXFE_ARGS% --lirc}"
  check_status
;;
  restart)
  $0 stop
  $0 start
;;
init)
  start=1
  resume=1
  halt=1
  after=eventlircd
  before=vdr
;;
*)
  echo "Usage $0 {start | stop | restart}" >&2
  exit 1
esac
Es werden keine Module in der hardware.conf automatisch eingetragen und das WbIf müsste sicherlich auch umgeschrieben werden. Es ist nur ein bescheidener Versuch der als eventuelle Arbeitsvorlage dienen könnte.

@Claus,

es wäre nett wenn Du Dich der Sache annehmen würdest. Es sollte unterschieden werden ob es ein Serail-Empfänger ohne udev oder ein USB-Empfänger mit Udev-Unterstützung ist. Weiterhin sollten die lircd.conf an die einheitliche remote.conf angepasst werden können.

Siehe Dir auch bitte die obigen Skripte an, ob damit eine vorläufige lircd Funktion möglich ist und gegebenenfalls

Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« Reply #12 on: September 24, 2012, 03:11:18 »
Hallo MegaX,

wenn ich mir Deine lircd.conf ansehe, hast Du wohl eine iMon PAD FB und müsstest bei lirc das Modul lirc_imon und lirc_dev laden? Wenn das so ist, möchte Dich bitten testweise anstelle von lirc, dvb-remote zu installieren. Deine Hardware wird durch udev erkannt und die Module rc-core und imon sowie die Keymap rc-imon-pad sollten installiert werden.

Wen nicht alle Tasten mit der beiliegenden (in /etc/vdr) remode.conf funktionieren ist erst einmal nicht tragisch. Die lassen sich leicht anpassen. Es geht um die rc-core Treiber anstelle von lirc.

MfG
wino

Offline MegaX

  • Administrator
  • Expert Member
  • ********
  • Posts: 1822
    • View Profile
Mld-3.0.2
« Reply #13 on: September 24, 2012, 14:25:12 »
Habs mal getestet und die FB gibt auch schon was von sich :))

addons:
Code: [Select]
MLD-3.0.2_eventlircd-0.0.1_5.sfs
MLD-3.0.2_evtest-1.29_2.sfs
MLD-3.0.2_irkeytable-0.8.6_1.sfs
MLD-3.0.2_kernel-3.5.4.136_alsa-1.0.25_94.sfs
MLD-3.0.2_kernel-3.5.4.136_dvb-2012.09.23_154.sfs
MLD-3.0.2_kernel-3.5.4.136_dvb-remote-2012.09.23_12.sfs
MLD-3.0.2_kernel-3.5.4.136_network-0_74.sfs
MLD-3.0.2_kernel-3.5.4.136_xorg-1.11.3_162.sfs
MLD-3.0.2_kernel-3.5.4.136_xorg-nvidia-304.43_84.sfs
MLD-3.0.2_lib-av-53_12.sfs
MLD-3.0.2_lib-pango-1.6.0_2.sfs
MLD-3.0.2_lib-x-0_16.sfs
MLD-3.0.2_locales-0_49.sfs
MLD-3.0.2_samba-3.6.3_20.sfs
MLD-3.0.2_ssh-0_15.sfs
MLD-3.0.2_vdr-1.7.30.368_369.sfs
MLD-3.0.2_vdr-1.7.30.368_addons-0.4.0_44.sfs
MLD-3.0.2_vdr-1.7.30.368_setup-0.3.1_50.sfs
MLD-3.0.2_vdr-1.7.30.368_softhddevice-2012.09.15_12.sfs
MLD-3.0.2_webserver-0_190.sfs

lsmod:
Code: [Select]
Module                  Size  Used by    Tainted: P  
r8169                  35782  0
rc_imon_pad             1269  0
imon                   15859  0
ir_lirc_codec           3015  0
lirc_dev                6471  1 ir_lirc_codec
ir_mce_kbd_decoder      2462  0
ir_sanyo_decoder        1269  0
ir_sony_decoder         1187  0
ir_jvc_decoder          1269  0
ir_rc6_decoder          1654  0
ir_rc5_decoder          1133  0
ir_nec_decoder          1305  0
rc_dvbsky                807  0
m88ds3103              13145  2
cx25840                79374  1
cx23885               110260 16
videobuf_dma_sg         5500  1 cx23885
rc_core                 9598 14 rc_imon_pad,imon,ir_lirc_codec,ir_mce_kbd_decoder,ir_sanyo_decoder,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder,rc_dvbsky,cx23885
altera_ci               6017  1 cx23885
cx2341x                11645  1 cx23885
v4l2_common             3622  3 cx25840,cx23885,cx2341x
videodev               60817  4 cx25840,cx23885,cx2341x,v4l2_common
tveeprom                9809  1 cx23885
videobuf_dvb            3374  1 cx23885
videobuf_core          10799  3 cx23885,videobuf_dma_sg,videobuf_dvb
dvb_core               64299  3 cx23885,altera_ci,videobuf_dvb
btcx_risc               2379  1 cx23885
tda18271               27905  1 cx23885
altera_stapl           17753  1 cx23885
nvidia              10169008 52
snd_hda_codec_hdmi     17840  4
snd_hda_codec_realtek    39251  1
snd_hda_intel          16785  4
snd_hda_codec          53904  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               3775  1 snd_hda_codec
snd_seq_oss            19159  0
snd_seq_midi_event      3632  1 snd_seq_oss
snd_seq                32200  4 snd_seq_oss,snd_seq_midi_event
snd_seq_device          3536  2 snd_seq_oss,snd_seq
snd_pcm_oss            25600  0
snd_pcm                43541  6 cx23885,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_page_alloc          4753  2 snd_hda_intel,snd_pcm
snd_timer              11985  3 snd_seq,snd_pcm
snd_mixer_oss           9778  1 snd_pcm_oss
snd                    34606 19 cx23885,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss
ati_agp                 3877  0
agpgart                17775  2 nvidia,ati_agp
uinput                  5031  0



MegaX
Gruß MegaX

Hardware (show / hide)

Offline wino

  • Expert Member
  • *****
  • Posts: 919
    • View Profile
Mld-3.0.2
« Reply #14 on: September 24, 2012, 15:02:05 »
Der Anfang ist damit gemacht. Installiere bitte usbutils.

Die Ausgabe von lsusb -v > lsusb.txt und die Ausgabe von cat /proc/bus/input/devies würde mich interessieren. Als Fleißaufgabe könntest Du bitte im dvb-remote Addon unter src/dvb/linux/drivers/media/rc/keymaps die rc-imon-pad.c anpassen und mir zukommen lassen.

Dabei gehst Du wie folgt vor. Deine bisherige lircd.conf mit der rc-imon-pad.c unter Berücksichtigung der gemeinsamen remote.conf abgleichen. Die Tastenbelegung in der rc-imon-pad.c muss nach der Bearbeitung mit denen in der remote.conf übereinstimmen. Die Tasten, die Du für User1-9 vorgesehen hast, müssen in der rc-imon-pad.c  danach KEY_PROG1-9 benannt sein.

Kommst mit dem geschrieben nicht klar, kannst Du mir Deine lircd.conf nochmal zukommen lassen. In dieser sollen die Tasten kommentiert sein, die Du für die User-Tasten vorgesehen hast.

MfG
wino
« Last Edit: September 24, 2012, 15:04:50 by wino »

[1] 2 3 ... 17 >>> Archiv / MLD 3.x / Development / Mld-3.0.2
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.