Author |
Message |
Nick
|
Posted: Sun Mar 01, 2009 1:19 am |
|
Joined: Fri Feb 27, 2009 7:26 pm
Posts: 7
|
Hello there,
I'm actually trying to get my remote iMON Pad and frontpanel working with the R6 preview. These iMON devices are included in the Zalman HD 160 Plus case.
It seems that lirc package providedby the R6 is the 0.8.4 version which is not fully compatible with this version of my iMON Pad, but the last CVS snapshot is (i.e. 0.8.5-pre1). So I decided to compile lirc from sources:
Code: pacman -Rs lirc lcdproc
I discovered that this command will only remove the package but not all config files. Is there any pacman command to purge the package installation? Code: wget http://www.lirc.org/software/snapshots/lirc-0.8.5pre1.tar.bz2 pacman -S gcc make rm /usr/sbin/lircd rm /usr/sbin/lircmd cd lirc-0.8.5pre1 ./configure (--> chose USB > Soundgraph Imon/LCD) make make install ln -s /usr/local/sbin/lircd /usr/sbin/lircd ln -s /usr/local/sbin/lircmd /usr/sbin/lircmd /usr/local/sbin/lircd --driver=default --device=/dev/lirc0 --pidfile=/var/run/lirc0.pid --listen=8765 /usr/local/sbin/lircd --driver=default --device=/dev/lirc1 --pidfile=/var/run/lirc1.pid --output=/dev/lircd --connect=localhost:8765
From here, using a correct lircd.conf and irw, each configured touches returns good results on the screen. So I decided to launch at boot these two lircd commands by modified the Lircd daemon file (i.e. /var/service/lircd/run), but another process seems to be launch by another file because I have another pid file created. Here is the part I modified in the file: Code: *)
DEVICE=`ls /dev/lirc[0-9] 2>/dev/null |sort |sed '/./,$!d'|head -n 1 ` exec /usr/sbin/lircd --driver=default --device=/dev/lirc0 --pidfile=/var/run/lirc0.pid --listen=8765 exec /usr/sbin/lircd --driver=default --device=/dev/lirc1 --pidfile=/var/run/lirc1.pid --output=/dev/lircd --connect=localhost:8765 #imon_detect #dvico_detect ;;
I should normally have the lirc0.pid and lirc1.pid created, but I only see lircd.pid, and I don't know wich script is creating it.
Any idea?
Thanks,
Nick
|
|
Top |
|
|
cecil
|
Posted: Sat Mar 07, 2009 8:08 pm |
|
|
Site Admin |
Joined: Fri Sep 19, 2003 6:37 pm
Posts: 2659
Location:
Whittier, Ca
|
pacman -Sy lirc
As I've upgraded lirc.
|
|
Top |
|
|
Nick
|
Posted: Sun Mar 08, 2009 12:24 am |
|
Joined: Fri Feb 27, 2009 7:26 pm
Posts: 7
|
Ok,
I'll give a try.
Thanks,
Nick
|
|
Top |
|
|
christ
|
Posted: Sat Mar 28, 2009 9:45 pm |
|
Joined: Mon Dec 24, 2007 9:47 am
Posts: 535
Location:
Ottawa, Canada
|
I am running R5.5 (should be essentially the same) with a Veris Basic (has the same device ID).
I too updated to the lirc version you mentioned.
I also had to update the /etc/init.d/lirc to merge lirc0 & lirc1 essentially as you note above.
However, I ended up having to create two lirc.conf files (lirc0.conf & lirc1.conf) as the codes from each side were quite different. and lirc1.conf required a toggle bit but lirc0 didn't.
Did you not have the same issue or did you find a way to merge the conf files?
Just want to check before I write up a How-To.
for reference:
lirc0.conf excerpt:
Code: begin remote
name iMON0 bits 32 eps 30 aeps 100
one 0 0 zero 0 0 gap 195997 toggle_bit 0
begin codes PadKeyUp 0x1008000 PadKeyLeft 0x1000080 lirc1.conf excerpt: Code: begin remote
name iMON1 bits 32 eps 30 aeps 100
one 0 0 zero 0 0 gap 235965 min_repeat 1 toggle_bit 29
begin codes AppExit 0x288195B7 Power 0x289115B7
|
|
Top |
|
|
Nick
|
Posted: Sat Mar 28, 2009 11:44 pm |
|
Joined: Fri Feb 27, 2009 7:26 pm
Posts: 7
|
Hi Christ,
Yes, I did have the same issue and was not able to merge the two conf files.
Your How-To will be welcome.
Regards,
Nick
|
|
Top |
|
|
christ
|
Posted: Sun Mar 29, 2009 2:35 pm |
|
Joined: Mon Dec 24, 2007 9:47 am
Posts: 535
Location:
Ottawa, Canada
|
|
Top |
|
|
Tweak
|
Posted: Tue May 05, 2009 3:39 pm |
|
Joined: Sun Feb 11, 2007 4:00 pm
Posts: 24
|
|
Top |
|
|
christ
|
Posted: Tue May 05, 2009 7:02 pm |
|
Joined: Mon Dec 24, 2007 9:47 am
Posts: 535
Location:
Ottawa, Canada
|
Tweak wrote: In particular, Step 3 - "update-initramfs -u" reports command not found.
That command is to make an initial ramdisk. Different distros have different commands. For example, I use CentOS and I use mkinitrd.
A quick check on Arch linux says this is now mkinitcpio.
http://wiki.archlinux.org/index.php/Con ... mkinitcpio
I have yet to use arch but this should start you off.
C
|
|
Top |
|
|
Tweak
|
Posted: Wed May 06, 2009 4:04 am |
|
Joined: Sun Feb 11, 2007 4:00 pm
Posts: 24
|
After reading the wiki it appears that "mkinitcpio -p kernel26" is the equivalent command. However, after running it and rebooting, it doesn't make any difference.
After googling around, I've only found one report of someone getting a imon 0043 working, and it was on a Ubuntu 8.10 system. When I get some more free time, I'll try a test Mythbuntu install to verify it works.
|
|
Top |
|
|
christ
|
Posted: Wed May 06, 2009 6:58 am |
|
Joined: Mon Dec 24, 2007 9:47 am
Posts: 535
Location:
Ottawa, Canada
|
Quote: After googling around, I've only found one report of someone getting a imon 0043 working
You mean besides me and where I published a how-to literally in the message before yours?
http://mysettopbox.tv/phpBB2/viewtopic.php?t=19744
Out of curiousity why do you believe your device is being hijacked by usbhid? On KM R5.5 this did not happen and I suspect in R6 it does not as well but I have not tested it.
The blog link you point to is dated. I came across this one before and all the patches he talks about have already been merged into lirc. My How-to recommends 8.5pre1 though I note 8.5pre2 is now also available too. Either should be fine.
When you are ready, let me know and we can try and debug this together. I'll eventually have to do this anyway for R6. But first I would ask that you start with my How-to and adapt the commands I suggest for ArchLinux; the basics should be the same.
|
|
Top |
|
|
Tweak
|
Posted: Wed May 06, 2009 6:05 pm |
|
Joined: Sun Feb 11, 2007 4:00 pm
Posts: 24
|
Sorry, I meant to post getting the imon 0043 working on distro other that R5.5. Either way I'm learning the inner working of the archlinux system which has helped me troubleshooting other R6 issues.
After further experimenting, I'm not quite sure if usbhid is actually hijacking. Correct me if I'm wrong but by doing:
Code: rmmod usbhid modprobe lirc_imon cat /proc/bus/usb/devices
should output showing imon driver being lirc_imon? (It changes from usbhid to blank if I do this)
Also once lirc_imon is loaded correctly, should /dev/lirc0 and /dev/lirc1 be created? (I do have a /dev/lircd)
I assumed that the kernel and lirc 0.8.5CVS6 version in latest R6 update was sufficiently updated to support the imon, so haven't built lirc from source. I can try doing that next adapted from your R5.5 post, if you think it would help. Any other suggestions what to look for would be appreciated.
|
|
Top |
|
|
christ
|
Posted: Wed May 06, 2009 7:17 pm |
|
Joined: Mon Dec 24, 2007 9:47 am
Posts: 535
Location:
Ottawa, Canada
|
I think Cecil has added my scripts and configs into R6. That version of lirc should be ok. I also appreciate that Arch may be different in some ways but the basics should be the same.
I assume you have in /etc/lirc/ both lirc0.conf and lirc1.conf? They should look like the ones in my How-to. Also verify /etc/lirc/hardware.conf and /etc/init.d/lirc look the same as mine (or close to it).
You can check what driver is attached to the iMon device if you look in /proc/bus/usb/devices. You should see an entry similar to:
Code: T: Bus=03 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=15c2 ProdID=0043 Rev= 0.02 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=lirc_imon E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=lirc_imon E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
Note in the above you will see "Driver=lirc_imon". If yours says this then you are ok with the driver and you don't have to worry about usbhid. BTW, don't rmnod usbhid; it serves a purpose. Just for fun, let me know what your entry says. Also tell me the output of the following commands: Code: modinfo lirc_imon lsmod
if the low levels of lirc are all good then open a shell and use the "irw" command to verify you are receiving something. If you are, then all is working up to the lirc0.conf/lirc1.conf level.
If you see nothing then exit from myth's UI and try the "mode2" command which will tell you if IR signals are even getting to lirc. I think the command would be something like "mode2 -d /dev/lirc0". These will be the raw IR codes received before it is filtered through one of the lirc?.conf files.
I'll be traveling for the next week but will check in when I can.
|
|
Top |
|
|
Tweak
|
Posted: Thu May 07, 2009 3:09 am |
|
Joined: Sun Feb 11, 2007 4:00 pm
Posts: 24
|
There is no /etc/lirc/ directory. Haven't got output from irw with the imon, but it does work with my HDHomeRun's IR receiver (different issue).
After running:
Code: mount -t usbfs none /proc/bus/usb cat /proc/bus/usb/devices
I get: (this is with the quirks line in /etc/modprobe.d/usbhid) Code: T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=15c2 ProdID=0043 Rev= 0.02 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
Code: modinfo lirc_imon reports: Code: filename: /lib/modules/2.6.28-LinHES/kernel/drivers/misc/lirc_imon.ko license: GPL description: Driver for Soundgraph iMON MultiMedia IR/VFD author: Venky Raju <dev@venky.ws> alias: usb:v04E8pFF30d*dc*dsc*dp*ic*isc*ip* alias: usb:v15C2p0038d*dc*dsc*dp*ic*isc*ip* alias: usb:v15C2p0036d*dc*dsc*dp*ic*isc*ip* alias: usb:v15C2p0034d*dc*dsc*dp*ic*isc*ip* alias: usb:v15C2pFFDCd*dc*dsc*dp*ic*isc*ip* alias: usb:v15C2pFFDAd*dc*dsc*dp*ic*isc*ip* alias: usb:v0AA8p8001d*dc*dsc*dp*ic*isc*ip* alias: usb:v0AA8pFFDAd*dc*dsc*dp*ic*isc*ip* depends: usbcore,lirc_dev vermagic: 2.6.28-LinHES SMP preempt mod_unload 686 parm: debug:Debug messages: 0=no, 1=yes(default: no) (int) parm: display_type:Type of attached display. 0=autodetect, 1=vfd, 2=lcd, 3=none (default: autodetect) (int)
Lastly: Code: lsmod Code: aes_i586 9600 3 aes_generic 29224 1 aes_i586 ipv6 260212 16 nfsd 221228 6 lockd 66604 1 nfsd nfs_acl 4864 1 nfsd auth_rpcgss 34976 1 nfsd sunrpc 174560 11 nfsd,lockd,nfs_acl,auth_rpcgss exportfs 6016 1 nfsd usbhid 36896 0 hid 40704 1 usbhid hci_usb 15384 0 bluetooth 54372 1 hci_usb arc4 3712 2 ecb 4608 2 snd_seq_oss 31872 0 snd_seq_midi_event 8192 1 snd_seq_oss snd_seq 49968 4 snd_seq_oss,snd_seq_midi_event snd_seq_device 8332 2 snd_seq_oss,snd_seq snd_pcm_oss 40320 0 snd_mixer_oss 16512 1 snd_pcm_oss rtl8187 46592 0 mac80211 161184 1 rtl8187 eeprom_93cx6 3840 1 rtl8187 cfg80211 31760 2 rtl8187,mac80211 psmouse 55828 0 nvidia 7231068 36 agpgart 31572 1 nvidia serio_raw 7172 0 pcspkr 4352 0 k8temp 6144 0 ohci1394 31280 0 ieee1394 80068 1 ohci1394 forcedeth 56720 0 snd_hda_intel 412980 0 snd_pcm 70020 2 snd_pcm_oss,snd_hda_intel snd_timer 21384 2 snd_seq,snd_pcm snd_page_alloc 10120 2 snd_hda_intel,snd_pcm snd_hwdep 9092 1 snd_hda_intel snd 50852 9 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_pcm,snd_timer,snd_hwdep soundcore 8160 1 snd sg 26804 0 ohci_hcd 25360 0 ehci_hcd 36876 0 usbcore 136976 6 usbhid,hci_usb,rtl8187,ohci_hcd,ehci_hcd evdev 11296 4 thermal 17180 0 processor 41388 1 thermal fan 6276 0 button 7824 0 battery 12036 0 ac 6020 0 cx88_vp3054_i2c 4352 0 mt352 8196 0 cx8802 16900 0 cx88xx 69800 1 cx8802 videodev 34176 1 cx88xx v4l1_compat 15364 1 videodev ir_common 40452 1 cx88xx i2c_algo_bit 7556 2 cx88_vp3054_i2c,cx88xx tveeprom 13956 1 cx88xx btcx_risc 6408 2 cx8802,cx88xx tuner_xc2028 23600 0 s5h1409 10500 0 xc5000 13192 0 dvb_pll 10632 0 s5h1411 11396 0 or51132 9988 0 cx24116 16904 0 videobuf_dvb 8324 2 cx8802,cx88xx videobuf_dma_sg 12932 2 cx8802,cx88xx videobuf_core 17668 4 cx8802,cx88xx,videobuf_dvb,videobuf_dma_sg nxt200x 14980 0 isl6421 3840 0 stb6000 5380 0 tda9887 12164 0 tuner_simple 16144 0 tuner_types 16000 1 tuner_simple zl10353 9352 0 cx24123 15368 0 lgdt330x 10244 0 stv0299 11656 0 dvb_core 81024 4 or51132,videobuf_dvb,lgdt330x,stv0299 stv0288 9352 0 cx22702 7556 0 i2c_core 22804 24 nvidia,cx88_vp3054_i2c,mt352,cx88xx,i2c_algo_bit,tveeprom,tuner_xc2028,s5h1409,xc5000,dvb_pll,s5h1411,or51132,cx24116,nxt200x,isl6421,stb6000,tda9887,tuner_simple,zl10353,cx24123,lgdt330x,stv0299,stv0288,cx22702 rtc_cmos 12332 0 rtc_core 17564 1 rtc_cmos rtc_lib 4480 1 rtc_core ext3 126984 2 jbd 46996 1 ext3 mbcache 8708 1 ext3 sd_mod 26904 4 sr_mod 16708 0 cdrom 35360 1 sr_mod ahci 30988 3 pata_amd 12292 0 pata_acpi 6016 0 libata 158240 3 ahci,pata_amd,pata_acpi scsi_mod 102036 4 sg,sd_mod,sr_mod,libata
|
|
Top |
|
|
christ
|
Posted: Thu May 07, 2009 9:07 pm |
|
Joined: Mon Dec 24, 2007 9:47 am
Posts: 535
Location:
Ottawa, Canada
|
well, it looks like usbhid has latched on to your device. Why did you have to mount usbfs though? did /proc/bus/usb/devices not already exist?
we do need to fix this and you were effectively on the right path. If you added lirc_imon yourself then it is possible the modprobe.conf was not loaded in the ramdisk. If lirc_imon was already in place, then the quirks options is the right thing to do.
I'm also suspicious that lirc_imon is not listed in modprobe.conf. Does the modprobe.conf have lirc_imon loaded in it? If not then that may be the root of the problem. Try the following (or arch equivalent) and then double check to see if lirc_imon gets attached.
Code: modprobe -r usbhid modprobe lirc_imon modprobe usbhid
Either way if you need to modify modprobe.conf (or the arch equivalent) then you will need to remake the initial ramdisk.
Once you get the drivers sorted, you will need to find lirc0.conf and lirc1.conf and verify them against my how-to to make sure they are the right ones. You will also need a correct lirc script in init.d as it has to merge /dev/lirc1 and /dev/lirc0.
I think when I get back home next week, I'll load up LinHes in a VM and take a closer look at the layout.
C
|
|
Top |
|
|
Tweak
|
Posted: Fri May 08, 2009 2:38 am |
|
Joined: Sun Feb 11, 2007 4:00 pm
Posts: 24
|
Unless you run Code: "mount -t usbfs none /proc/bus/usb" you will get Code: "cat: /proc/bus/usb/devices: No such file or directory" In Arch, it's apparently not mounted by default after boot up. I don't know why it's this way or if it makes any difference other than allowing to check for usb devices. The file /etc/modprobe.conf is completely empty of any entries. It appears options are places in files in /etc/modprobe.d/ directory. Running: Code: modprobe -r usbhid modprobe lirc_imon modprobe usbhid
doesn't make any difference to usbhid latching on to the imon.
|
|
Top |
|
|