Re: em28xx: msi Digivox ATSC board id [0db0:8810]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 09.12.2012 17:23, schrieb Frank Schäfer:
> Am 09.12.2012 17:19, schrieb Frank Schäfer:
>> Am 09.12.2012 16:46, schrieb Devin Heitmueller:
>>> On Sun, Dec 9, 2012 at 9:50 AM, Matthew Gyurgyik <matthew@xxxxxxxxxx> wrote:
>>>> Just to make sure I'm not misunderstanding, the messages should get logged
>>>> to dmesg, correct?
>>> I wrote the original IR support for the em2874, but it seems to have
>>> changed a bit since I submitted it.  One thing that jumps out at me is
>>> if you specify a remote control of the wrong *type* (e.g. the driver
>>> is configured for RC5 but the actual remote is configured for NEC),
>>> then you're likely to get no events from the device.
>>>
>>> You may wish to lookup what type of remote RC_MAP_KWORLD_315U is, and
>>> try a remote that is of the other protocol type (e.g. if
>>> RC_MAP_KWORLD_315U is RC5 then try a remote which is NEC).  Then see
>>> if you get events.  If so, then you know you have the correct RC
>>> protocol and just need to adjust the RC profile specified.
>>>
>>> Also, it's possible the remote control is an RC6 remote, which I never
>>> got around to adding em2874 driver support for.  Take a look at the
>>> windows trace and see what register R50 is being set to.  In
>>> particular, bits [3-2] will tell you what RC protocol the Windows
>>> driver expects the remote to be.  I'm pretty sure I put the definition
>>> for the relevant bits in em28xx-reg.h.
>> According to the USB log, register 0x50 is set to 0x01.
>>
>> em28xx-reg.h says:
>>
>> /* em2874 IR config register (0x50) */
>> #define EM2874_IR_NEC           0x00
>> #define EM2874_IR_RC5           0x04
>> #define EM2874_IR_RC6_MODE_0    0x08
>> #define EM2874_IR_RC6_MODE_6A   0x0b
>>
>> Any idea what 0x01 is ?
>>
>> It also seems that em28xx_ir_change_protocol() always sets reg 0x05 to
>> EM2874_IR_RC5...
> Sorry, I was wrong. Of course it sets 0x05 to EM2874_IR_RC5 or
> EM2874_IR_NEC depending on field .xclk in the board struct.

Forget this sh... (never do multiple things at the same time ;) )

Reg 0x50 is set to according to rc_type specified in the selected remote
control map.
So if the correct map is selected, everything should be fine (as long as
it is RC_TYPE_NEC or RC_TYPE_RC5 because we don't support others yet).

RC_MAP_KWORLD_315U and RC_MAP_MSI_DIGIVOX_III are both RC_TYPE_NEC, so
the stick seems to use no NEC protocol.

Matthew, insert a line

        ir_config = 0x01;

before

380        em28xx_write_regs(dev, EM2874_R50_IR_CONFIG, &ir_config, 1);

in em28xx-input.c and see if something shows up in the dmesg output.

Regards,
Frank


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux