From: Tino K. <tin...@ti...> - 2007-06-17 18:22:46
|
Hi folks, I tried to use the macmini driver with lirc 0.8.2, without luck. The lircd with the provided example lircd.conf for macmini didn't produce any output in irw. Then I tried to create an own lircd.conf with irrecord: $ irrecord -H macmini -d /dev/usb/hiddev0 lircd.conf.macmini However, it didn't recognize a keypress. What can I do to get the macmini driver working? I have a working configuration for the Mac mini remote using the dev/input driver, but I'd also like to use other remotes with the Mac mini IR receiver. Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-06-19 15:56:21
|
On Sun, Jun 17, 2007 at 20:22:31 +0200, Tino Keitel wrote: > Hi folks, > > I tried to use the macmini driver with lirc 0.8.2, without luck. Hi, is there anybody who actually uses the macmini driver, and can share his/her config and describe the procedure to get it working? Thanks in advance and regards, Tino |
From: Stephen W. <ste...@gm...> - 2007-06-19 16:59:51
|
On 6/19/07, Tino Keitel <tin...@ti...> wrote: > On Sun, Jun 17, 2007 at 20:22:31 +0200, Tino Keitel wrote: > > Hi folks, > > > > I tried to use the macmini driver with lirc 0.8.2, without luck. > > Hi, > > is there anybody who actually uses the macmini driver, and can share > his/her config and describe the procedure to get it working? > > Thanks in advance and regards, > Tino Yes, I use (and wrote) the macmini driver. Sharing configs for the apple remotes is not really useful as you can change the codes produced by the remotes by holding down two of the buttons for a few seconds. I assume that you don't have any other module loaded that might be using the device (e.g. apple-ir?). Can you recompile with debug enabled and provide the output? |
From: Tino K. <tin...@ti...> - 2007-06-20 11:33:46
|
On Sun, Jun 17, 2007 at 20:22:31 +0200, Tino Keitel wrote: > Hi folks, > > I tried to use the macmini driver with lirc 0.8.2, without luck. Hi again, is there anyone on the list with a working macmini driver? If yes, what did you do to make the macmini driver working? Can you share your kernel- and lirc-config files? Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-06-20 12:38:43
|
On Tue, Jun 19, 2007 at 17:59:48 +0100, Stephen Williams wrote: > On 6/19/07, Tino Keitel <tin...@ti...> wrote: > > On Sun, Jun 17, 2007 at 20:22:31 +0200, Tino Keitel wrote: > > > Hi folks, > > > > > > I tried to use the macmini driver with lirc 0.8.2, without luck. > > > > Hi, > > > > is there anybody who actually uses the macmini driver, and can share > > his/her config and describe the procedure to get it working? > > > > Thanks in advance and regards, > > Tino > > Yes, I use (and wrote) the macmini driver. > > Sharing configs for the apple remotes is not really useful as you can > change the codes produced by the remotes by holding down two of the > buttons for a few seconds. Well, I'm more interessted in the kernel config, and maybe a way to debug the setup to find the point of the failure. > I assume that you don't have any other module loaded that might be > using the device (e.g. apple-ir?). I had the appleir module loaded, but I also tried it again after unloading it. > Can you recompile with debug enabled and provide the output? OK, I'll try this evening. |
From: Tino K. <tin...@ti...> - 2007-06-20 21:22:54
|
On Wed, Jun 20, 2007 at 14:38:28 +0200, Tino Keitel wrote: > On Tue, Jun 19, 2007 at 17:59:48 +0100, Stephen Williams wrote: > > Can you recompile with debug enabled and provide the output? > > OK, I'll try this evening. $ irrecord -H macmini -d /dev/usb/hiddev0 lircd.conf.macmini irrecord - application for recording IR-codes for usage with lirc Copyright (C) 1998,1999 Christoph Bartelmus(li...@ba...) /usr/local/stow/lirc/bin/irrecord: initializing '/dev/usb/hiddev0' This program will record the signals from your remote control and create a config file for lircd. bla bla bla Press RETURN to continue. Hold down an arbitrary button. /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes /usr/local/stow/lirc/bin/irrecord: macmini_rec /usr/local/stow/lirc/bin/irrecord: timeout reading byte 2 /usr/local/stow/lirc/bin/irrecord: gap not found, can't continue /usr/local/stow/lirc/bin/irrecord: closing '/dev/usb/hiddev0' Regards, Tino |
From: Stephen W. <ste...@gm...> - 2007-06-21 22:47:43
|
On 6/20/07, Tino Keitel <tin...@ti...> wrote: > $ irrecord -H macmini -d /dev/usb/hiddev0 lircd.conf.macmini > > irrecord - application for recording IR-codes for usage with lirc > > Copyright (C) 1998,1999 Christoph Bartelmus(li...@ba...) > > /usr/local/stow/lirc/bin/irrecord: initializing '/dev/usb/hiddev0' > This program will record the signals from your remote control > and create a config file for lircd. > > bla bla bla > > Press RETURN to continue. > > > Hold down an arbitrary button. > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: decoding failed for all remotes > /usr/local/stow/lirc/bin/irrecord: macmini_rec > /usr/local/stow/lirc/bin/irrecord: timeout reading byte 2 > /usr/local/stow/lirc/bin/irrecord: gap not found, can't continue > /usr/local/stow/lirc/bin/irrecord: closing '/dev/usb/hiddev0' > > Regards, > Tino Well, there's nothing obvious from the out put. Have you tried from a cleanly booted system without ever loading the apple_ir module, just trying to rule out any interaction. I don't suppose you might be using a different version of the mac mini could you, i'm using one of the latest Intel core duo models... I'm afraid that all I can really state is that is works fine for me, as an early adopter you may have to resort some debugging to find out exactly what data is being read from the device. Fortunately there's nothing complicated about the code. Steve |
From: Tino K. <tin...@ti...> - 2007-06-22 11:48:56
|
On Thu, Jun 21, 2007 at 23:47:41 +0100, Stephen Williams wrote: [...] > I don't suppose you might be using a different version of the mac mini > could you, i'm using one of the latest Intel core duo models... Is there any data I could record so you can compare it with your working setup? Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-06-22 05:48:12
|
On Thu, Jun 21, 2007 at 23:47:41 +0100, Stephen Williams wrote: [...] > Well, there's nothing obvious from the out put. Have you tried from a > cleanly booted system without ever loading the apple_ir module, just > trying to rule out any interaction. Yes, I moved the appleir.ko file into my home directory, so that the kernel hadn't a chance to load it, and rebooted. > > I don't suppose you might be using a different version of the mac mini > could you, i'm using one of the latest Intel core duo models... It is the first Core Duo model with an Intel CPU (Superdrive, 80 GB hard disk, 1,66 GHz CPU) > I'm afraid that all I can really state is that is works fine for me, > as an early adopter you may have to resort some debugging to find out > exactly what data is being read from the device. Fortunately there's > nothing complicated about the code. OK, maybe I'll try this if I find the time. A last question: does it work with remotes other than the Apple remote as well? My plan was to use the remote for my DVB-T receiver with the macmini driver, as the IR sensor in the DVB-T box is _really_ weak compared to the sensor in the Mac mini. I can see it in the kernel log when the Mac mini sensor received IR events from the DVB-T remote because the kernel complains about unknown keycodes. Maybe it would just be enough to modify the appleir driver in the kernel so that it knows the codes of the DVB-T remote. Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-06-23 21:05:51
|
On Fri, Jun 22, 2007 at 07:47:59 +0200, Tino Keitel wrote: [...] > OK, maybe I'll try this if I find the time. A last question: does it > work with remotes other than the Apple remote as well? My plan was to > use the remote for my DVB-T receiver with the macmini driver, as the IR > sensor in the DVB-T box is _really_ weak compared to the sensor in the > Mac mini. I can see it in the kernel log when the Mac mini sensor > received IR events from the DVB-T remote because the kernel complains > about unknown keycodes. > > Maybe it would just be enough to modify the appleir driver in the > kernel so that it knows the codes of the DVB-T remote. Hum, the kernel sees the same code for all keys on the remote of the DVB-T box. It looks like this doesn't work together. Regards, Tino |
From: Stephen W. <ste...@gm...> - 2007-06-24 01:09:06
|
On 6/23/07, Tino Keitel <tin...@ti...> wrote: > On Fri, Jun 22, 2007 at 07:47:59 +0200, Tino Keitel wrote: > > [...] > > > OK, maybe I'll try this if I find the time. A last question: does it > > work with remotes other than the Apple remote as well? My plan was to > > use the remote for my DVB-T receiver with the macmini driver, as the IR > > sensor in the DVB-T box is _really_ weak compared to the sensor in the > > Mac mini. I can see it in the kernel log when the Mac mini sensor > > received IR events from the DVB-T remote because the kernel complains > > about unknown keycodes. > > > > Maybe it would just be enough to modify the appleir driver in the > > kernel so that it knows the codes of the DVB-T remote. > > Hum, the kernel sees the same code for all keys on the remote of the > DVB-T box. It looks like this doesn't work together. I did find that the remote from my old TV also worked with the mac mini receiver but I had no look with any other remote I owned. Personally i'm using a Logitech Harmony learning remote although any learning remote should work. There is a way to cycle the key codes produced by the apple remote (to allow multiple remotes to be used without interfering with other) by holding down a couple of keys for a few seconds. Using this technique you can get the original apple remote to generate thousands of unique IR codes. Recording ~40 different codes with a learning remote seemed the easiest solution. Steve |
From: Stephen W. <ste...@gm...> - 2007-06-24 11:05:23
|
Tino, Can you try compiling and running this simple test program: ------------ < start > -------------- #include <stdlib.h> #include <stdio.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <asm/types.h> #include <fcntl.h> #include <unistd.h> #include <linux/hiddev.h> #define EV_NUM 1 int main (int argc, char **argv) { int fd = -1; int i; struct hiddev_event ev[EV_NUM]; char name[100]; if (argc != 2) { fprintf(stderr, "usage: %s hiddevice - probably /dev/usb/hiddev0\n", argv[0]); exit(1); } if ((fd = open(argv[1], O_RDONLY)) < 0) { perror("hiddev open"); exit(1); } ioctl(fd, HIDIOCGNAME(100), name); printf("OK name = %s\n", name); printf("Reading values .. \n"); while (1) { read(fd, ev, sizeof(ev)); for (i = 0; i < EV_NUM; i++) { printf("EV: PARAM %x : %d\n", ev[i].hid, ev[i].value); } } close(fd); exit(0); } ------------ < finish > -------------- I compile with the command "gcc -o hidtest hidtest.c". Running (with command line "hidtest /dev/hiddev0") on my mac mini and pressing the 'menu' button on my apple remote produces the following output: OK name = Apple Computer, Inc. IR Receiver Reading values .. EV: PARAM ff000000 : 135 EV: PARAM ff000000 : 238 EV: PARAM ff000000 : 0 EV: PARAM ff000000 : 2 It would be interesting if you could try the same. Stephen |
From: Tino K. <tin...@ti...> - 2007-06-26 08:29:19
|
On Sun, Jun 24, 2007 at 12:05:21 +0100, Stephen Williams wrote: > Tino, > > Can you try compiling and running this simple test program: I got this output: $ ./lirctest /dev/usb/hiddev0 OK name = EIZO EIZO USB HID Monitor Reading values .. Whoops. Should there be a separate hiddev device node for the Apple IR? The hiddev0 is the only entry in /dev/usb/. Could it be that the fact that I build the appleir driver as a module disables the creation of a corresponding HID device even if the module is not loaded? Regards, Tino |
From: Stephen W. <ste...@gm...> - 2007-06-26 21:37:19
Attachments:
dmesg.gz
|
On 6/26/07, Tino Keitel <tin...@ti...> wrote: > > I got this output: > > $ ./lirctest /dev/usb/hiddev0 > OK name = EIZO EIZO USB HID Monitor > Reading values .. > > Whoops. Should there be a separate hiddev device node for the Apple IR? > The hiddev0 is the only entry in /dev/usb/. Could it be that the fact > that I build the appleir driver as a module disables the creation of a > corresponding HID device even if the module is not loaded? dmesg. |
From: Stephen W. <ste...@gm...> - 2007-06-26 21:36:22
Attachments:
config-2.6.20-1.2948.fc6.gz
|
On 6/26/07, Tino Keitel <tin...@ti...> wrote: > I got this output: > > $ ./lirctest /dev/usb/hiddev0 > OK name = EIZO EIZO USB HID Monitor > Reading values .. > > Whoops. Should there be a separate hiddev device node for the Apple IR? > The hiddev0 is the only entry in /dev/usb/. Could it be that the fact > that I build the appleir driver as a module disables the creation of a > corresponding HID device even if the module is not loaded? Indeed, that's not the hiddev device for your IR receiver. I found the following on the xorg lists: Some monitors have an additional USB connection for similar functions to DDC. This has been a favourite of LCD monitors connected to Apple Mac machines. Some LCD monitors in particular (e.g. the Eizo monitors So it looks pretty clear that you're connecting to the hiddev device for your monitor. I've attached my kerel config (standard Fedora Core 6), dmesg follows in another message due to list message size limits.... Steve |
From: Tino K. <tin...@ti...> - 2007-07-03 17:33:23
|
On Tue, Jun 26, 2007 at 22:36:21 +0100, Stephen Williams wrote: [...] > I've attached my kerel config (standard Fedora Core 6), dmesg follows > in another message due to list message size limits.... Thanks. With your config and Linux 2.6.20, I get a hiddev for the IR sensor, I can also see in in dmesg. With 2.6.21 and the same config (just did make oldconfig), I don't get a hiddev. It seems that I stumbled over some kind of regression in 2.6.21. Or have you ever used the driver with kernels later than 2.6.20? Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-07-10 13:51:53
|
On Tue, Jul 03, 2007 at 19:33:17 +0200, Tino Keitel wrote: [...] > Thanks. With your config and Linux 2.6.20, I get a hiddev for the IR > sensor, I can also see in in dmesg. With 2.6.21 and the same config > (just did make oldconfig), I don't get a hiddev. > > It seems that I stumbled over some kind of regression in 2.6.21. Or > have you ever used the driver with kernels later than 2.6.20? OK, it is not a regression, but a "fix" that added the Apple IR sensor to a blacklist in the HID driver, so that this device is ignored. It is git commit a417a21e10831bca695b4ba9c74f4ddf5a95ac06 and was added between 2.6.20 and 2.6.21-rc1. Regards, Tino |
From: Stephen W. <ste...@gm...> - 2007-07-10 22:28:23
|
On 7/10/07, Tino Keitel <tin...@ti...> wrote: > OK, it is not a regression, but a "fix" that added the Apple IR sensor > to a blacklist in the HID driver, so that this device is ignored. It is > git commit a417a21e10831bca695b4ba9c74f4ddf5a95ac06 and was added > between 2.6.20 and 2.6.21-rc1. Thanks for tracking that down, it's not something i've noticed having not moved to 2.6.21 yet. I've contacted the submitter of the 'fix' to try and determine the reason for the blacklist. It's certainly not immediately obvious as the commit commentary talks about the Apple keyboard / mouse multi-interface devices and makes absolutely no mention of the Apple IR device. I assume you've now managed to get the driver working in 2.6.20? Steve |
From: Ken M. <km...@ma...> - 2007-07-15 05:28:47
|
Tino Keitel wrote: >> >> It seems that I stumbled over some kind of regression in 2.6.21. Or >> have you ever used the driver with kernels later than 2.6.20? > > OK, it is not a regression, but a "fix" that added the Apple IR sensor > to a blacklist in the HID driver, so that this device is ignored. It is > git commit a417a21e10831bca695b4ba9c74f4ddf5a95ac06 and was added > between 2.6.20 and 2.6.21-rc1. > It took a while, but I figured out why I wasn't picking up the IR as a hiddev device. The two distributions I tried were Suse 10.1 (2.6.18 kernel) and Ubuntu Feisty (2.6.20 kernel). These kernels also blacklist the APPLE_IR, but in a different spot. Instead of drivers/hid/usbhid/hid-quirks.c that Tino found in 2.6.21, its in drivers/usb/input/hid-core.c in both these 2.6.18 and 2.6.20 kernels. I'm a bit confused about why Tino didn't have the problem in 2.6.20. Perhaps these are distribution specific changes to the kernel source. Was there ever an answer as to why its being blacklisted at all? |
From: Stephen W. <ste...@gm...> - 2007-07-18 18:21:20
|
On 7/18/07, Tino Keitel <tin...@ti...> wrote: > Another issue: key repeats are not generated. If I hold the butten > longer, the old appleir driver generated repeated events. With the > macmini lirc driver, only one event is generated when I hold the button > down. Is this normal? Yes, I believe that to be normal. The Apple remote generates a specific code (four bytes, all zeros) to signify that a button is being held down and the key should be reapeated, rather than actually repeating the keys code. I did not add specific code to the decoding of the events to handle this, although it wouldn't be hard to do (just cache the previous key code and repeat it when you receive a code of all zeros). Steve |
From: Tino K. <tin...@ti...> - 2007-07-18 18:49:55
|
On Wed, Jul 18, 2007 at 19:21:10 +0100, Stephen Williams wrote: > On 7/18/07, Tino Keitel <tin...@ti...> wrote: > > Another issue: key repeats are not generated. If I hold the butten > > longer, the old appleir driver generated repeated events. With the > > macmini lirc driver, only one event is generated when I hold the button > > down. Is this normal? > > Yes, I believe that to be normal. > > The Apple remote generates a specific code (four bytes, all zeros) to > signify that a button is being held down and the key should be > reapeated, rather than actually repeating the keys code. > > I did not add specific code to the decoding of the events to handle > this, although it wouldn't be hard to do (just cache the previous key > code and repeat it when you receive a code of all zeros). This would be nice, as key repeat used to work fine with the appleir driver. Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-07-03 17:55:30
|
On Sun, Jun 24, 2007 at 12:05:21 +0100, Stephen Williams wrote: [...] > OK name = Apple Computer, Inc. IR Receiver > Reading values .. > EV: PARAM ff000000 : 135 > EV: PARAM ff000000 : 238 > EV: PARAM ff000000 : 0 > EV: PARAM ff000000 : 2 > > It would be interesting if you could try the same. Here is the result for my remote: ./lirctest /dev/usb/hiddev1 OK name = Apple Computer, Inc. IR Receiver Reading values .. EV: PARAM ff000000 : 135 EV: PARAM ff000000 : 238 EV: PARAM ff000000 : 45 EV: PARAM ff000000 : 2 Regards, Tino |
From: Stephen W. <ste...@gm...> - 2007-07-17 20:02:13
|
On 7/17/07, Tino Keitel <tin...@ti...> wrote: > any comments? Is irrecord supposed to work with the macmini driver? If > yes, are there any special options I should use? Are there any other > things that I could test to see why it failed for me? > > Regards, > Tino Yes, irrecord has worked with the macmini driver for me flawlessly. No special options are required. I'm afraid i'm out of ideas why that isn't working for you... Steve |
From: Tino K. <tin...@ti...> - 2007-07-18 05:25:59
|
On Tue, Jul 17, 2007 at 21:02:05 +0100, Stephen Williams wrote: > On 7/17/07, Tino Keitel <tin...@ti...> wrote: > > any comments? Is irrecord supposed to work with the macmini driver? If > > yes, are there any special options I should use? Are there any other > > things that I could test to see why it failed for me? > > > > Regards, > > Tino > > Yes, irrecord has worked with the macmini driver for me flawlessly. No > special options are required. > > I'm afraid i'm out of ideas why that isn't working for you... Hi, finally, I got it working. I had to disable CONFIG_INPUT_EVDEV. However, I need CONFIG_INPUT_EVDEV for the other IR sensor in my DVB-T box. Another issue: key repeats are not generated. If I hold the butten longer, the old appleir driver generated repeated events. With the macmini lirc driver, only one event is generated when I hold the button down. Is this normal? Regards, Tino |
From: Tino K. <tin...@ti...> - 2007-06-26 09:14:32
|
On Tue, Jun 26, 2007 at 10:29:07 +0200, Tino Keitel wrote: > On Sun, Jun 24, 2007 at 12:05:21 +0100, Stephen Williams wrote: > > Tino, > > > > Can you try compiling and running this simple test program: > > I got this output: > > $ ./lirctest /dev/usb/hiddev0 > OK name = EIZO EIZO USB HID Monitor > Reading values .. > > Whoops. Should there be a separate hiddev device node for the Apple IR? > The hiddev0 is the only entry in /dev/usb/. Could it be that the fact > that I build the appleir driver as a module disables the creation of a > corresponding HID device even if the module is not loaded? I just recompiled and rebooted with CONFIG_USB_APPLEIR disabled, but there is still only one hiddev device in /dev/usb. Could you send me your kernel config, so that I can compare with mine? Regards, Tino |