Hallo zusammen,
erstmal großes Kompliment an das Forum, ich lese schon eine ganze Weile mit und bin immer erstaunt,
wieviel Wissen sich hier versammelt. Einfach super!
Nun zu meinem - sicherlich kleinen - Problem. Ich habe mir beim Conrad den IR-Empfänger TSOP4838
gekauft. Dort heißt es lt. Datenblatt, dass ich den Sensor mit 3.3V betreiben kann.
Ich habe den TSOP4838 an meinen Raspberry Pi (Modell B mit 512 MB) mit aktuellem Raspdian
wie folgt angeschlossen:
- OUT-Pin des TSOP4838 an GPIO-14 meines RPi
- GND-Pin des TSOP4838 an Pin-9 (ebenso GND) meines RPi
- Vs-Pin des TSOP4838 an Pin-1 (3.3V) meines RPi
Ich bin auf GPIO-14 angewiesen, weil ich ansonsten nur noch GPIO-27 frei habe,
welcher überhaupt nicht mit dem TSOP4838 tut. Meine Verschaltung sollte aber doch korrekt sein, oder?
Dann tue ich Folgendes:
root@raspberrypi:/home/pi# modprobe lirc_rpi gpio_in_pin=14
ERROR: could not insert 'lirc_rpi': No such device
root@raspberrypi:/home/pi# modprobe lirc_rpi gpio_in_pin=14
root@raspberrypi:/home/pi# ls /dev/lirc*
/dev/lirc0 /dev/lirc1
Komisch ist es schon, dass ich beim ersten Laden des Moduls einen Fehler bekomme.
Beim zweiten mal läd das Modul lirc_rpi aber anscheinend fehlerfrei.
Das Kernel-Log (dmesg) sieht wie folgt aus:
[ 550.313906] lirc_dev: IR Remote Control driver registered, major 248
[ 550.319288] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 550.331576] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[ 550.331602] lirc_rpi: driver registered!
[ 550.331617] lirc_rpi: cant claim gpio pin 17
[ 552.322897] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[ 552.338182] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 1
[ 552.338208] lirc_rpi: driver registered!
[ 553.290956] lirc_rpi: auto-detected active low receiver on GPIO pin 14
Wenn ich nun mit mode2 meine IR-Fernbedienung nutze, hängt sich Raspdian einfach auf:
Wenn ich das zweite Device /dev/lirc1 nutze, tut es manchmal.
Warum habe ich eigentlich zwei neue Devices bekommen, hängt das mit dem fehlerhaften ersten Laden des Moduls zusammen?
root@raspberrypi:/home/pi# lsmod
Module Size Used by
lirc_rpi 7266 0
lirc_dev 10156 1 lirc_rpi
cpufreq_stats 2773 0
w1_therm 2987 0
w1_gpio 1625 0
wire 24845 2 w1_gpio,w1_therm
cn 4794 1 wire
snd_bcm2835 16304 1
snd_pcm 77560 2 snd_bcm2835
snd_seq 53329 0
snd_timer 19998 2 snd_pcm,snd_seq
snd_seq_device 6438 1 snd_seq
snd 58447 6 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
snd_page_alloc 5145 1 snd_pcm
evdev 9426 2
joydev 9316 0
8192cu 490353 0
hid_logitech_dj 10733 0
leds_gpio 2235 0
led_class 3562 1 leds_gpio
Alles anzeigen
Hoffe jemand kann mir bei diesem Problem helfen.
Vielen lieben Dank im Voraus!
noname.007
EDIT: Es sieht so aus, als würde es einen Zusammenhang zwischen GPIO-14 (Pin und GPIO-17 (Pin 11) geben. Letzteren Pin nutze ich zum Ansteuern einer LED. Nach dem erfolgreichen Laden des Moduls lirc_rpi (mit GPIO-14) kann ich GPIO-17 zum Ansteuern der LED über /sys/class/... nicht mehr nutzen. Wieso das? GPIO-14 ist der Pin für UART TX; kann dies damit etwas zu tun haben???
Lösung: GPIO-17 wird standardmäßig für gpio_out_pin genutzt. Ich lade das Module nun über lirc_rpi gpio_in_pin=14 gpio_out_pin=21. GPIO-21 gibt es auf dem RPi Modell-B (512 MB) nicht mehr, er ist GPIO-27 gewichen. Als Work-a-round funktioniert dies bei mir ohne (erkennbare) Seiteneffekte.