Δημοσιεύτηκε: 25 Μάιος 2011, 11:57
από dancer_69
Τελικά κατάφερα να δημιουργήσω το lircd.conf μέσω της irrecord όπου όλα τα κουμπιά του χειριστηρίου αναγνωρίστηκαν και ανατέθηκαν λειτουργίες.
Το πρόβλημα που παραμένει όμως, είναι ότι το lirc δεν βρίσκει τη σωστή συσκευή μέσω του hardware.conf(νομίζω), οπότε και στην ουσία δε λειτουργεί το χειριστήριο με οποιοδήποτε πρόγραμμα.
Δοκιμάζοντας να τρέξω το lirc με την εντολή
sudo /usr/sbin/lircd -H dev/input -d /dev/input/event10 -n
και παράλληλα το irw σε άλλη καρτέλα τερματικού, το χειριστήριο λειτουργεί, τα κουμπία αναγνωρίζονται και εμφανίζεται το όνομα της λειτουργίας του καθενός όπως τα είχα ορίσει στο lircd.conf. Αυτό όμως δε συμβαίνει όταν το lirc εκκινεί κανονικά. Τότε το irw ή βγάζει σφάλμα σύνδεσης, ή απλά δεν ανταποκρίνεται με το πάτημα των κουμπιών του χειριστηρίου. Οπότε νομίζω ότι δεν ρυθμίζω σωστά το hardware.conf
Κάποια βοήθεια πάνω σε αυτό?
Πιστεύω ότι είμαι κοντά στη λύση, αλλά έχω απογοητευτεί αρκετά, μιας και έχω δοκιμάσει αρκετές διαφορετικές προσεγγίσεις από αναφορές και οδηγίες που έχω βρει στο διαδίκτυο αλλά τίποτε δε λειτούργησε ως τώρα.

Κώδικας: Επιλογή όλων
cat /proc/bus/input/devices


Κώδικας: Επιλογή όλων
I: Bus=0003 Vendor=2304 Product=0226 Version=0001
N: Name="em28xx IR (em28xx #0)"
P: Phys=usb-0000:00:1a.7-5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.7/usb1/1-5/rc/rc0/input3
U: Uniq=
H: Handlers=kbd event3
B: PROP=0
B: EV=100013
B: KEY=c0000 142000 0 0 0 0 10000 190 1 1e0000 0 0 10000ffc
B: MSC=10


Κώδικας: Επιλογή όλων
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="None"
REMOTE_MODULES=""
REMOTE_DRIVER=""
REMOTE_DEVICE=""
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"
# Arguments which will be used when launching lircd
LIRCD_ARGS="-d /dev/input/event10 -n"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=true
#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=true

#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="dev/input"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/input/event10"
MODULES=""
# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"


EDIT:
Από το documentation του Lirc βρήκα ότι πρέπει να απενεργοποιηθεί η ανίχνευση του χειριστηρίου από το hal για να μπορεί να χρησιμοποιείται απόκλειστικά από το lirc. Παρότι όμως έκανα και αυτή τη ρύθμιση, η οποία επιβεβαιώθηκε ότι λειτουργεί, εξακολουθεί να μη λειτουργεί.
Το περίεργο είναι ότι αν τρέξω την εντολή
sudo /usr/sbin/lircd -H dev/input -d /dev/input/event10 -n
πάντα αναγνωρίζεται σωστά, και όλα τα κουμπιά λειτουργούν.
Όταν όμως επανεκκινείται το lircd και διαβάζει το hardware.conf(το οποίο περιέχει τα στοιχεία της παραπάνω εντολής) ή εκκίνησή του πάντα αποτυγχάνει.
Αν χρησιμοποιήσω κάποιον από τους drivers που υποστηρίζει όπως το devinput, τότε ξεκινά κανονικά, αλλά βέβαια το χειριστήριο δεν αναγνωρίζεται πια.