InfraRed Compaq Evo laptop

Fórumok

nem gondoltam, h ezt is fel kell dobnom a hup-ra, de tényleg mágusnak kell hozzá lenni, h egy IR vevõvel felszerelt laptopot debián 6-s meghajtással távirányíthassunk?!

Távirányító:
http://lirc.sourceforge.net/remotes/panasonic/EUR7628030AR.jpg
http://lirc.sourceforge.net/remotes/panasonic/EUR7628030AR

Számítógép:
Compaq Evo N620c

Lirc-et magam fordítottam (http://ovh.dl.sourceforge.net/project/lirc/LIRC/0.9.0/lirc-0.9.0.tar.bz2)


setserial /dev/ttyS2
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

lircd --version
lircd 0.9.0

modprobe lirc_serial irq=4 io=0x3e8 type=4

lsmod |grep lirc
lirc_serial             7199  0 
lirc_dev                8033  1 lirc_serial

ls -la /dev/lirc*
crw-r--r-- 1 root root   61, 0 2011-05-04 16:17 /dev/lirc
crw-rw---- 1 root video 252, 0 2011-05-04 19:48 /dev/lirc0
srw-rw-rw- 1 root root       0 2011-05-04 20:29 /dev/lircd


sudo lircd -n -d /dev/lirc0 -o /dev/lircd
lircd: lircd(default) ready, using /dev/lircd
### közben: mode2 -d /dev/lircd
lircd: accepted new client on /dev/lircd
lircd: removed client

bármiféle magasabb szintũ alkalmazáshoz checkpoint hogy a mode2 valami kimenetet adjon, amikor rátávirányítózok. itt a hiba, mert nem ad.

ha tapasztaltabbak vagytok a témában, valamivel segítsetek elõrébb!

[cím szerkesztve az probléma üstökét követve]

Hozzászólások

Altalanosan a taviranyitok (es a LIRC) nem mukodnek IrDA vevokkel. Ez nem sw hanem hw problema: mas a freki es a protocol is. Van 2 kivetel: vannak IrDA vevok amik fel vannak erre keszitve, de baromi ritka (lirc honlapjan fel vannak sorolva a chipsetek) ill. vannak olyan "taviranyitok" amiket direkt IrDA-ra csinalnak, presenter neven szoktak futni. Legjobban akkor jarsz ha veszel egy USB-s vevot amit erre gyartottak.

Up-olnám a témát, mert ugyan távirányítóval már nem próbálkoztam, ellenben egy régi nokia telefonnal igen. Az ez elõtti infrás laptopommal tudtam adatcserélgetni az említett telefonnal (nokia lekopotthogyhanyas model de nem gondolom hogy nagyon számítana), de ezzel az Evo-val nem.
Annyi van, hogy telefon küldené a dolgait infrán, rálát a gép IR vevõjére, irxfer/ircat/ircp fut, "világítanak" is mind2 ir lámpák (kamerával fehér fénynek látszik), de nincs foganatja, teló timeout-ol.
Legalább valami debuggoló támpontot ismernék...

~~~~~~~~
http://www.youtube.com/watch?v=VbUVqODL1nE

Megfejtettem!
az volt az elsõdleges baj, hogy az oprendszer szempontjából _nem létezett_ infra eszköz. nagynehezem megtaláltam, nem konfigurálja a chippet a BIOS, ezért még ha tudtam volna is hogy az smsc_ircc2 (smc_ircc) modul való hozzá, nem töltötte volna be a kernel.
a kulcs az `smcinit' nevũ util, ez ébresti fel az infra chippet ha jól értelmezem. habár a strace szerint nem valami sokat csinál, ez igazán el tudta volna követni a BIOS is:

# setserial /dev/ttyS1

/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3

# smcinit -i 3 -s 0x2f8

access("/sys/bus/pci", R_OK)            = 0
open("/sys/bus/pci/devices/0000:00:1f.0/config", O_RDONLY) = 3
pread64(3, "\206\200", 2, 0)            = 2
pread64(3, "\314$", 2, 2)               = 2
close(3)                                = 0
open("/sys/bus/pci/devices/0000:00:1f.0/config", O_RDWR) = 3
pwrite64(3, "\20", 1, 224)              = 1
pread64(3, "\0014", 2, 230)             = 2
pwrite64(3, "\0014", 2, 230)            = 2
pread64(3, "\300\300", 2, 144)          = 2
pwrite64(3, "\300\300", 2, 144)         = 2
pwrite64(3, "1\1", 2, 236)              = 2
close(3)                                = 0
ioperm(0x2e, 0x2, 0x1)                  = 0
ioperm(0x4e, 0x2, 0x1)                  = 0

csak a soros portot kellett eltalálni hogy melyik (ttyS0 be van kötve rs232-re, így nálam a sorban következõ ttyS1 a beszerelt infra led és device-nek megfelelõ soros eszköz).
innen már egész gördülékeny:
felpróbálom a modulját:

# modprobe smsc-ircc2 ircc_irq=3 ircc_sir=0x02f8

és már pörögnek is a syslog sorok a háttérben... új interface... irda0

# ifconfig irda0 up
# irattach irda0 -s

és a végcél

# irxfer

vígan mondja, hogy "Unknown event!", amikor új fájlt küldök, és rajzolja az átvitelt jelzõ bitkolbászt! (amit persze line-bufferel és csak akkor jelennek meg a terminálon a pöttyök, amikor már kész az átvitel :)

~~~~~~~~
http://www.youtube.com/watch?v=VbUVqODL1nE

A távirányító változott, de a probléma ugyanaz. részben.

lircmodulok forgatása, betöltése (lirc_sir) rendben,
mode2 -nek is van már pulzusa meg space-ja. (juhéjj! szépen kimértem, hogy másfél méterrel nyújtja meg a kezemet az infravörös,)
bemásoltam innen az megfelelõnek tũnõ konfigokat a rendszer lircd.conf-jába.
de nem vagyok benne bizonyos, hogy megértette, mert az irw, aminek ki kéne írni a lenyomott gombok nevét, néma.

~~~~~~~~
http://www.youtube.com/watch?v=VbUVqODL1nE

idõnként visszatérek ehhez a témához, mert nem hagy nyugodni az az infravevõ a gépemen...

jelenlegi tapasztalataim:
2.6.32-es kernel lirc_sir driver-jával jutok a legmagasabb szintre.
2.6.39 és 4-essel nem, de ezt se mondom biztosra, mert vagy nem determinisztikus a kernel, a modulok vagy valaminek a mũködése, vagy én nézek valamit nagyon félre, ugyanis látszólag ugyanazokkal a bállítási lépésekkel nem mindig ugyanazt az eredményt kapom. csak nem tudom, milyen tényezõ játszik még közre a lirc mũködésében.

- lirc_sir betölt (setserial is kellhet)
- lircd felparaméterez
- irrecord használ gombok konfigolásához:

irrecord a legnagyobb troll az összes között, ugyebár kéri hogy nyomogassam a gombokat, keres gap-et, pöttyözik, oké. Aztán "Found gap" - közli, majd:
"Please keep on pressing buttons like described above." - és innestõl amíg nyomkodom, nyomkodom. 1 perc, 2 perc, 10 perc, 1 óra, akármeddig.
csak miután abbahagyom, kérdezi meg a gombok neveit egyesével.

végülis beállítom a gombokat. feltũnt, h a generált konfigfájlban
"begin raw_codes" és "flags RAW_CODES" szerepel, gyári konfigokban meg "flags SPACE_ENC|CONST_LENGTH" és "begin codes" ...
gyanús.
leellenõrzöm irw-vel, fel-e fogta: nahát az minden gombra az elsõ beállított nevet adja vissza, minden gombom 'pause'! Pedig a raw kódok (2400..2600 közti értékek) valamennyire azért különböznek!

továbbá a lirc.sourceforge.net/remotes -en lévõ konfigok használatakor meg semmit nem vesz be, azaz az irw hallgat.

Ismét elakadtam.

~~~~~~~~
http://www.youtube.com/watch?v=VbUVqODL1nE