From: Jarod Wilson <jarod@redhat.com>
To: Jon Smirl <jonsmirl@gmail.com>
Cc: Christoph Bartelmus <lirc@bartelmus.de>,
Jarod Wilson <jarod@wilsonet.com>,
awalls@md.metrocast.net, linux-input@vger.kernel.org,
linux-media@vger.kernel.org, lirc-list@lists.sourceforge.net,
mchehab@redhat.com
Subject: Re: Remote that breaks current system
Date: Mon, 2 Aug 2010 14:09:40 -0400 [thread overview]
Message-ID: <20100802180940.GF2296@redhat.com> (raw)
In-Reply-To: <AANLkTimXULCDLw6=kcFC2Kddbm4kuO4nqtXL6ozftMQj@mail.gmail.com>
On Mon, Aug 02, 2010 at 01:13:22PM -0400, Jon Smirl wrote:
> On Mon, Aug 2, 2010 at 12:42 PM, Christoph Bartelmus <lirc@bartelmus.de> wrote:
> > Hi!
> >
> > Jon Smirl "jonsmirl@gmail.com" wrote:
> > [...]
> >>> Got one. The Streamzap PC Remote. Its 14-bit RC5. Can't get it to properly
> >>> decode in-kernel for the life of me. I got lirc_streamzap 99% of the way
> >>> ported over the weekend, but this remote just won't decode correctly w/the
> >>> in-kernel RC5 decoder.
> >
> >> Manchester encoding may need a decoder that waits to get 2-3 edge
> >> changes before deciding what the first bit. As you decode the output
> >> is always a couple bits behind the current input data.
> >>
> >> You can build of a table of states
> >> L0 S1 S0 L1 - emit a 1, move forward an edge
> >> S0 S1 L0 L1 - emit a 0, move forward an edge
> >>
> >> By doing it that way you don't have to initially figure out the bit clock.
> >>
> >> The current decoder code may not be properly tracking the leading
> >> zero. In Manchester encoding it is illegal for a bit to be 11 or 00.
> >> They have to be 01 or 10. If you get a 11 or 00 bit, your decoding is
> >> off by 1/2 a bit cycle.
> >>
> >> Did you note the comment that Extended RC-5 has only a single start
> >> bit instead of two?
> >
> > It has nothing to do with start bits.
> > The Streamzap remote just sends 14 (sic!) bits instead of 13.
> > The decoder expects 13 bits.
> > Yes, the Streamzap remote does _not_ use standard RC-5.
> > Did I mention this already? Yes. ;-)
>
> If the remote is sending a weird protocol then there are several choices:
> 1) implement raw mode
> 2) make a Stream-Zap protocol engine (it would be a 14b version of
> RC-5). Standard RC5 engine will still reject the messages.
> 3) throw away your Stream-Zap remotes
>
> I'd vote for #3, but #2 will probably make people happier.
Hm. Yeah, I know a few people who are quite attached to their Streamzap
remotes. I'm not a particularly big fan of it, I only got the thing off
ebay to have the hardware so I could work on the driver. :) So yeah, #3 is
probably not the best route. But I don't know that I'm a huge fan of #2
either. Another decoder engine just for one quirky remote seems excessive,
and there's an option #4:
4) just keep passing data out to lirc by default.
Let lircd handle the default remote in this case. If you want to use
another remote that actually uses a standard protocol, and want to use
in-kernel decoding for that, its just an ir-keytable call away.
For giggles, I may tinker with implementing another decoder engine though,
if only to force myself to actually pay more attention to protocol
specifics. For the moment, I'm inclined to go ahead with the streamzap
port as it is right now, and include either an empty or not-empty, but
not-functional key table.
--
Jarod Wilson
jarod@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-08-02 18:21 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-30 2:17 [PATCH 0/9 v2] IR: few fixes, additions and ENE driver Maxim Levitsky
2010-07-30 2:17 ` [PATCH 01/13] IR: Kconfig fixes Maxim Levitsky
2010-07-30 2:17 ` [PATCH 02/13] IR: minor fixes: Maxim Levitsky
2010-07-30 2:17 ` [PATCH 03/13] IR: replace spinlock with mutex Maxim Levitsky
2010-07-30 2:17 ` [PATCH 04/13] IR: fix locking in ir_raw_event_work Maxim Levitsky
2010-07-30 2:42 ` Andy Walls
2010-07-30 11:02 ` Maxim Levitsky
2010-07-30 2:17 ` [PATCH 05/13] IR: JVC: make repeat work Maxim Levitsky
2010-07-30 2:17 ` [PATCH 06/13] IR: nec decoder: fix repeat Maxim Levitsky
2010-07-30 2:50 ` Andy Walls
2010-07-30 2:17 ` [PATCH 07/13] IR: NECX: support repeat Maxim Levitsky
2010-07-30 2:17 ` [PATCH 08/13] IR: Allow not to compile keymaps in Maxim Levitsky
2010-07-30 2:17 ` [PATCH 09/13] IR: add helper function for hardware with small o/b buffer Maxim Levitsky
2010-07-30 2:17 ` [PATCH 10/13] IR: extend interfaces to support more device settings LIRC: add new IOCTL that enables learning mode (wide band receiver) Maxim Levitsky
2010-07-30 2:17 ` [PATCH 11/13] IR: report unknown scancodes the in-kernel decoders found Maxim Levitsky
2010-07-30 2:17 ` [PATCH 12/13] STAGING: remove lirc_ene0100 driver Maxim Levitsky
2010-07-30 2:17 ` [PATCH 13/13] IR: Port ene driver to new IR subsystem and enable it Maxim Levitsky
2010-07-30 2:39 ` Jon Smirl
2010-07-30 3:46 ` Andy Walls
2010-07-30 11:36 ` Maxim Levitsky
2010-07-30 11:51 ` Jon Smirl
2010-07-30 11:54 ` Maxim Levitsky
2010-07-30 12:02 ` Jon Smirl
2010-07-30 12:07 ` Jon Smirl
2010-07-30 12:45 ` Maxim Levitsky
2010-07-31 13:55 ` Andy Walls
2010-07-31 14:28 ` Maxim Levitsky
2010-07-31 14:37 ` Jon Smirl
2010-07-31 14:51 ` Maxim Levitsky
2010-07-31 15:12 ` Andy Walls
2010-07-31 16:25 ` Jon Smirl
2010-07-31 16:44 ` Maxim Levitsky
2010-07-31 16:51 ` Maxim Levitsky
2010-07-31 17:47 ` Christoph Bartelmus
2010-07-31 18:14 ` Jon Smirl
2010-07-31 18:33 ` Jon Smirl
2010-07-31 18:51 ` Andy Walls
2010-07-31 21:53 ` Jon Smirl
2010-07-31 23:26 ` Maxim Levitsky
2010-08-01 9:43 ` Christoph Bartelmus
2010-08-02 15:12 ` Remote that breaks current system (was: IR: Port ene driver...) it Jarod Wilson
2010-08-02 16:11 ` Jon Smirl
2010-08-02 16:42 ` Remote that breaks current system Christoph Bartelmus
2010-08-02 17:13 ` Jon Smirl
2010-08-02 18:09 ` Jarod Wilson [this message]
2010-08-02 20:42 ` Jon Smirl
2010-08-11 14:38 ` Jarod Wilson
2010-08-12 6:46 ` Christoph Bartelmus
2010-08-16 4:04 ` Jarod Wilson
2010-08-16 20:41 ` Maxim Levitsky
2010-08-17 0:14 ` Jarod Wilson
2010-08-17 3:30 ` Mauro Carvalho Chehab
2010-08-17 3:40 ` Jarod Wilson
2010-08-02 17:51 ` Jarod Wilson
2010-08-01 9:50 ` [PATCH 13/13] IR: Port ene driver to new IR subsystem and enable it Christoph Bartelmus
2010-08-01 14:00 ` Jon Smirl
2010-08-01 14:05 ` Jon Smirl
2010-08-01 15:13 ` Christoph Bartelmus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100802180940.GF2296@redhat.com \
--to=jarod@redhat.com \
--cc=awalls@md.metrocast.net \
--cc=jarod@wilsonet.com \
--cc=jonsmirl@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=lirc-list@lists.sourceforge.net \
--cc=lirc@bartelmus.de \
--cc=mchehab@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).