Raspberry Pi mit LIRC und USB IR Toy V2

Begonnen von Brockmann, 14 Februar 2014, 14:21:39

Vorheriges Thema - Nächstes Thema

Brockmann

Hallo zusammen,

ich habe mir das USB IR Toy V2 gekauft, um mit einem Raspberry via LIRC Unterhaltungselektronik, LEDs usw. steuern zu können.
Das ganze soll letztlich von FHEM aus angesteuert werden, aber erstmal sollten Raspberry Pi, IR Toy und LIRC als solches zusammenarbeiten.

Das Installieren von LIRC fürs IR Toy ist nicht ganz trivial, aber ich habe es nach folgender Anleitung hinbekommen:
http://blog.scotttomaszewski.com/2013/04/programmatic-lighting/

Ganz wichtig war dabei aber dieser Kommentar und die darin beschriebenen zusätzlichen Schritte:
http://blog.scotttomaszewski.com/2013/04/programmatic-lighting/comment-page-1/#comment-103

Damit klappt das Aufzeichnen und Senden von IR-Codes soweit. Allerdings muss ich den lircd dazu manuell starten.
Wenn ich den LIRC-Service starte, passiert nämlich folgendes:

pi@raspberrypi ~ $ sudo service lirc start
[ ok ] Loading LIRC modules:.
[FAIL] Starting remote control daemon(s) : LIRC : failed!
pi@raspberrypi ~ $


Weitere Kommentare kann ich dem nicht entlocken und meine Linux-Kenntnisse reichen nicht soweit, das debuggen zu können.
Vielleicht hat ja einer der Linux-Cracks hier einen Tipp, wie man das Problem näher eingrenzen könnte, damit es wirklich rund läuft.
Denn ich denke, wenn LIRC grundsätzlich in dieser Konfiguration läuft, dann sollte sich das auch als Dienst aktivieren lassen.

Wernieman

#1
Was zeigt:
tail -n50 /var/log/messages
dmesg


Habe lircd, allerdings unter Gentoo, laufen und läuft und läuft und läuft .....

Edit:
Habe gerade kurz nochmals regergiert, eigentlich sollte mit aktuellen Linux der Stick direkt unterstütz werden, z.B. siehe http://dangerousprototypes.com/docs/USB_IR_Toy:_Configure_LIRC
Könntest Du mir bitte Deine Kernelversion geben?
uname -a
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Brockmann

root@raspberrypi:/home/pi# uname -r
3.10.25+


root@raspberrypi:/home/pi# tail -n50 /var/log/messages
Feb 13 16:41:07 raspberrypi kernel: [    2.111702] Initializing XFRM netlink socket
Feb 13 16:41:07 raspberrypi kernel: [    2.119424] NET: Registered protocol family 17
Feb 13 16:41:07 raspberrypi kernel: [    2.125417] Key type dns_resolver registered
Feb 13 16:41:07 raspberrypi kernel: [    2.134379] Indeed it is in host mode hprt0 = 00021501
Feb 13 16:41:07 raspberrypi kernel: [    2.141356] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
Feb 13 16:41:07 raspberrypi kernel: [    2.169976] registered taskstats version 1
Feb 13 16:41:07 raspberrypi kernel: [    2.193611] Waiting for root device /dev/mmcblk0p2...
Feb 13 16:41:07 raspberrypi kernel: [    2.204579] mmc0: new high speed SDHC card at address 1234
Feb 13 16:41:07 raspberrypi kernel: [    2.229279] mmcblk0: mmc0:1234 SA04G 3.63 GiB
Feb 13 16:41:07 raspberrypi kernel: [    2.237249]  mmcblk0: p1 p2
Feb 13 16:41:07 raspberrypi kernel: [    2.369263] usb 1-1: new high-speed USB device number 2 using dwc_otg
Feb 13 16:41:07 raspberrypi kernel: [    2.378656] Indeed it is in host mode hprt0 = 00001101
Feb 13 16:41:07 raspberrypi kernel: [    2.589964] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
Feb 13 16:41:07 raspberrypi kernel: [    2.598237] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Feb 13 16:41:07 raspberrypi kernel: [    2.607778] hub 1-1:1.0: USB hub found
Feb 13 16:41:07 raspberrypi kernel: [    2.613338] hub 1-1:1.0: 5 ports detected
Feb 13 16:41:07 raspberrypi kernel: [    2.899460] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
Feb 13 16:41:07 raspberrypi kernel: [    3.020000] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
Feb 13 16:41:07 raspberrypi kernel: [    3.028367] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Feb 13 16:41:07 raspberrypi kernel: [    3.040147] smsc95xx v1.0.4
Feb 13 16:41:07 raspberrypi kernel: [    3.107476] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:e3:fe:45
Feb 13 16:41:07 raspberrypi kernel: [    3.199374] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
Feb 13 16:41:07 raspberrypi kernel: [    3.334324] usb 1-1.2: New USB device found, idVendor=04d8, idProduct=fd08
Feb 13 16:41:07 raspberrypi kernel: [    3.343166] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 13 16:41:07 raspberrypi kernel: [    3.352103] usb 1-1.2: Product: CDC Test
Feb 13 16:41:07 raspberrypi kernel: [    3.360759] usb 1-1.2: Manufacturer: Dangerous Prototypes
Feb 13 16:41:07 raspberrypi kernel: [    3.367672] usb 1-1.2: SerialNumber: 00000001
Feb 13 16:41:07 raspberrypi kernel: [    9.420135] EXT4-fs (mmcblk0p2): recovery complete
Feb 13 16:41:07 raspberrypi kernel: [    9.429887] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
Feb 13 16:41:07 raspberrypi kernel: [    9.441043] VFS: Mounted root (ext4 filesystem) on device 179:2.
Feb 13 16:41:07 raspberrypi kernel: [    9.450708] devtmpfs: mounted
Feb 13 16:41:07 raspberrypi kernel: [    9.455669] Freeing unused kernel memory: 144K (c0573000 - c0597000)
Feb 13 16:41:07 raspberrypi kernel: [   12.789949] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
Feb 13 16:41:07 raspberrypi kernel: [   13.002301] usbcore: registered new interface driver cdc_acm
Feb 13 16:41:07 raspberrypi kernel: [   13.058195] bcm2708-i2s bcm2708-i2s.0: Failed to create debugfs directory
Feb 13 16:41:07 raspberrypi kernel: [   13.202429] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Feb 13 16:41:07 raspberrypi kernel: [   19.464045] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Feb 13 16:41:07 raspberrypi kernel: [   19.941297] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Feb 13 16:41:07 raspberrypi kernel: [   25.508575] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Feb 13 16:41:07 raspberrypi kernel: [   30.203305] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
Feb 13 16:41:07 raspberrypi kernel: [   31.737615] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
Feb 13 16:41:10 raspberrypi kernel: [   35.395574] Adding 102396k swap on /var/swap.  Priority:-1 extents:1 across:102396k SSFS
Feb 14 11:30:46 raspberrypi kernel: [14429.613838] usb 1-1.2: USB disconnect, device number 4
Feb 14 11:30:52 raspberrypi kernel: [14436.507895] usb 1-1.2: new full-speed USB device number 5 using dwc_otg
Feb 14 11:30:53 raspberrypi kernel: [14436.619733] usb 1-1.2: New USB device found, idVendor=04d8, idProduct=fd08
Feb 14 11:30:53 raspberrypi kernel: [14436.619772] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 14 11:30:53 raspberrypi kernel: [14436.619791] usb 1-1.2: Product: CDC Test
Feb 14 11:30:53 raspberrypi kernel: [14436.619808] usb 1-1.2: Manufacturer: Dangerous Prototypes
Feb 14 11:30:53 raspberrypi kernel: [14436.619825] usb 1-1.2: SerialNumber: 00000001
Feb 14 11:30:53 raspberrypi kernel: [14436.630195] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device



root@raspberrypi:/home/pi# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.25+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: BCM2708
[    0.000000] cma: CMA: reserved 16 MiB at 1b000000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 114688
[    0.000000] free_area_init_node: node 0, pgdat c05cfd6c, node_mem_map c067d000
[    0.000000]   Normal zone: 896 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 114688 pages, LIFO batch:31
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 113792
[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0xce3fe45 smsc95xx.macaddr=B8:27:EB:E3:FE:45 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 448MB = 448MB total
[    0.000000] Memory: 431652k/431652k available, 27100k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xdc800000 - 0xff000000   ( 552 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xdc000000   ( 448 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc05727b4   (5546 kB)
[    0.000000]       .init : 0xc0573000 - 0xc0597424   ( 146 kB)
[    0.000000]       .data : 0xc0598000 - 0xc05d0870   ( 227 kB)
[    0.000000]        .bss : 0xc05d0870 - 0xc067c3e0   ( 687 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:330
[    0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4294967ms
[    0.000000] Switching to timer-based delay loop
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty1] enabled
[    0.001178] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000)
[    0.001245] pid_max: default: 32768 minimum: 301
[    0.001717] Mount-cache hash table entries: 512
[    0.002527] Initializing cgroup subsys memory
[    0.002637] Initializing cgroup subsys devices
[    0.002679] Initializing cgroup subsys freezer
[    0.002715] Initializing cgroup subsys blkio
[    0.002876] CPU: Testing write buffer coherency: ok
[    0.003350] Setting up static identity map for 0xc0406048 - 0xc04060a4
[    0.005186] devtmpfs: initialized
[    0.019624] NET: Registered protocol family 16
[    0.025574] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.026696] bcm2708.uart_clock = 0
[    0.028429] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[    0.028484] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.028524] mailbox: Broadcom VideoCore Mailbox driver
[    0.028623] bcm2708_vcio: mailbox at f200b880
[    0.028730] bcm_power: Broadcom power driver
[    0.028773] bcm_power_open() -> 0
[    0.028802] bcm_power_request(0, 8)
[    0.529521] bcm_mailbox_read -> 00000080, 0
[    0.529565] bcm_power_request -> 0
[    0.529792] Serial: AMBA PL011 UART driver
[    0.529956] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3
[    0.872003] console [ttyAMA0] enabled
[    0.897970] bio: create slab <bio-0> at 0
[    0.903307] SCSI subsystem initialized
[    0.907285] usbcore: registered new interface driver usbfs
[    0.913005] usbcore: registered new interface driver hub
[    0.918580] usbcore: registered new device driver usb
[    0.925173] Switching to clocksource stc
[    0.929518] FS-Cache: Loaded
[    0.932693] CacheFiles: Loaded
[    0.948491] NET: Registered protocol family 2
[    0.953910] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    0.961177] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.967701] TCP: Hash tables configured (established 4096 bind 4096)
[    0.974177] TCP: reno registered
[    0.977436] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.983345] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.990086] NET: Registered protocol family 1
[    0.995018] RPC: Registered named UNIX socket transport module.
[    1.001083] RPC: Registered udp transport module.
[    1.005809] RPC: Registered tcp transport module.
[    1.010559] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.017905] bcm2708_dma: DMA manager at f2007000
[    1.022721] bcm2708_gpio: bcm2708_gpio_probe c05a5e50
[    1.028177] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.037565] audit: initializing netlink socket (disabled)
[    1.043241] type=2000 audit(0.890:1): initialized
[    1.205118] VFS: Disk quotas dquot_6.5.2
[    1.209517] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.218357] FS-Cache: Netfs 'nfs' registered for caching
[    1.225095] NFS: Registering the id_resolver key type
[    1.230387] Key type id_resolver registered
[    1.234600] Key type id_legacy registered
[    1.239425] msgmni has been set to 875
[    1.245294] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    1.253144] io scheduler noop registered
[    1.257106] io scheduler deadline registered (default)
[    1.262697] io scheduler cfq registered
[    1.266842] bcm2708_fb_debugfs_init: could not create debugfs entry
[    1.274426] BCM2708FB: allocated DMA memory 5b400000
[    1.279584] BCM2708FB: allocated DMA channel 0 @ f2007000
[    1.302342] Console: switching to colour frame buffer device 82x26
[    1.312505] uart-pl011 dev:f1: no DMA platform data
[    1.318841] kgdb: Registered I/O driver kgdboc.
[    1.325450] vc-cma: Videocore CMA driver
[    1.330807] vc-cma: vc_cma_base      = 0x00000000
[    1.336820] vc-cma: vc_cma_size      = 0x00000000 (0 MiB)
[    1.343581] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    1.359637] brd: module loaded
[    1.369262] loop: module loaded
[    1.373963] vchiq: vchiq_init_state: slot_zero = 0xdb000000, is_master = 0
[    1.383091] Loading iSCSI transport class v2.0-870.
[    1.390531] usbcore: registered new interface driver smsc95xx
[    1.398032] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.605385] Core Release: 2.80a
[    1.609885] Setting default values for core params
[    1.615933] Finished setting default values for core params
[    1.822833] Using Buffer DMA mode
[    1.827421] Periodic Transfer Interrupt Enhancement - disabled
[    1.834544] Multiprocessor Interrupt Enhancement - disabled
[    1.841401] OTG VER PARAM: 0, OTG VER FLAG: 0
[    1.847029] Dedicated Tx FIFOs mode
[    1.852341] dwc_otg: Microframe scheduler enabled
[    1.852582] dwc_otg bcm2708_usb: DWC OTG Controller
[    1.858802] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[    1.867421] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[    1.874239] Init: Port Power? op_state=1
[    1.879530] Init: Power Port (0)
[    1.884163] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.892374] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.901007] usb usb1: Product: DWC OTG Controller
[    1.907076] usb usb1: Manufacturer: Linux 3.10.25+ dwc_otg_hcd
[    1.914300] usb usb1: SerialNumber: bcm2708_usb
[    1.920987] hub 1-0:1.0: USB hub found
[    1.926112] hub 1-0:1.0: 1 port detected
[    1.931744] dwc_otg: FIQ enabled
[    1.931763] dwc_otg: NAK holdoff enabled
[    1.931775] dwc_otg: FIQ split fix enabled
[    1.931795] Module dwc_common_port init
[    1.932235] usbcore: registered new interface driver usb-storage
[    1.940050] mousedev: PS/2 mouse device common for all mice
[    1.947584] bcm2835-cpufreq: min=700000 max=700000 cur=700000
[    1.954895] bcm2835-cpufreq: switching to governor powersave
[    1.961960] bcm2835-cpufreq: switching to governor powersave
[    1.968879] cpuidle: using governor ladder
[    1.974223] cpuidle: using governor menu
[    1.979430] sdhci: Secure Digital Host Controller Interface driver
[    1.986858] sdhci: Copyright(c) Pierre Ossman
[    1.992534] sdhci: Enable low-latency mode
[    2.039207] mmc0: SDHCI controller on BCM2708_Arasan [platform] using platform's DMA
[    2.049709] mmc0: BCM2708 SDHC host at 0x20300000 DMA 2 IRQ 77
[    2.056944] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.064102] ledtrig-cpu: registered to indicate activity on CPUs
[    2.073698] hidraw: raw HID events driver (C) Jiri Kosina
[    2.088043] usbcore: registered new interface driver usbhid
[    2.095100] usbhid: USB HID core driver
[    2.104940] TCP: cubic registered
[    2.111702] Initializing XFRM netlink socket
[    2.119424] NET: Registered protocol family 17
[    2.125417] Key type dns_resolver registered
[    2.134379] Indeed it is in host mode hprt0 = 00021501
[    2.141356] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[    2.169976] registered taskstats version 1
[    2.179579] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    2.193611] Waiting for root device /dev/mmcblk0p2...
[    2.204579] mmc0: new high speed SDHC card at address 1234
[    2.229279] mmcblk0: mmc0:1234 SA04G 3.63 GiB
[    2.237249]  mmcblk0: p1 p2
[    2.369263] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.378656] Indeed it is in host mode hprt0 = 00001101
[    2.589964] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[    2.598237] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.607778] hub 1-1:1.0: USB hub found
[    2.613338] hub 1-1:1.0: 5 ports detected
[    2.899460] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.020000] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[    3.028367] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.040147] smsc95xx v1.0.4
[    3.107476] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:e3:fe:45
[    3.199374] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    3.334324] usb 1-1.2: New USB device found, idVendor=04d8, idProduct=fd08
[    3.343166] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.352103] usb 1-1.2: Product: CDC Test
[    3.360759] usb 1-1.2: Manufacturer: Dangerous Prototypes
[    3.367672] usb 1-1.2: SerialNumber: 00000001
[    9.420135] EXT4-fs (mmcblk0p2): recovery complete
[    9.429887] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    9.441043] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    9.450708] devtmpfs: mounted
[    9.455669] Freeing unused kernel memory: 144K (c0573000 - c0597000)
[   10.967650] udevd[157]: starting version 175
[   12.487972] cdc_acm 1-1.2:1.0: This device cannot do calls on its own. It is not a modem.
[   12.789949] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
[   13.002301] usbcore: registered new interface driver cdc_acm
[   13.058195] bcm2708-i2s bcm2708-i2s.0: Failed to create debugfs directory
[   13.202429] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   19.464045] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   19.941297] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   25.508575] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   30.203305] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   31.737615] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[   35.395574] Adding 102396k swap on /var/swap.  Priority:-1 extents:1 across:102396k SSFS
[14429.613838] usb 1-1.2: USB disconnect, device number 4
[14436.507895] usb 1-1.2: new full-speed USB device number 5 using dwc_otg
[14436.619733] usb 1-1.2: New USB device found, idVendor=04d8, idProduct=fd08
[14436.619772] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[14436.619791] usb 1-1.2: Product: CDC Test
[14436.619808] usb 1-1.2: Manufacturer: Dangerous Prototypes
[14436.619825] usb 1-1.2: SerialNumber: 00000001
[14436.630078] cdc_acm 1-1.2:1.0: This device cannot do calls on its own. It is not a modem.
[14436.630195] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device

Wernieman

Hast Du Dir mal meinen "Link" durchgelesen?

Was mich immer noch wundert, das Du "gepatcht" hast .... (Sorry bin am Wochenende wenig online)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Brockmann

Danke für die Rückmeldung. Den Link kenne ich selbstverständlich, das ist ja quasi die erste Anlaufadresse. Ich habe aber noch wesentlich mehr recherchiert.
Mein Kenntnisstand: Man kann das IR Toy mit LIRC im irman-Modus nutzen. Das ist auch das, was unter dem Link beschrieben wird. Allerdings klappt damit nur das Empfangen (und Aufzeichnen). Nicht aber das Senden. (Wohl deshalb werden in der Anleitung auch nur die Kommandos zum Empfangen gezeigt.)
Wenn man mit dem IR Toy auch Codes senden will, muss man LIRC patchen.

Falls jemand andere Informationen dazu hat, nehme ich die aber gerne und dankbar zu Kenntnis.

Wernieman

#5
O.K. sorry, habe das "senden" überlesen.

Beim "senden" bin ich leider raus :-[

Edit:
Eine kleine Randbemerkung:
Ich lasse lircd Events nicht von FHEm verarbeiten ondern per irexec. Die Reaktionszeit es LIRC-FHEM-Modules war ...... nicht eventgesteuert. Per irexec FHEM-Kommandos abzugeben ist spontaner, exakter ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

der-Lolo

Ich habe gerade gestern einen Tira2.1 bestellt mal schauen ob das Teil sich auch soooo sträubt...

Owel

Hey das klingt ja interessant.
Ich habe auch ein IR Toy,
Das hängt an einem Raspbmc, und soll diverse Elektronik steuern. Also eigentlich Senden!

Lirc habe ich schon gepatched bekommen, aber danach steige ich aus.
Kann mir jemand sagen wie ich das alles mit FHEM hinbekomme?
(FHEM ist auf einem anderen PI, über LAN verbunden)

Bin für jede hilfe Dankbar

Wernieman

Meine Empfehlung:
Probiere es erst mal ohne FHEM zu laufen zu kriegen. Wenn es läuft, kannst Du Dir immer noch Gedanken um die Implementierung machen.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Brockmann

Zitat von: Owel am 18 Februar 2014, 09:05:07
Lirc habe ich schon gepatched bekommen, aber danach steige ich aus.

Hast Du es geschafft, das gepatchte LIRC mir service lirc start zu aktivieren?

Ich habe auch die Konfiguration, dass IR Toy und LIRC auf einem Raspi laufen und FHEM auf einem anderen.
Wie schon geschrieben wurde, ist der erste Schritt, dass auf dem IR-Raspi (also der mit dem IR Toy dran) LIRC richtig läuft und alle zu sendenden Kommandos in der lircd.conf eingetragen sind.
Wenn das klappt, kann man die beiden Raspis per LIRC vernetzen.

Auf dem IR-Raspi den LIRC-Dienst mit dem Parameter listen starten, dann hört er auf dem angegebenen Port im Netzwerk, etwa so:
lircd --listen=8088

Dann auf dem FHEM-Raspi ebenfalls LIRC installieren (einfach Standard-Installation per apt-get, patchen muss man da nix).
Auf dem FHEM-Raspi muss der LIRC-Dienst nicht mal laufen. Es reicht, irsend-Kommandos an den entfernten LIRC-Server auf dem IR-Raspi zu lenken, etwa so:
irsend --address=<IR-Raspi-Adressse>:8088 SEND_ONCE TV_Geraet Power

Der entsprechende IR-Befehl (also Remote "TV-Geraet" und Button "Power") muss in der lircd.conf auf dem IR-Raspi hinterlegt sein.

IR-Befehle empfangen kann man in dieser Konfiguration prinzipiell auch mit dem LIRC-Modul von FHEM. Das hat bei mir auf Anhieb nicht geklappt (FHEM warf irgendwelche Fehler).
Aber hier im Thread kam ja ohnehin schon der Hinweis, dass man IR-Codes auch mit irexec abfangen kann. Dazu muss man allerdings auch auf dem FHEM-Raspi den LIRC-Dienst laufen haben, und zwar so, dass er sich mit dem entfernten LIRC verbindet:
lircd --connect=<IR-Raspi-Adresse>:8088

Vorher muss man aber die Datei /etc/lirc/lircrc bearbeiten und darin festlegen, welche Codes was bewirken sollen. Darin kann man FHEM per Shell-Kommando steuern, wobei ich einfach nur entsprechende Ereignisse trigger, damit die eigentliche Logik in FHEM bleiben kann. So ein Eintrag könnte also etwa so aussehen:
begin
  prog = irexec
  remote = TV_Geraet
  button = Power
  config = perl /opt/fhem/fhem.pl 7072 "trigger IR_Input TV_Power"
end

Wichtig: irexec muss zusätzlich zum lircd laufen, kann aber auch als Dienst im Hintergrund gestartet werden.

Ich habe auch schon überlegt, dass irexec im Prinzip auch auf dem IR-Raspi laufen könnte und den Shell-Befehl per Netzwerk an den FHEM-Raspi absetzen kann. Dann hätte man die ganze IR-Konfiguration nur auf dem IR-Raspi und bräuchte auf dem FHEM-Raspi den LIRC-Dienst gar nicht laufen zu lassen. Aber das muss ich noch ausprobieren.

Noch Fragen?  ;)

Wernieman

Du möchtest also praktischen einen IR-Raspi und einen FHEM-Rapsi??

Würde auch meine Empfehlung sein. Anstatt fhem.pl würde ich nur über telnet/nc gehen. Gibt genug Beispiele dafür hier im Forum. Dann braucht auf dem IR-Raspi über haupt kein FHEM installiert sein.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Brockmann

Zitat von: Wernieman am 18 Februar 2014, 10:09:18
Du möchtest also praktischen einen IR-Raspi und einen FHEM-Rapsi??
Ich möchte nicht unbedingt, aber alleine schon aus räumlichen Gründen ist es bei mir anders kaum zu machen. Ich denke, performance-mäßig könnte man auch alles auf einem Raspi laufen lassen. Andererseits ist es vermutlich sinnvoller, wenn der Raspi für die Haussteuerung möglichst keine weiteren Aufgaben bewältigen muss.

Zitat von: Wernieman am 18 Februar 2014, 10:09:18
Würde auch meine Empfehlung sein. Anstatt fhem.pl würde ich nur über telnet/nc gehen. Gibt genug Beispiele dafür hier im Forum. Dann braucht auf dem IR-Raspi über haupt kein FHEM installiert sein.
Ja, so hatte ich es auch gemeint. Das werde ich noch probieren. Ist aber auch eine Performance-Frage, da manche Reaktionen schon möglichst direkt auf einen Tastendruck der Fernbedienung erfolgen sollen. Von daher würde ich der Variante den Vorzug geben, die den wenigsten Verzug generiert.

Brockmann

Nachtrag - Ich habe es jetzt mit socat realisiert:
echo "trigger IR_Input TV_Power"|socat - TCP:<Name des FHEM-Raspi>:<Telnet-Port>

Selbstverständlich muss Telnet in FHEM definiert sein. Wenn man den Telnet-Zugang mit einem Passwort geschützt hat, müssten man dieses jeweils zusätzlich übermitteln. Das sollte so gehen:
(echo "<Passwort>";echo "trigger IR_Input TV_Power")|socat - TCP:<Name des FHEM-Raspi>:<Telnet-Port>

Dann hätte man aber das Passwort im Klartext in der lircrc stehen.

Man könnte jetzt noch zum Senden von IR-Codes den umgekehrten Weg gehen, also das irsend-Kommando per socat an den IR-Raspi übermitteln. Dann bräuchte man auf dem FHEM-Raspi nichtmal LIRC installieren...

Falls jemand noch Verbesserungsvorschläge hat, immer her damit!



Wernieman

1. Schreibe Dir ein Kleines Script zum Kontackt mit FHEM
z.B. bei mir:
#!/bin/bash
# Programme
/bin/sispmctl"
nc="/usr/bin/nc"
echo="/bin/echo"

if [ $# -lt 2 ];
then
  echo "Zuwenig Parameter!"
  echo "1. Was"
  echo "2. Wie (on,off)"
  exit 1
fi

$echo -en "Tolles_Passwort\nset ${1} ${2}\nquit\n" | $nc localhost 7072 >/dev/null


2. Natürlich kann anstatt set auch Dein trigger stehen, oder Du modularisierst die Zeile gleich Komplett.

3. Anstatt meiner nc Zeile könnte auch Dein socat stehen. Hat den Vorteil, das man über ssl Verschlüsseln kann und über Netzwerk währe dieses Sicherheitstechnisch .... wichtig.

4. Deine Anmerkung bezüglich "Reaktionszeit". Genau aus diesem grunde lasse ich es von FHEM nicht verarbeiten, da es dann z.B. c.a. 1-2 Sekunden dauern kann, bis die Reaktion erfolgt. Über irexec dagegen erfolgt die Reaktion in (Linux)-Echtzeit

5. Für Deinen "socat"-Gedanken müsstest Du einen Deamon installieren. Alternativ über ssh das Kommando als Parameter übergeben
ssh ir@RasPi irsend $Parameter

Hinweis:
Bitte key-Autorisierung dafür verwenden
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Brockmann

Zitat von: Wernieman am 18 Februar 2014, 14:05:58
4. Deine Anmerkung bezüglich "Reaktionszeit". Genau aus diesem grunde lasse ich es von FHEM nicht verarbeiten, da es dann z.B. c.a. 1-2 Sekunden dauern kann, bis die Reaktion erfolgt. Über irexec dagegen erfolgt die Reaktion in (Linux)-Echtzeit

Bzgl. Reakionszeit:

  • Das Registrieren von Infrarot-Codes geht in dieser Variante sehr schnell, also man drückt die Fernbedienung und es wird mit vielleicht wenigen 10tel-Sekunden Verzögerung von FHEM geschaltet.
  • Das Senden von IR aus FHEM-Notifys heraus braucht etwas länger, so ein bis zwei Sekunden (gefühlt), da kann aber auch die Weboberfläche zum Auslösen mit reinspielen.
  • Härteteste: Auf das Empfangen eines IR-Codes durch Senden eines anderen IR-Codes reagieren, braucht schwankend so zwischen zwei und vier Sekunden. Ist also eher nichts für zeitkritische Anwendungen.  ;)
Bei manchen Dinge muss ich FHEM dazwischen haben, weil eben beispielsweise nur zu bestimmten Zeiten auf einen IR-Code reagiert werden soll.

Zitat von: Wernieman am 18 Februar 2014, 14:05:58
5. Für Deinen "socat"-Gedanken müsstest Du einen Deamon installieren. Alternativ über ssh das Kommando als Parameter übergeben
ssh ir@RasPi irsend $Parameter
Ja, ich habe es jetzt per ssh realisiert. Ist aber etwas fummelig, bis FHEM ssh passwordless verwenden kann.

Und um den Zirkel zur Ausgangsfrage zu schließen:
Ich habe schließlich die /etc/rc.local um folgende Einträge ergänzt, damit lircd und irexec beim Booten automatisch starten (die zwischenzeitlich angedachte Kommunikation zwischen zwei LIRCs via Port kann nun entfallen, da die beiden Raspis statt dessen mit socat bzw. ssh kommunizieren):
# Starte lircd
/usr/local/sbin/lircd

# Warte 5 Sekunden, damit der lircd fertig gestartet ist
sleep 5

# Starte irexec als Hintergrunddienst
/usr/bin/irexec --daemon


Das sleep-Kommando ist sicher nicht elegant, aber eine hinreichende Lösung, damit lircd sicher gestartet ist, bis irexec loslegt. Andernfalls würde irexec eventuell scheitern.

So, jetzt mal schauen, wie sich das Ganze in der Praxis bewährt...