You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(14) |
Jun
(29) |
Jul
(51) |
Aug
(40) |
Sep
(35) |
Oct
(58) |
Nov
(64) |
Dec
(70) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(111) |
Feb
(75) |
Mar
(85) |
Apr
(62) |
May
(56) |
Jun
(65) |
Jul
(67) |
Aug
(73) |
Sep
(46) |
Oct
(64) |
Nov
(55) |
Dec
(76) |
| 2002 |
Jan
(119) |
Feb
(74) |
Mar
(101) |
Apr
(128) |
May
(124) |
Jun
(138) |
Jul
(114) |
Aug
(63) |
Sep
(54) |
Oct
(135) |
Nov
(92) |
Dec
(127) |
| 2003 |
Jan
(129) |
Feb
(164) |
Mar
(129) |
Apr
(131) |
May
(181) |
Jun
(136) |
Jul
(118) |
Aug
(220) |
Sep
(116) |
Oct
(177) |
Nov
(206) |
Dec
(114) |
| 2004 |
Jan
(175) |
Feb
(222) |
Mar
(245) |
Apr
(209) |
May
(112) |
Jun
(104) |
Jul
(77) |
Aug
(115) |
Sep
(175) |
Oct
(141) |
Nov
(154) |
Dec
(190) |
| 2005 |
Jan
(198) |
Feb
(171) |
Mar
(164) |
Apr
(113) |
May
(104) |
Jun
(151) |
Jul
(107) |
Aug
(190) |
Sep
(142) |
Oct
(116) |
Nov
(113) |
Dec
(111) |
| 2006 |
Jan
(147) |
Feb
(103) |
Mar
(102) |
Apr
(75) |
May
(110) |
Jun
(82) |
Jul
(119) |
Aug
(77) |
Sep
(103) |
Oct
(188) |
Nov
(132) |
Dec
(155) |
| 2007 |
Jan
(169) |
Feb
(110) |
Mar
(113) |
Apr
(162) |
May
(107) |
Jun
(116) |
Jul
(159) |
Aug
(135) |
Sep
(135) |
Oct
(105) |
Nov
(96) |
Dec
(100) |
| 2008 |
Jan
(122) |
Feb
(93) |
Mar
(57) |
Apr
(80) |
May
(119) |
Jun
(85) |
Jul
(59) |
Aug
(73) |
Sep
(250) |
Oct
(146) |
Nov
(121) |
Dec
(72) |
| 2009 |
Jan
(193) |
Feb
(96) |
Mar
(102) |
Apr
(66) |
May
(99) |
Jun
(130) |
Jul
(206) |
Aug
(308) |
Sep
(117) |
Oct
(99) |
Nov
(170) |
Dec
(232) |
| 2010 |
Jan
(104) |
Feb
(127) |
Mar
(86) |
Apr
(111) |
May
(66) |
Jun
(44) |
Jul
(253) |
Aug
(120) |
Sep
(178) |
Oct
(220) |
Nov
(153) |
Dec
(157) |
| 2011 |
Jan
(80) |
Feb
(85) |
Mar
(129) |
Apr
(232) |
May
(236) |
Jun
(73) |
Jul
(53) |
Aug
(38) |
Sep
(23) |
Oct
(32) |
Nov
(25) |
Dec
(24) |
| 2012 |
Jan
(23) |
Feb
(43) |
Mar
(29) |
Apr
(50) |
May
(25) |
Jun
(15) |
Jul
(26) |
Aug
(26) |
Sep
(4) |
Oct
(10) |
Nov
(17) |
Dec
(18) |
| 2013 |
Jan
(12) |
Feb
(17) |
Mar
(15) |
Apr
(22) |
May
(29) |
Jun
(16) |
Jul
(15) |
Aug
(9) |
Sep
(45) |
Oct
(18) |
Nov
(21) |
Dec
(11) |
| 2014 |
Jan
(35) |
Feb
(34) |
Mar
(13) |
Apr
(14) |
May
(86) |
Jun
(23) |
Jul
(6) |
Aug
(18) |
Sep
(16) |
Oct
(36) |
Nov
(98) |
Dec
(62) |
| 2015 |
Jan
(27) |
Feb
(14) |
Mar
(5) |
Apr
(49) |
May
(27) |
Jun
(9) |
Jul
(11) |
Aug
(20) |
Sep
(26) |
Oct
(71) |
Nov
(2) |
Dec
(7) |
| 2016 |
Jan
(42) |
Feb
(3) |
Mar
(15) |
Apr
(34) |
May
(25) |
Jun
(39) |
Jul
(20) |
Aug
(85) |
Sep
(14) |
Oct
(82) |
Nov
(10) |
Dec
(34) |
| 2017 |
Jan
(29) |
Feb
(88) |
Mar
(78) |
Apr
(4) |
May
(7) |
Jun
(30) |
Jul
(4) |
Aug
(47) |
Sep
(14) |
Oct
(47) |
Nov
(5) |
Dec
(3) |
| 2018 |
Jan
(18) |
Feb
(13) |
Mar
(6) |
Apr
(8) |
May
(11) |
Jun
(1) |
Jul
(11) |
Aug
(1) |
Sep
(4) |
Oct
|
Nov
|
Dec
(23) |
| 2019 |
Jan
(5) |
Feb
(15) |
Mar
(11) |
Apr
(4) |
May
(15) |
Jun
(12) |
Jul
(4) |
Aug
(5) |
Sep
(14) |
Oct
(3) |
Nov
(10) |
Dec
|
| 2020 |
Jan
|
Feb
(5) |
Mar
(23) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
(7) |
Sep
|
Oct
(3) |
Nov
|
Dec
|
| 2021 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
(8) |
May
|
Jun
|
Jul
(4) |
Aug
(5) |
Sep
(7) |
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(3) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
(2) |
Dec
(13) |
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
| 2024 |
Jan
|
Feb
|
Mar
(4) |
Apr
(3) |
May
(2) |
Jun
(4) |
Jul
(3) |
Aug
|
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(2) |
Jun
(5) |
Jul
|
Aug
|
Sep
(12) |
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(18) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Doron B. <dor...@gm...> - 2026-05-28 16:00:45
|
On Thu, May 28, 2026 at 01:37:32PM +0200, Thomas Uhle wrote: > On Thu, 28 May 2026, Doron Behar wrote: > > > [...] > > > > +m4_define([PYTHON_MIN_VERSION], [3.7]) > > # Try the 'm' (malloc/abiflags) version first, fallback to standard python3 > > -PKG_CHECK_MODULES([PYTHON], [python3m >= 3.7], [pkg_cv_python_name="python3m"], [ > > - PKG_CHECK_MODULES([PYTHON], [python3 >= 3.7], [pkg_cv_python_name="python3"], [ > > - AC_MSG_WARN([No python package found >= 3.1 (missing devel package?)]) > > +PKG_CHECK_MODULES([PYTHON], [python3m >= [PYTHON_MIN_VERSION,] [pkg_cv_python_name="python3m"], [ > > + PKG_CHECK_MODULES([PYTHON], [python3 >= [PYTHON_MIN_VERSION,] [pkg_cv_python_name="python3"], [ > > + AC_MSG_WARN([No python package found >= [PYTHON_MIN_VERSION] (missing devel package?)]) > > Looks like mismatched brackets ... Have you tested these changes? You were right again - I thought you had a bracket mistake so I wrote something else there but your original suggestion was perfect (tested it this time :)). I sent both of these patches here as upstream seems to accept them there: <https://sourceforge.net/p/lirc/tickets/392/> Doron. |
|
From: Thomas U. <tho...@ma...> - 2026-05-28 11:37:49
|
On Thu, 28 May 2026, Doron Behar wrote: > [...] > > +m4_define([PYTHON_MIN_VERSION], [3.7]) > # Try the 'm' (malloc/abiflags) version first, fallback to standard python3 > -PKG_CHECK_MODULES([PYTHON], [python3m >= 3.7], [pkg_cv_python_name="python3m"], [ > - PKG_CHECK_MODULES([PYTHON], [python3 >= 3.7], [pkg_cv_python_name="python3"], [ > - AC_MSG_WARN([No python package found >= 3.1 (missing devel package?)]) > +PKG_CHECK_MODULES([PYTHON], [python3m >= [PYTHON_MIN_VERSION,] [pkg_cv_python_name="python3m"], [ > + PKG_CHECK_MODULES([PYTHON], [python3 >= [PYTHON_MIN_VERSION,] [pkg_cv_python_name="python3"], [ > + AC_MSG_WARN([No python package found >= [PYTHON_MIN_VERSION] (missing devel package?)]) Looks like mismatched brackets ... Have you tested these changes? Best regards, Thomas Uhle |
|
From: Thomas U. <tho...@ma...> - 2026-05-28 11:34:30
|
On Thu, 28 May 2026, Doron Behar wrote: > [...] > > - cd $(DESTDIR)/$(bindir); \ > - ln -sr $(DESTDIR)/$(setupdir)/lirc-setup > - rm -rf $(DESTDIR)/$(setupdir)/configs > - cd $(DESTDIR)/$(setupdir); \ > - ln -sr $(DESTDIR)/$(pkgdatadir)/configs > + ln -sr \ > + $(DESTDIR)/$(setupdir)/lirc-setup \ > + $(DESTDIR)/$(bindir)/lirc-setup > + ln -sr \ > + $(DESTDIR)/$(pkgdatadir)/configs \ > + $(DESTDIR)/$(setupdir)/configs I don't know if it's wise to also remove this line: rm -rf $(DESTDIR)/$(setupdir)/configs It might have been there for a reason. Best regards, Thomas Uhle |
|
From: <dor...@gm...> - 2026-05-28 10:35:26
|
From: Doron Behar <dor...@gm...> Hello Thomas, Attached are the patches that fix your comments. You were right in both of them! Thanks. Doron Behar (2): */Makefile.am: Simplify ln -sr calls configure.ac: consistently require the same Python version configure.ac | 7 ++++--- doc/Makefile.am | 9 +++++---- tools/Makefile.am | 11 ++++++----- 3 files changed, 15 insertions(+), 12 deletions(-) -- 2.54.0 |
|
From: <dor...@gm...> - 2026-05-28 10:35:25
|
From: Doron Behar <dor...@gm...>
---
configure.ac | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 99cdef09..86f5b6af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,10 +45,11 @@ AC_CHECK_PROG([DOXYGEN],[doxygen],[yes],[no])
AM_CONDITIONAL(HAVE_DOXYGEN, test x$DOXYGEN = xyes)
LT_INIT([disable-static])
+m4_define([PYTHON_MIN_VERSION], [3.7])
# Try the 'm' (malloc/abiflags) version first, fallback to standard python3
-PKG_CHECK_MODULES([PYTHON], [python3m >= 3.7], [pkg_cv_python_name="python3m"], [
- PKG_CHECK_MODULES([PYTHON], [python3 >= 3.7], [pkg_cv_python_name="python3"], [
- AC_MSG_WARN([No python package found >= 3.1 (missing devel package?)])
+PKG_CHECK_MODULES([PYTHON], [python3m >= [PYTHON_MIN_VERSION,] [pkg_cv_python_name="python3m"], [
+ PKG_CHECK_MODULES([PYTHON], [python3 >= [PYTHON_MIN_VERSION,] [pkg_cv_python_name="python3"], [
+ AC_MSG_WARN([No python package found >= [PYTHON_MIN_VERSION] (missing devel package?)])
])
])
AS_IF([test -n "$PYTHON_CFLAGS"], [
--
2.54.0
|
|
From: <dor...@gm...> - 2026-05-28 10:35:25
|
From: Doron Behar <dor...@gm...> --- doc/Makefile.am | 9 +++++---- tools/Makefile.am | 11 ++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/Makefile.am b/doc/Makefile.am index 78ede284..df10fee0 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -100,11 +100,12 @@ endif install-data-hook: install-apidocs cd $(DESTDIR)$(websitedir)/api-docs; ln -sf html-source/index.html . $(SED) -i '/class="footer"/,/p>/d' $(DESTDIR)$(plugindocsdir)/page.xsl - cd $(DESTDIR)$(plugindocsdir); ln -sr \ - $(DESTDIR)$(vardocsdir) var - cd $(DESTDIR)$(website_htmldir); ln -sr \ + ln -sr \ + $(DESTDIR)$(vardocsdir) \ + $(DESTDIR)$(plugindocsdir)/var + ln -sr \ $(DESTDIR)$(vardocsdir)/index.html \ - plugins-index.html + $(DESTDIR)$(website_htmldir)/plugins-index.html cp $(srcdir)/plugindocs.mk $(DESTDIR)$(plugindocsdir)/Makefile $(SED) -e 's|$(abs_srcdir)|$(datadocdir)|' \ -e 's|$(abs_builddir)|$(docdir)/plugindocs|' \ diff --git a/tools/Makefile.am b/tools/Makefile.am index cad0caf4..e111ff10 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -115,11 +115,12 @@ install-data-hook: cd $(DESTDIR)/$(setupdir); \ $(SED) -i '1s|python3[0-9\.]*|$(PYTHON)|' \ $(notdir $(dist_setup_SCRIPTS)) - cd $(DESTDIR)/$(bindir); \ - ln -sr $(DESTDIR)/$(setupdir)/lirc-setup - rm -rf $(DESTDIR)/$(setupdir)/configs - cd $(DESTDIR)/$(setupdir); \ - ln -sr $(DESTDIR)/$(pkgdatadir)/configs + ln -sr \ + $(DESTDIR)/$(setupdir)/lirc-setup \ + $(DESTDIR)/$(bindir)/lirc-setup + ln -sr \ + $(DESTDIR)/$(pkgdatadir)/configs \ + $(DESTDIR)/$(setupdir)/configs uninstall-hook: rm -f $(DESTDIR)/$(bindir)/lirc-setup \ -- 2.54.0 |
|
From: Thomas U. <tho...@ma...> - 2026-05-27 18:46:32
|
On Wed, 27 May 2026, Paul Fox wrote: > > ln -sr $(DESTDIR)$(vardocsdir) $(DESTDIR)$(plugindocsdir)/var > > ln -sr $(DESTDIR)$(vardocsdir)/index.html \ > > $(DESTDIR)$(website_htmldir)/plugins-index.html > > > > BTW, the non-POSIX option -r is a GNU extension, and I don't know if > > support for stripped-down Linux environments with only BusyBox for > > instance is something of concern. > > You made me curious, so I checked. busybox has had -r since at least > 2017. Of course, busybox ls can be built with no sortable ls capabilities > at all, but I suspect systems built that way aren't running python-driven > install scripts. > > paul > =---------------------- > paul fox, pg...@fo... (arlington, ma, where it's 84.8 degrees) > Dear Paul, the command in question is 'ln', not 'ls'. AFAICS there is no option -r for ln, please see: # ln --help BusyBox v1.36.1 multi-call binary. Usage: ln [-sfnbtv] [-S SUF] TARGET... LINK|DIR Create a link LINK or DIR/TARGET to the specified TARGET(s) -s Make symlinks instead of hardlinks -f Remove existing destinations -n Don't dereference symlinks - treat like normal file -b Make a backup of the target (if exists) before link operation -S SUF Use suffix instead of ~ when making backup files -T Treat LINK as a file, not DIR -v Verbose Best regards, Thomas Uhle |
|
From: Paul F. <pg...@fo...> - 2026-05-27 18:35:35
|
thomas wrote: > the command in question is 'ln', not 'ls'. AFAICS there is no option -r > for ln, please see: oops!! embarrassing! time for new glasses. or bigger fonts!! sorry for the noise. paul =---------------------- paul fox, pg...@fo... (arlington, ma, where it's 85.3 degrees) |
|
From: Paul F. <pg...@fo...> - 2026-05-27 18:08:06
|
> ln -sr $(DESTDIR)$(vardocsdir) $(DESTDIR)$(plugindocsdir)/var > ln -sr $(DESTDIR)$(vardocsdir)/index.html \ > $(DESTDIR)$(website_htmldir)/plugins-index.html > > BTW, the non-POSIX option -r is a GNU extension, and I don't know if > support for stripped-down Linux environments with only BusyBox for > instance is something of concern. You made me curious, so I checked. busybox has had -r since at least 2017. Of course, busybox ls can be built with no sortable ls capabilities at all, but I suspect systems built that way aren't running python-driven install scripts. paul =---------------------- paul fox, pg...@fo... (arlington, ma, where it's 84.8 degrees) |
|
From: Thomas U. <tho...@ma...> - 2026-05-27 17:39:17
|
On Wed, 27 May 2026, Doron Behar wrote: > [...] > > - $(PYTHON) $(srcdir)/make_rel_symlink.py \ > - $(DESTDIR)$(vardocsdir) $(DESTDIR)$(plugindocsdir)/var > - $(PYTHON) $(srcdir)/make_rel_symlink.py \ > + cd $(DESTDIR)$(plugindocsdir); ln -sr \ > + $(DESTDIR)$(vardocsdir) var > + cd $(DESTDIR)$(website_htmldir); ln -sr \ > $(DESTDIR)$(vardocsdir)/index.html \ > - $(DESTDIR)$(website_htmldir)/plugins-index.html > + plugins-index.html Why do you use this combination of cd with ln instead of simply writing: ln -sr $(DESTDIR)$(vardocsdir) $(DESTDIR)$(plugindocsdir)/var ln -sr $(DESTDIR)$(vardocsdir)/index.html \ $(DESTDIR)$(website_htmldir)/plugins-index.html BTW, the non-POSIX option -r is a GNU extension, and I don't know if support for stripped-down Linux environments with only BusyBox for instance is something of concern. > [...] > > - $(PYTHON) $(srcdir)/make_rel_symlink.py \ > - $(DESTDIR)/$(setupdir)/lirc-setup \ > - $(DESTDIR)/$(bindir)/lirc-setup > + cd $(DESTDIR)/$(bindir); \ > + ln -sr \ > + $(DESTDIR)/$(setupdir)/lirc-setup > rm -rf $(DESTDIR)/$(setupdir)/configs > - $(PYTHON) $(srcdir)/make_rel_symlink.py \ > - $(DESTDIR)/$(pkgdatadir)/configs \ > - $(DESTDIR)/$(setupdir)/configs > + cd $(DESTDIR)/$(setupdir); \ > + ln -sr $(DESTDIR)/$(pkgdatadir)/configs Same here, the following seems to be more simple: ln -sr $(DESTDIR)/$(setupdir)/lirc-setup $(DESTDIR)/$(bindir) ln -sr $(DESTDIR)/$(pkgdatadir)/configs $(DESTDIR)/$(setupdir) Best regards, Thomas Uhle |
|
From: Thomas U. <tho...@ma...> - 2026-05-27 17:04:51
|
On Wed, 27 May 2026, Doron Behar wrote:
> [...]
>
> -AM_PATH_PYTHON([3.7],,)
> -PKG_CHECK_MODULES([PYTHON],[python-${PYTHON_VERSION}m],,[true])
> -test -z "$PYTHON_CFLAGS" && \
> - PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],,[true])
> -test -n "$PYTHON_CFLAGS" || \
> - AC_MSG_WARN([No python package found (missing devel package?)])
> +# Try the 'm' (malloc/abiflags) version first, fallback to standard python3
> +PKG_CHECK_MODULES([PYTHON], [python3m >= 3.7], [pkg_cv_python_name="python3m"], [
> + PKG_CHECK_MODULES([PYTHON], [python3 >= 3.7], [pkg_cv_python_name="python3"], [
> + AC_MSG_WARN([No python package found >= 3.1 (missing devel package?)])
The problem in hard-coding minimum required version numbers several times
is that in the end there might be a mismatch like this here: 3.7 != 3.1.
Why don't you write:
m4_define([PYTHON_MIN_VERSION], [3.7])
# Try the 'm' (malloc/abiflags) version first, fallback to standard python3.
PKG_CHECK_MODULES([PYTHON], [python3m >= ]PYTHON_MIN_VERSION, [pkg_cv_python_name="python3m"], [
PKG_CHECK_MODULES([PYTHON], [python3 >= ]PYTHON_MIN_VERSION, [pkg_cv_python_name="python3"], [
AC_MSG_WARN([No python package found with version ]PYTHON_MIN_VERSION[ or newer (missing devel package?)])
Best regards,
Thomas Uhle
|
|
From: <dor...@gm...> - 2026-05-27 12:31:21
|
From: Doron Behar <dor...@gm...>
---
configure.ac | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5165ddba..3bbc09cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -133,11 +133,9 @@ test -d "/var/lock/lockdev" || lockdir_default="/var/lock"
enable_uinput_default="no"
test -e "/dev/uinput" && enable_uinput_default="yes"
-version_nodots=$( $PYTHON << EOF
-v = "$VERSION".split("rc").pop(0).split("-").pop(0).split(".")
-print(int(v.pop(0)) * 10000 + int(v.pop(0)) * 100 + int(v.pop(0)))
-EOF
-)
+version_clean="${VERSION%%rc*}"
+version_clean="${version_clean%%-*}"
+version_nodots=$(echo "$version_clean" | awk -F. '{print ($1 * 10000) + ($2 * 100) + $3}')
AC_DEFINE_UNQUOTED(VERSION_NODOTS, [$version_nodots])
AC_MSG_CHECKING([for linux kernel])
--
2.54.0
|
|
From: <dor...@gm...> - 2026-05-27 12:31:21
|
From: Doron Behar <dor...@gm...> --- configure.ac | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 3bbc09cf..fe169a9a 100644 --- a/configure.ac +++ b/configure.ac @@ -283,11 +283,9 @@ else fi AC_MSG_CHECKING(for devinput) -AC_CHECK_FILE([/dev/input],[ +AC_CHECK_HEADERS([linux/input.h], [ have_devinput="yes" - AC_MSG_RESULT(yes) -],[ - AC_MSG_RESULT(no) +], [ have_devinput="no" ]) -- 2.54.0 |
|
From: <dor...@gm...> - 2026-05-27 12:31:21
|
From: Doron Behar <dor...@gm...>
---
doc/Makefile.am | 10 ++++----
doc/make_rel_symlink.py | 44 ---------------------------------
tools/Makefile.am | 13 +++++-----
tools/make_rel_symlink.py | 52 ---------------------------------------
4 files changed, 11 insertions(+), 108 deletions(-)
delete mode 100644 doc/make_rel_symlink.py
delete mode 100644 tools/make_rel_symlink.py
diff --git a/doc/Makefile.am b/doc/Makefile.am
index f376c1a5..99e7d6e8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -6,7 +6,7 @@ CLEANFILES = man/* html/* man-html/* driver-toc.xsl \
doxygen*warning* ext-driver-toc.xsl
EXTRA_DIST = Doxyfile manpage.xsl make-driver-toc.sh \
- make_rel_symlink.py index.html plugindocs.mk \
+ index.html plugindocs.mk \
fix-urls.sh doxypypy.py py_filter
if DEVEL
@@ -100,11 +100,11 @@ endif
install-data-hook: install-apidocs
cd $(DESTDIR)$(websitedir)/api-docs; ln -sf html/index.html .
$(SED) -i '/class="footer"/,/p>/d' $(DESTDIR)$(plugindocsdir)/page.xsl
- $(PYTHON) $(srcdir)/make_rel_symlink.py \
- $(DESTDIR)$(vardocsdir) $(DESTDIR)$(plugindocsdir)/var
- $(PYTHON) $(srcdir)/make_rel_symlink.py \
+ cd $(DESTDIR)$(plugindocsdir); ln -sr \
+ $(DESTDIR)$(vardocsdir) var
+ cd $(DESTDIR)$(website_htmldir); ln -sr \
$(DESTDIR)$(vardocsdir)/index.html \
- $(DESTDIR)$(website_htmldir)/plugins-index.html
+ plugins-index.html
cp $(srcdir)/plugindocs.mk $(DESTDIR)$(plugindocsdir)/Makefile
$(SED) -e 's|$(abs_srcdir)|$(datadocdir)|' \
-e 's|$(abs_builddir)|$(docdir)/plugindocs|' \
diff --git a/doc/make_rel_symlink.py b/doc/make_rel_symlink.py
deleted file mode 100644
index 9b8fab02..00000000
--- a/doc/make_rel_symlink.py
+++ /dev/null
@@ -1,44 +0,0 @@
-import os
-import os.path
-import sys
-import pdb
-import shutil
-
-def relative_ln_s( from_, to_ ):
- """
-
- This is just so dirty & boring: create a relative symlink, making the
- to_ path relative to from_. No errorchecks. Both arguments must be
- files, a destination directory doesn't work (I think). An existing
- file in to_ will be removed.
-
- """
- prefix = os.path.commonprefix( [ to_, from_ ] )
- if prefix == '':
- prefix = '/'
- source = from_.split(prefix )[ 1 ]
- dest = to_.split(prefix)[1]
- level = len(dest.split('/')) - 1
- path = ('../' * level) + source
- return path
-
-USAGE = 'Usage: make_rel_symlink [-p] <sourcefile> <destfile>'
-
-just_print = False;
-if sys.argv[1] == "-p":
- just_print = True;
- sys.argv = sys.argv[ 1:]
-
-if len(sys.argv) != 3:
- print(USAGE)
- sys.exit(1)
-
-link_path = relative_ln_s(sys.argv[1], sys.argv[2])
-if just_print:
- print(link_path)
-else:
- os.chdir( os.path.dirname( sys.argv[2]))
- target = os.path.basename( sys.argv[2])
- if os.path.exists( target ):
- os.unlink( target)
- os.symlink( link_path, target)
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 96b17f87..dc0e4c71 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -79,7 +79,7 @@ endif
dist_bin_SCRIPTS += pronto2lirc irdb-get irtext2udp lirc-postinstall
dist_sbin_SCRIPTS = lircd-setup
-dist_noinst_SCRIPTS = make_rel_symlink.py check_configs.py
+dist_noinst_SCRIPTS = check_configs.py
libpython = $(libdir)/python$(PYTHON_VERSION)
@@ -115,13 +115,12 @@ install-data-hook:
cd $(DESTDIR)/$(setupdir); \
$(SED) -i '1s|python3[0-9\.]*|$(PYTHON)|' \
$(notdir $(dist_setup_SCRIPTS))
- $(PYTHON) $(srcdir)/make_rel_symlink.py \
- $(DESTDIR)/$(setupdir)/lirc-setup \
- $(DESTDIR)/$(bindir)/lirc-setup
+ cd $(DESTDIR)/$(bindir); \
+ ln -sr \
+ $(DESTDIR)/$(setupdir)/lirc-setup
rm -rf $(DESTDIR)/$(setupdir)/configs
- $(PYTHON) $(srcdir)/make_rel_symlink.py \
- $(DESTDIR)/$(pkgdatadir)/configs \
- $(DESTDIR)/$(setupdir)/configs
+ cd $(DESTDIR)/$(setupdir); \
+ ln -sr $(DESTDIR)/$(pkgdatadir)/configs
uninstall-hook:
rm -f $(DESTDIR)/$(bindir)/lirc-setup \
diff --git a/tools/make_rel_symlink.py b/tools/make_rel_symlink.py
deleted file mode 100644
index cb1e6b5f..00000000
--- a/tools/make_rel_symlink.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import os
-import os.path
-import sys
-import shutil
-
-def relative_ln_s( from_, to_ ):
- """
-
- This is just so dirty & boring: create a relative symlink, making the
- to_ path relative to from_. No errorchecks. Both arguments must be
- files, a destination directory doesn't work (I think). An existing
- file in to_ will be removed.
-
- """
- prefix = os.path.commonprefix( [ to_, from_ ] )
- if prefix == '':
- prefix = '/'
- source = from_.split( prefix )[ 1 ]
- dest = to_.split( prefix )[ 1 ]
- level = len( dest.split( '/' ) ) - 1
- path = ( '../' * level ) + source
- return path
-
-USAGE = 'Usage: make_rel_symlink [-p] <sourcefile> <destfile>'
-
-just_print = False;
-if sys.argv[1] == "-p":
- just_print = True;
- sys.argv = sys.argv[ 1:]
-
-if len( sys.argv ) != 3:
- print(USAGE)
- sys.exit( 1 )
-
-if os.path.isdir( sys.argv[2] ):
- print("Removing link target dir:" + sys.argv[2])
- if os.path.islink(sys.argv[2]):
- os.unlink(sys.argv[2])
- else:
- shutil.rmtree(sys.argv[2])
-
-link_path = relative_ln_s( sys.argv[1], sys.argv[2] )
-if just_print:
- print(link_path)
-else:
- os.chdir( os.path.dirname( sys.argv[2]))
- target = os.path.basename( sys.argv[2])
- if os.path.exists( target ):
- os.unlink( target)
- os.symlink( link_path, target)
-
-
--
2.54.0
|
|
From: <dor...@gm...> - 2026-05-27 12:31:02
|
From: Doron Behar <dor...@gm...> Instead of PKGCONFIG. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 59dab948..5165ddba 100644 --- a/configure.ac +++ b/configure.ac @@ -28,8 +28,8 @@ if test x$MODINFO = xno; then MODINFO="false" fi AC_SUBST(MODINFO) -AC_CHECK_PROG([PKGCONFIG],[pkg-config],[yes],[no]) -if test x$PKGCONFIG = xno; then +AC_CHECK_PROG([PKG_CONFIG],[pkg-config],[yes],[no]) +if test x$PKG_CONFIG = xno; then AC_MSG_ERROR([Required program pkg-config is missing or not in \$PATH]) fi AC_CHECK_PROG([XSLTPROC],[xsltproc],[yes],[no]) -- 2.54.0 |
|
From: <dor...@gm...> - 2026-05-27 12:31:02
|
From: Doron Behar <dor...@gm...> Hello, I'd like to suggest a few improvements for lirc to handle cross compilation better. The attached patches were tested with Nixpkgs, and seems to work for us (with a few changes to the Nix expression not published here). Please consider merging at least some of them - many of them can be merged individually. Here's a summary Doron Behar (6): lirc-make-devinput: avoid using python interpreter configure.ac: use standard PKG_CONFIG variable configure.ac: device VERSION_NODOTS without Python configure.ac: Check linux/input.h header instead of /dev/input configure.ac: query for a Python only with PKG_CHECK_MODULES Ditch Python dependent make_rel_symlink with ln -sr Makefile.am | 3 +-- configure.ac | 42 ++++++++++++++++++------------- doc/Makefile.am | 10 ++++---- doc/make_rel_symlink.py | 44 --------------------------------- tools/Makefile.am | 13 +++++----- tools/lirc-make-devinput | 5 +--- tools/make_rel_symlink.py | 52 --------------------------------------- 7 files changed, 38 insertions(+), 131 deletions(-) delete mode 100644 doc/make_rel_symlink.py delete mode 100644 tools/make_rel_symlink.py -- 2.54.0 |
|
From: <dor...@gm...> - 2026-05-27 12:31:01
|
From: Doron Behar <dor...@gm...>
---
Makefile.am | 3 +--
tools/lirc-make-devinput | 5 +----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 1b089d0b..c5cd4df2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -214,8 +214,7 @@ devinput.lircd.conf:
echo "# Rename to devinput.lircd.dist if not using devinput driver" > $@
echo "# Re-generate for current kernel using lirc-make-devinput" >> $@
echo '#' >> $@
- PYTHON=$(PYTHON) \
- $(srcdir)/tools/lirc-make-devinput $(DEVINPUT_HEADER) >> $@
+ $(srcdir)/tools/lirc-make-devinput $(DEVINPUT_HEADER) >> $@
.phony:
diff --git a/tools/lirc-make-devinput b/tools/lirc-make-devinput
index c37b5e1a..026fa706 100755
--- a/tools/lirc-make-devinput
+++ b/tools/lirc-make-devinput
@@ -12,13 +12,10 @@ used when building lirc.
input.h path defaults to /usr/include/linux/input.h, often in
the kernel-headers package.
-
-Script uses the python interpreter defined by the PYTHON
-environment variable, falling back to 'python'
EOF
}
-here=$(dirname $(${PYTHON:-'python'} -c "import os; print(os.path.realpath(\"$0\"))"))
+here=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
# Use gnu-sed if available
if which gsed &>/dev/null; then SED=gsed; else SED=sed; fi
--
2.54.0
|
|
From: <dor...@gm...> - 2026-05-27 12:31:01
|
From: Doron Behar <dor...@gm...>
Avoid using AM_PATH_PYTHON as it does not support cross compilation
---
configure.ac | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index fe169a9a..9ff116c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,12 +45,24 @@ AC_CHECK_PROG([DOXYGEN],[doxygen],[yes],[no])
AM_CONDITIONAL(HAVE_DOXYGEN, test x$DOXYGEN = xyes)
LT_INIT([disable-static])
-AM_PATH_PYTHON([3.7],,)
-PKG_CHECK_MODULES([PYTHON],[python-${PYTHON_VERSION}m],,[true])
-test -z "$PYTHON_CFLAGS" && \
- PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],,[true])
-test -n "$PYTHON_CFLAGS" || \
- AC_MSG_WARN([No python package found (missing devel package?)])
+# Try the 'm' (malloc/abiflags) version first, fallback to standard python3
+PKG_CHECK_MODULES([PYTHON], [python3m >= 3.7], [pkg_cv_python_name="python3m"], [
+ PKG_CHECK_MODULES([PYTHON], [python3 >= 3.7], [pkg_cv_python_name="python3"], [
+ AC_MSG_WARN([No python package found >= 3.1 (missing devel package?)])
+ ])
+])
+AS_IF([test -n "$PYTHON_CFLAGS"], [
+ PYTHON=$($PKG_CONFIG --variable=executable "$pkg_cv_python_name")
+ PYTHON_VERSION=$($PKG_CONFIG --modversion "$pkg_cv_python_name" | awk -F. '{print $1"."$2}')
+ python_version_nodots=$(echo "$PYTHON_VERSION" | awk -F. '{print ($1 * 10) + $2}')
+], [
+ # This block is technically unreachable now due to AC_MSG_ERROR above, but
+ # we keep it safe and explicit for sanity.
+ AC_MSG_ERROR([Unexpected error: Python CFLAGS are empty.])
+])
+# Make PYTHON variables available in Makefile.am
+AC_SUBST([PYTHON])
+AC_SUBST([PYTHON_VERSION])
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
--
2.54.0
|
|
From: Matthew W. <mw...@wt...> - 2025-09-15 21:23:13
|
i have been using the USB IR Toy from Dangerous Prototypes for years with my Raspberry Pi systems to control all of my entertainment devices (TV, Sound Bar, DVR, Apple TV, etc). back when i was experimenting a lot, i used to have to re-update the firmware more frequently than i expected, but the most recent load had lasted me over 2 years; until this week. i always used the fw_update(.exe) command under Windows because that was the only examples i could find online. works fine. i even customised my firmware binary files to include custom a "Serial Number" for each of my devices, so i could differentiate them in udev rules on the Pi. now, this week, i was experimenting again and messed up the Toy and must now re-update the firmware again to get it to function. i wonder about the possibility of doing so from the Pi to avoid dragging the old Windows laptop out again, and dragging the Toy out from the entertainment center to work on the Toy (jumping PGC/PGD). the Toy "firmware update" page mentions being able to use a serial connection to activate the bootloader. Linux has the "setserial" command that ought to function like the "terminal" command on Windows. has anyone successfully done a firmware update using UNIX/Linux alone? even assuming i can put the Toy in bootloader mode, does anyone know what to use under Linux to replace the Windows fw_update command/executable functionality? just use "cat" to dump the contents of the binary file into the serial stream after sending "$" to enter bootloader mode? Pi: Raspberry Pi 4 Model B Rev 1.1 with 2 gig of memory OS: Debian GNU/Linux 12 (bookworm) Toy: http://dangerousprototypes.com/docs/USB_IR_Toy_firmware_update |
|
From: Sean Y. <se...@me...> - 2025-09-15 12:22:47
|
On Mon, Sep 15, 2025 at 09:29:35AM +0200, Mariusz Ferdyn wrote: > So ir-ctl is shipped out of the box? I thought it is LIRC, so in that case > what section is needed only https://github.com/MariuszFerdyn/AirConditionIoTCentral/blob/main/02-InfraRedReceiver/01-InstallLIRC.sh > (You can always contribute). ir-ctl is part of v4l-utils, not lirc. I think Raspberry Pi OS installs that by default. Installing lirc isn't going to help. Looks like we have a bug for gpio-ir-tx on RPi 1. I think the problem is that the current loop for generating the signal is too slow, so that the result is just garbage. Sean |
|
From: Mariusz F. <mf...@fa...> - 2025-09-15 07:29:45
|
On 9/14/2025 11:16 PM, Sean Young wrote: > On Sun, Sep 14, 2025 at 05:38:22PM +0200, Mariusz Ferdyn wrote: >> @Sean Thank you fro your help - moving to pwm-ir-tx for sending (receive was >> OK) - /boot/firmware/config.txt: >> dtoverlay=pwm-ir-tx,gpio_pin=18 >> dtoverlay=gpio-ir,gpio_pin=22 > That's great! The pwm-ir-tx driver really only becomes reliable in kernel > v6.8, with commit: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=363d0e56285e80cda997d41d94c22313b673557d > > In earlier kernels, under load the generated IR might be garbage. YMMV > > Best to update to the latest bookworm version with kernel 6.12. > >> It is working for Raspbery Pi 1 - for TV Samsung, Sound Bar Creative and Air >> Condition! >> >> >> Thanks for help. > Glad to be of help. > >> It is part of bigger project: >> https://github.com/MariuszFerdyn/AirConditionIoTCentral - anyway you can >> link it to LIRC links. > Very nice. I am not really understanding the setup though. You're using > ir-ctl, yet there are various references to lircd. Is lircd used at all, > if so what for what? > > Note that ir-ctl doesn't require or use lircd. > > > Sean > So ir-ctl is shipped out of the box? I thought it is LIRC, so in that case what section is needed only https://github.com/MariuszFerdyn/AirConditionIoTCentral/blob/main/02-InfraRedReceiver/01-InstallLIRC.sh (You can always contribute). Mariusz |
|
From: Sean Y. <se...@me...> - 2025-09-14 21:16:35
|
On Sun, Sep 14, 2025 at 05:38:22PM +0200, Mariusz Ferdyn wrote: > @Sean Thank you fro your help - moving to pwm-ir-tx for sending (receive was > OK) - /boot/firmware/config.txt: > dtoverlay=pwm-ir-tx,gpio_pin=18 > dtoverlay=gpio-ir,gpio_pin=22 That's great! The pwm-ir-tx driver really only becomes reliable in kernel v6.8, with commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=363d0e56285e80cda997d41d94c22313b673557d In earlier kernels, under load the generated IR might be garbage. YMMV Best to update to the latest bookworm version with kernel 6.12. > It is working for Raspbery Pi 1 - for TV Samsung, Sound Bar Creative and Air > Condition! > > > Thanks for help. Glad to be of help. > It is part of bigger project: > https://github.com/MariuszFerdyn/AirConditionIoTCentral - anyway you can > link it to LIRC links. Very nice. I am not really understanding the setup though. You're using ir-ctl, yet there are various references to lircd. Is lircd used at all, if so what for what? Note that ir-ctl doesn't require or use lircd. Sean |
|
From: Mariusz F. <mf...@fa...> - 2025-09-14 15:38:38
|
@Sean Thank you fro your help - moving to pwm-ir-tx for sending (receive was OK) - /boot/firmware/config.txt: dtoverlay=pwm-ir-tx,gpio_pin=18 dtoverlay=gpio-ir,gpio_pin=22 It is working for Raspbery Pi 1 - for TV Samsung, Sound Bar Creative and Air Condition! Thanks for help. It is part of bigger project: https://github.com/MariuszFerdyn/AirConditionIoTCentral - anyway you can link it to LIRC links. Mariusz On 9/13/2025 5:58 PM, Sean Young wrote: > On Sat, Sep 13, 2025 at 11:34:59AM +0200, Mariusz Ferdyn wrote: >> I am using: >> >> IR Receiver + Wire - Iduino SE027 >> >> IR 940nm Transmitter + Wire - Iduino SE028 >> >> >> I can record: >> >> ir-ctl -rtv.ir -d /dev/lirc1 >> >> cat tv.ir >> +4541 -4401 +603 -1622 +623 -1631 +617 -1621 +629 -494 +623 -505 +623 -506 >> +622 -505 +624 -504 +627 -1620 +621 -1623 +629 -1630 +606 -507 +632 -495 >> +621 -504 +623 -505 +625 -504 +622 -505 +624 -1639 +634 -480 +622 -503 +649 >> -481 +622 -506 +621 -506 +623 -505 +649 -1601 +624 -500 +649 -1600 +617 >> -1625 +621 -1627 +619 -1623 +632 -1619 +613 -1623 +646 -24922 >> +4519 -4404 +615 -1624 +618 -1626 +644 -1601 +647 -479 +648 -481 +654 -476 >> +621 -504 +624 -505 +647 -1600 +647 -1599 +622 -1624 +627 -510 +646 -480 >> +645 -491 +606 -508 +620 -502 +649 -477 +626 -1625 +627 -493 +652 -481 +642 >> -486 +630 -496 +645 -475 +622 -503 +622 -1626 +645 -482 +623 -1635 +634 >> -1600 +618 -1625 +620 -1625 +640 -1606 +631 -1617 +647 -27229 >> +4532 -4394 +641 -1607 +610 -1626 +622 -1626 +643 -481 +647 -480 +621 -514 >> +646 -474 +647 -490 +642 -1598 +642 -1600 +643 -1601 +644 -481 +647 -483 >> +657 -470 +644 -482 +648 -482 +644 -482 +647 -1601 +619 -507 +647 -481 +648 >> -479 +627 -502 +643 -483 +644 -485 +643 -1603 +646 -482 +645 -1601 +642 >> -1613 +616 -1620 +645 -1599 +642 -1604 +642 -1603 +655 -19502 >> +4556 -4370 +641 -1605 +642 -1605 +638 -1602 +643 -484 +644 -485 +645 -484 >> +642 -484 +644 -483 +643 -1614 +639 -1596 +639 -1607 +639 -484 +643 -485 >> +643 -484 +644 -485 +656 -472 +643 -487 +642 -1603 +647 -488 +635 -483 +644 >> -483 +642 -485 +643 -488 +652 -474 +643 -1604 +642 -484 +642 -1605 +641 >> -1607 +640 -1615 +636 -1594 +641 -1623 +626 -1601 +640 -21768 >> >> >> >> but when I execute: >> >> ir-ctl -stv.ir >> warning: tv.ir:4: trailing space ignored >> >> >> I see that IR is working (Iduino SE028 has LED and using my mobile camera), >> but TV is not switching ON. > That's odd. > > 1) The first thing that springs to mind is that you're not > setting the transmit carrier. This is necx so you could try: > > ir-ctl -c 38400 -stv.ir > > Note this should be almost equivalent: > > ir-ctl -S necx:0x70702 > > This does not repeat it for four times, but this does: > > ir-ctl -S necx:0x70702 -S necx:0x70702 -S necx:0x70702 -S necx:0x70702 > > 2) What raspberry pi OS and hardware are you using? > > 3) Since you're using gpio-ir-tx you need a raspberry pi which isn't ancient. > Beter to use pwm-ir-tx on a recent kernel. > > 4) Can you do ir-ctl -r in one window and ir-ctl -s in another? Is the output > what you expect? > >> cat /etc/lirc/lirc_options.conf >> # These are the default options to lircd, if installed as >> # /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8) >> # manpages for info on the different options. >> # >> # Some tools including mode2 and irw uses values such as >> # driver, device, plugindir and loglevel as fallback values >> # in not defined elsewhere. >> >> [lircd] >> nodaemon = False >> driver = devinput >> device = auto >> output = /var/run/lirc/lircd >> pidfile = /var/run/lirc/lircd.pid >> plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins >> permission = 666 >> allow-simulate = No >> repeat-max = 600 >> #effective-user = >> #listen = [address:]port >> #connect = host[:port] >> #loglevel = 6 >> #release = true >> #release_suffix = _EVUP >> #logfile = ... >> #driver-options = ... >> >> [lircmd] >> uinput = False >> nodaemon = False >> >> # [modinit] >> # code = /usr/sbin/modprobe lirc_serial >> # code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput >> # code2 = ... >> >> >> # [lircd-uinput] >> # add-release-events = False >> # release-timeout = 200 >> # release-suffix = _EVUP >> >> driver = default >> device = /dev/lirc0 >> >> driver = default >> device = /dev/lirc0 > The lirc daemon is not used at all in your way of doing this. Which makes > it off-topic for this list. > > > Sean > |
|
From: Sean Y. <se...@me...> - 2025-09-13 21:07:40
|
On Sat, Sep 13, 2025 at 06:17:42PM +0200, Mariusz Ferdyn wrote: > I did the following: > > > ir-ctl -c 38400 -r -d /dev/lirc1 > warning: /dev/lirc1: does not support setting send carrier > +4539 -4387 +625 -1624 +622 -1627 +615 -1617 +626 -499 +633 -495 +629 -499 > +629 -500 +629 -499 +630 -1631 +624 -1611 +624 -1617 +626 -498 +629 -497 > +629 -500 +646 -483 +631 -498 +628 -498 +628 -1618 +628 -498 +629 -499 +628 > -499 +627 -504 +616 -522 +618 -497 +628 -1618 +626 -508 +621 -1628 +628 > -1606 +614 -1648 +599 -1643 +595 -1649 +586 -1640 +605 -20639 > +4516 -4412 +599 -1641 +603 -1648 +597 -1647 +597 -522 +628 -500 +607 -521 > +606 -522 +605 -522 +608 -1641 +602 -1656 +596 -1643 +605 -511 +607 -519 > +605 -522 +607 -522 +606 -523 +621 -507 +606 -1645 +609 -513 +605 -522 +606 > -522 +606 -536 +602 -519 +609 -511 +611 -1639 +601 -522 +605 -1664 +582 > -1642 +604 -1644 +610 -1642 +600 -1635 +603 -1641 +603 -22905 The first number should be near +9000. The reason the TV is not responding is because garbage is being sent. > +4521 -4404 +605 -1636 +611 -1632 +616 -1637 +609 -508 +636 -490 +656 -474 > +640 -487 +615 -511 +643 -1605 +641 -1617 +637 -1608 +625 -486 +611 -515 > +641 -486 +643 -485 +641 -486 +642 -489 +639 -1620 +624 -485 +644 -485 +643 > -486 +641 -486 +642 -495 +604 -515 +643 -1609 +650 -478 +634 -1604 +611 > -1636 +637 -1606 +638 -1616 +653 -1592 +628 -1612 +632 -24149 > +4546 -4387 +632 -1603 +643 -1604 +641 -1606 +636 -486 +641 -495 +635 -485 > +641 -488 +641 -487 +643 -1608 +638 -1604 +639 -1629 +632 -479 +640 -487 > +667 -457 +634 -485 +641 -489 +650 -477 +632 -1614 +648 -489 +648 -469 +638 > -487 +640 -487 +636 -493 +637 -490 +640 -1608 +638 -492 +645 -1600 +635 > -1609 +635 -1610 +634 -1611 +635 -1621 +639 -1607 +621 -26450 > > > > +4484 -4439 +575 -1666 +579 -1663 +581 -1662 +582 -545 +582 -544 +583 -545 > +589 -539 +583 -546 +605 -1640 +581 -1665 +580 -1663 +607 -520 +594 -540 > +586 -548 +595 -521 +582 -544 +583 -544 +583 -1665 +582 -544 +584 -543 +623 > -506 +607 -520 +607 -519 +609 -530 +597 -1639 +606 -519 +624 -1631 +608 > -1630 +606 -1638 +608 -1638 +607 -1639 +606 -1653 +600 -28186 > +4516 -4412 +603 -1637 +608 -1639 +604 -1637 +608 -518 +610 -517 +610 -518 > +634 -502 +612 -507 +615 -1644 +603 -1641 +595 -1636 +618 -513 +610 -510 > +610 -517 +628 -502 +636 -492 +610 -517 +612 -1639 +607 -516 +625 -503 +612 > -516 +610 -517 +618 -511 +610 -517 +636 -1614 +631 -492 +612 -1636 +610 > -1636 +623 -1636 +607 -1634 +623 -1609 +611 -1642 +606 -20470 > > It is during reading and - warning: /dev/lirc1: does not support setting > send carrier - is it hardware problem? That's a software problem. I don't understand this; the gpio-ir-tx driver has supported setting the tx carrier since the earliest version. Could you please send the dmesg please? I'd like to see the kernel version and the IR messages. > Each time I see different digits. > > > I am using Raspbery Pi 1. Should I use newer hardware? Generating the carrier wave on Raspberry Pi 1 in software might not work. I would recommend either faster hardware or using the pwm-ir-tx driver. Still the not being able to set the carrier needs an explanation. > cat /etc/os-release > PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)" > NAME="Raspbian GNU/Linux" > VERSION_ID="12" > VERSION="12 (bookworm)" > VERSION_CODENAME=bookworm > ID=raspbian > ID_LIKE=debian > HOME_URL="http://www.raspbian.org/" > SUPPORT_URL="http://www.raspbian.org/RaspbianForums" > BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" > > > ir-ctl -c 38400 -screative.ir > and in other window ir-ctl -c 38400 -r -d /dev/lirc1 > Each time I execute ir-ctl -c 38400 -screative.ir I receive different digits > - but not series only one line like: > > > +43 -20874 > > content of creative.ir is: > > cat creative.ir +9056 -4514 +572 -547 +593 -538 +611 -522 +610 > -522 +610 -522 +587 -1694 +586 -538 +607 -520 +609 -1658 +583 -1685 +585 > -1682 +605 -1667 +605 -1660 +606 -523 +614 -1655 +623 -1646 +614 -1653 +609 > -520 +611 -522 +611 -1659 +608 -518 +615 -521 +611 -519 +626 -511 +615 -515 > +612 -1657 +635 -1633 +610 -520 +613 -1657 +620 -1650 +608 -1657 +610 -1657 > +610 -32641 > +9082 -2236 +609 -31152 > +9051 -2262 +607 -12929 There is definitely a problem there. The IR looks like valid nec or necx with some repeats, looks good. There should be no issue sending and receiving that. Sean |
|
From: Mariusz F. <mf...@fa...> - 2025-09-13 16:18:00
|
I did the following: ir-ctl -c 38400 -r -d /dev/lirc1 warning: /dev/lirc1: does not support setting send carrier +4539 -4387 +625 -1624 +622 -1627 +615 -1617 +626 -499 +633 -495 +629 -499 +629 -500 +629 -499 +630 -1631 +624 -1611 +624 -1617 +626 -498 +629 -497 +629 -500 +646 -483 +631 -498 +628 -498 +628 -1618 +628 -498 +629 -499 +628 -499 +627 -504 +616 -522 +618 -497 +628 -1618 +626 -508 +621 -1628 +628 -1606 +614 -1648 +599 -1643 +595 -1649 +586 -1640 +605 -20639 +4516 -4412 +599 -1641 +603 -1648 +597 -1647 +597 -522 +628 -500 +607 -521 +606 -522 +605 -522 +608 -1641 +602 -1656 +596 -1643 +605 -511 +607 -519 +605 -522 +607 -522 +606 -523 +621 -507 +606 -1645 +609 -513 +605 -522 +606 -522 +606 -536 +602 -519 +609 -511 +611 -1639 +601 -522 +605 -1664 +582 -1642 +604 -1644 +610 -1642 +600 -1635 +603 -1641 +603 -22905 +4521 -4404 +605 -1636 +611 -1632 +616 -1637 +609 -508 +636 -490 +656 -474 +640 -487 +615 -511 +643 -1605 +641 -1617 +637 -1608 +625 -486 +611 -515 +641 -486 +643 -485 +641 -486 +642 -489 +639 -1620 +624 -485 +644 -485 +643 -486 +641 -486 +642 -495 +604 -515 +643 -1609 +650 -478 +634 -1604 +611 -1636 +637 -1606 +638 -1616 +653 -1592 +628 -1612 +632 -24149 +4546 -4387 +632 -1603 +643 -1604 +641 -1606 +636 -486 +641 -495 +635 -485 +641 -488 +641 -487 +643 -1608 +638 -1604 +639 -1629 +632 -479 +640 -487 +667 -457 +634 -485 +641 -489 +650 -477 +632 -1614 +648 -489 +648 -469 +638 -487 +640 -487 +636 -493 +637 -490 +640 -1608 +638 -492 +645 -1600 +635 -1609 +635 -1610 +634 -1611 +635 -1621 +639 -1607 +621 -26450 +4484 -4439 +575 -1666 +579 -1663 +581 -1662 +582 -545 +582 -544 +583 -545 +589 -539 +583 -546 +605 -1640 +581 -1665 +580 -1663 +607 -520 +594 -540 +586 -548 +595 -521 +582 -544 +583 -544 +583 -1665 +582 -544 +584 -543 +623 -506 +607 -520 +607 -519 +609 -530 +597 -1639 +606 -519 +624 -1631 +608 -1630 +606 -1638 +608 -1638 +607 -1639 +606 -1653 +600 -28186 +4516 -4412 +603 -1637 +608 -1639 +604 -1637 +608 -518 +610 -517 +610 -518 +634 -502 +612 -507 +615 -1644 +603 -1641 +595 -1636 +618 -513 +610 -510 +610 -517 +628 -502 +636 -492 +610 -517 +612 -1639 +607 -516 +625 -503 +612 -516 +610 -517 +618 -511 +610 -517 +636 -1614 +631 -492 +612 -1636 +610 -1636 +623 -1636 +607 -1634 +623 -1609 +611 -1642 +606 -20470 It is during reading and - warning: /dev/lirc1: does not support setting send carrier - is it hardware problem? Each time I see different digits. I am using Raspbery Pi 1. Should I use newer hardware? cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)" NAME="Raspbian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" ir-ctl -c 38400 -screative.ir and in other window ir-ctl -c 38400 -r -d /dev/lirc1 Each time I execute ir-ctl -c 38400 -screative.ir I receive different digits - but not series only one line like: +43 -20874 content of creative.ir is: cat creative.ir +9056 -4514 +572 -547 +593 -538 +611 -522 +610 -522 +610 -522 +587 -1694 +586 -538 +607 -520 +609 -1658 +583 -1685 +585 -1682 +605 -1667 +605 -1660 +606 -523 +614 -1655 +623 -1646 +614 -1653 +609 -520 +611 -522 +611 -1659 +608 -518 +615 -521 +611 -519 +626 -511 +615 -515 +612 -1657 +635 -1633 +610 -520 +613 -1657 +620 -1650 +608 -1657 +610 -1657 +610 -32641 +9082 -2236 +609 -31152 +9051 -2262 +607 -12929 Mariusz Ferdyn On 9/13/2025 5:58 PM, Sean Young wrote: > On Sat, Sep 13, 2025 at 11:34:59AM +0200, Mariusz Ferdyn wrote: >> I am using: >> >> IR Receiver + Wire - Iduino SE027 >> >> IR 940nm Transmitter + Wire - Iduino SE028 >> >> >> I can record: >> >> ir-ctl -rtv.ir -d /dev/lirc1 >> >> cat tv.ir >> +4541 -4401 +603 -1622 +623 -1631 +617 -1621 +629 -494 +623 -505 +623 -506 >> +622 -505 +624 -504 +627 -1620 +621 -1623 +629 -1630 +606 -507 +632 -495 >> +621 -504 +623 -505 +625 -504 +622 -505 +624 -1639 +634 -480 +622 -503 +649 >> -481 +622 -506 +621 -506 +623 -505 +649 -1601 +624 -500 +649 -1600 +617 >> -1625 +621 -1627 +619 -1623 +632 -1619 +613 -1623 +646 -24922 >> +4519 -4404 +615 -1624 +618 -1626 +644 -1601 +647 -479 +648 -481 +654 -476 >> +621 -504 +624 -505 +647 -1600 +647 -1599 +622 -1624 +627 -510 +646 -480 >> +645 -491 +606 -508 +620 -502 +649 -477 +626 -1625 +627 -493 +652 -481 +642 >> -486 +630 -496 +645 -475 +622 -503 +622 -1626 +645 -482 +623 -1635 +634 >> -1600 +618 -1625 +620 -1625 +640 -1606 +631 -1617 +647 -27229 >> +4532 -4394 +641 -1607 +610 -1626 +622 -1626 +643 -481 +647 -480 +621 -514 >> +646 -474 +647 -490 +642 -1598 +642 -1600 +643 -1601 +644 -481 +647 -483 >> +657 -470 +644 -482 +648 -482 +644 -482 +647 -1601 +619 -507 +647 -481 +648 >> -479 +627 -502 +643 -483 +644 -485 +643 -1603 +646 -482 +645 -1601 +642 >> -1613 +616 -1620 +645 -1599 +642 -1604 +642 -1603 +655 -19502 >> +4556 -4370 +641 -1605 +642 -1605 +638 -1602 +643 -484 +644 -485 +645 -484 >> +642 -484 +644 -483 +643 -1614 +639 -1596 +639 -1607 +639 -484 +643 -485 >> +643 -484 +644 -485 +656 -472 +643 -487 +642 -1603 +647 -488 +635 -483 +644 >> -483 +642 -485 +643 -488 +652 -474 +643 -1604 +642 -484 +642 -1605 +641 >> -1607 +640 -1615 +636 -1594 +641 -1623 +626 -1601 +640 -21768 >> >> >> >> but when I execute: >> >> ir-ctl -stv.ir >> warning: tv.ir:4: trailing space ignored >> >> >> I see that IR is working (Iduino SE028 has LED and using my mobile camera), >> but TV is not switching ON. > That's odd. > > 1) The first thing that springs to mind is that you're not > setting the transmit carrier. This is necx so you could try: > > ir-ctl -c 38400 -stv.ir > > Note this should be almost equivalent: > > ir-ctl -S necx:0x70702 > > This does not repeat it for four times, but this does: > > ir-ctl -S necx:0x70702 -S necx:0x70702 -S necx:0x70702 -S necx:0x70702 > > 2) What raspberry pi OS and hardware are you using? > > 3) Since you're using gpio-ir-tx you need a raspberry pi which isn't ancient. > Beter to use pwm-ir-tx on a recent kernel. > > 4) Can you do ir-ctl -r in one window and ir-ctl -s in another? Is the output > what you expect? > >> cat /etc/lirc/lirc_options.conf >> # These are the default options to lircd, if installed as >> # /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8) >> # manpages for info on the different options. >> # >> # Some tools including mode2 and irw uses values such as >> # driver, device, plugindir and loglevel as fallback values >> # in not defined elsewhere. >> >> [lircd] >> nodaemon = False >> driver = devinput >> device = auto >> output = /var/run/lirc/lircd >> pidfile = /var/run/lirc/lircd.pid >> plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins >> permission = 666 >> allow-simulate = No >> repeat-max = 600 >> #effective-user = >> #listen = [address:]port >> #connect = host[:port] >> #loglevel = 6 >> #release = true >> #release_suffix = _EVUP >> #logfile = ... >> #driver-options = ... >> >> [lircmd] >> uinput = False >> nodaemon = False >> >> # [modinit] >> # code = /usr/sbin/modprobe lirc_serial >> # code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput >> # code2 = ... >> >> >> # [lircd-uinput] >> # add-release-events = False >> # release-timeout = 200 >> # release-suffix = _EVUP >> >> driver = default >> device = /dev/lirc0 >> >> driver = default >> device = /dev/lirc0 > The lirc daemon is not used at all in your way of doing this. Which makes > it off-topic for this list. > > > Sean > |