Portál AbcLinuxu, 12. května 2025 05:32
modules.conf : alias char-major-61 lirc_driver options lirc_serial irq=4 io=0x3e8a zasadil moduly
root@Loki:/home/loki>lsmod Module Size Used by lirc_serial 12256 0 lirc_dev 13580 2 lirc_seriala následně pustil mode2
root@Loki:/home/loki>mode2 mode2: /dev/lirc is not a character device mode2: use the -d option to specify the correct devicetakže jsem použil
root@Loki:/home/loki>mode2 -d /dev/lirc/0Samozřejmě bez odezvy. Kde jsem udělal chybu?
loki@Loki ~ > l /dev/lirc* srw-rw-rw- 1 root root 0 říj 13 2004 /dev/lircd prw-r--r-- 1 root root 0 říj 13 2004 /dev/lircm /dev/lirc: celkem 0 drwxr-xr-x 1 root root 0 led 1 1970 . drwxr-xr-x 1 root root 0 led 1 1970 .. crw------- 1 root root 61, 0 led 1 1970 0co je pri prekladu nastaveno, nevim, protoze gentoo mne s tim neseznamilo. A kdyz jsem se to pokusil prelozit sam, tak byl zase problem nekde ve zdrojacich jadra.
Problém je ten, že u lirc
je konfigurace s jakou je zkompilovanej pro funkci naprosto stěžejní... Nejenom, že je potřeba při konfiguraci určit com port na kterym bude zařízení pracovat (což žádnym pozdějšim nastavenim parametrů jako je irq= atd. nelze změnit) ale kromě toho je potřeba zvolit i správný typ modulu.
Záleží totiž i na tom, které "obvyklé" schéma máš. Jedno totiž pro data používá DCD a druhý DSR. Nicméně tohle je v tvém případě až druhotnej problém, protože dokuď na RTS nedostaneš +10V (ze kterejch pak ta zmiňovaná zenerka udělá +5V napájení pro IR příjmač) tak ti to stejně nebude fungovat ani náhodou. (Těch +10V na RTS by musí zajistit právě ten modul)
Co z toho všeho vyplývá? Že je víc než rozumný si to zkompilovat sám, jak se ostatně přesvědčili i jiní uživatelé gentoo...
cd . && \ CONFIG_HEADERS= CONFIG_LINKS= \ CONFIG_FILES=Makefile /bin/sh ./config.status config.status: creating Makefile cd . \ && CONFIG_FILES= CONFIG_HEADERS=config.h \ /bin/sh ./config.status config.status: creating config.h config.status: config.h is unchanged make all-recursive make[1]: Entering directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6' Making all in drivers make[2]: Entering directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6/drivers' cd .. && \ CONFIG_HEADERS= CONFIG_LINKS= \ CONFIG_FILES=drivers/Makefile /bin/sh ./config.status config.status: creating drivers/Makefile make[2]: Leaving directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6/drivers' make[2]: Entering directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6/drivers' Making all in lirc_serial make[3]: Entering directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6/drivers/lirc_serial' Makefile:378: /usr/src/linux//Rules.make: není souborem ani adresářem make[3]: *** No rule to make target `/usr/src/linux//Rules.make'. Stop. make[3]: Leaving directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6/drivers/lirc_serial' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6/drivers' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/mnt/gentoo/home/loki/Download/lirc-0.6.6' make: *** [all] Error 2A ja ani zadny soubor /usr/src/linux/Rules.make nemam, takze ani nevim, jestli je to gentoo feature, nebo kde jsem to zase zvoral
IC1 = SFH 5110-38 +---------------+ 3 | /| | Vcc + +----+------+---------+-----|< |---o RTS | | | -----| | | \| (7) | _________ | --- / \ _|_ D1 | / | --- ----- ZD | | | ( GND | 2 | | (5V1) | | | \_________ - +----+------+--------| |-----------o GND | | |_| (5) | Data | 1 R1 (3k3) | | -> +---------------------+------------o DCD +---------------+ (1)
v setup.sh
1 Driver configuration (driver:serial io:0x3f8 irq:4) 1 Home-brew (16x50 UART compatible serial port) (X) 1 COM1 (0x3f8, 4)a pak už jen
setserial /dev/ttyS0 uart none modprobe lirc_serial mode2naprosto stejná odezva jako předtím, nebo-li ovbod není napájen
lirc_dev: IR Remote Control driver registered, at major 61 lirc_serial: auto-detected active low receiver lirc_dev: lirc_register_plugin:sample_rate: 0 _devfs_append_entry(0): dir: "lirc" is not a directory devfs_mk_dev: could not append to parent for lirc/0 Debug: sleeping function called from invalid context at mm/slab.c:1989 in_atomic():1, irqs_disabled():0 [<c011b260>] __might_sleep+0xb0/0xe0 [<c014355c>] kmem_cache_alloc+0x6c/0x70 [<d0cf5bd7>] set_use_inc+0x87/0x2a0 [lirc_serial] [<c0161af3>] cdev_get+0x53/0xb0 [<c01619df>] exact_lock+0xf/0x20 [<d0cf08f0>] irctl_open+0x0/0x1a0 [lirc_dev] [<d0cf098b>] irctl_open+0x9b/0x1a0 [lirc_dev] [<c01617c6>] chrdev_open+0xe6/0x210 [<c0157366>] dentry_open+0x146/0x230 [<c0157218>] filp_open+0x68/0x70 [<c0157489>] get_unused_fd+0x39/0xe0 [<c015760b>] sys_open+0x5b/0xb0 [<c0106107>] syscall_call+0x7/0xbSnad už jen jestli není problém v tom že mám devfs a jádro 2.6.8
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.