When using kernel 4.19.X and LIRC, long IR sequences cannot be sent.

Open
#3,002 14 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
35/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
c, linux

Research direction

Review drivers/media/rc/lirc_dev.c, starting at the LIRCBUF_SIZE definition and the surrounding LIRC buffer handling. Verify the proposed limit against the kernel 4.19 LIRC path and confirm that long air-conditioner IR sequences can be sent without regression.

Written by the indexing model from the issue text.

Description

Describe the bug
When using kernel 4.19.X and sending IR commands with LIRC, the length of pulse-space IR sequence is restricted to be smaller than 256.
Therefore, the long IR sequence of remote controllers of air conditioners cannot be sent because its length is often longer than 256.

This is caused by the following line in lirc_dev.c.

#define LIRCBUF_SIZE 256

This definition did not exist in kernel 4.14.

I built a kernel 4.19.46-v7+ with LIRCBUF_SIZE=1024 and I confirmed that a long IR sequence can be sent correctly.

Therefore, I propose to set LIRCBUF_SIZE to the value 1024.

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.