Issues relating to installation of your USB-UIRT device.

Moderator: jrhees

Postby mrmailer » Thu Oct 12, 2006 5:05 am

Ok, I tried lmhelper in XP, and....

It seems to work when I learn then transmit. i wonder if i need to
collect anything from those transmissions(i see some ir code pronto
format), but can that be used with lirc?

for instance, channel up is

0000 0048 0000 0011 0017 0164 0017 00A2 0017 00A2 0017 00A2 0017 0062
0017 00A2 0017 0062 0017 00A2 0017 00A2 0017 00A2 0017 00A2 0017 00A2
0017 00A2 0017 00A2 0017 00A2 0017 00A2 0017 00A1

what do i need to take from that and put in lircd.conf for up button?
Posts: 23
Joined: Fri Sep 29, 2006 3:30 am

What about using a pc remote with usb-uirt/lirc?

Postby mrmailer » Fri Oct 20, 2006 1:47 am

Looks like I had to use raw codes from irrecord instead of the old codes to get the remote working.
Last edited by mrmailer on Sun Oct 29, 2006 5:34 am, edited 1 time in total.
Posts: 23
Joined: Fri Sep 29, 2006 3:30 am

Postby KShots » Sun Oct 29, 2006 5:21 am

Following the instructions, it all went wrong at the beginning (after compiling and modprobing the kernel modules:

I plugged the device in after loading the requested kernel modules:
Code: Select all
Oct 29 00:38:24 basilisk usb 2-5.1: new full speed USB device using ohci_hcd and address 22
Oct 29 00:38:24 basilisk usb 2-5.1: configuration #1 chosen from 1 choice
Oct 29 00:38:24 basilisk ftdi_sio 2-5.1:1.0: FTDI USB Serial Device converter detected
Oct 29 00:38:24 basilisk drivers/usb/serial/ftdi_sio.c: Detected FT232BM
Oct 29 00:38:24 basilisk usb 2-5.1: FTDI USB Serial Device converter now attached to ttyUSB0
Nowhere did I see anything mention anything about a USB-UIRT. Somewhat disturbing, but I moved on...

All went reasonable well until the "configure" step for lirc:
Code: Select all
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for correct version... no
configure: error:

*** [Gentoo] sanity check failed! ***
*** libtool.m4 and have a version mismatch! ***
*** (libtool.m4 = 1.5.22, = 1.4.3) ***

Please run:

  libtoolize --copy --force

if appropriate, please contact the maintainer of this
package (or your distribution) for help.

make: *** [config.status] Error 1
... and so I did what it requested and it seemed to get through the configure. Next I had a problem with "make":
Code: Select all
hw_uirt2usb_raw.c:55: error: static declaration of 'debug' follows non-static declaration
lircd.h:29: error: previous declaration of 'debug' was here
hw_uirt2usb_raw.c: In function 'uirt2usb_send_mode2_raw':
hw_uirt2usb_raw.c:379: warning: too few arguments for format
hw_uirt2usb_raw.c: In function 'uirt2usb_send_mode2_rawusb':
hw_uirt2usb_raw.c:419: warning: too few arguments for format
make[2]: *** [hw_uirt2usb_raw.o] Error 1
make[2]: Leaving directory `/home/rich/tmp/lirc-0.7.1/daemons'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/rich/tmp/lirc-0.7.1'
make: *** [all] Error 2
I suspect I can fix this, but figured I'd post the unaltered problem report here before touching it. Some (possibly) useful information (An emerge --info under gentoo):
Code: Select all
Portage 2.1.2_pre3-r9 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 x86_64)
System uname: 2.6.17-gentoo-r8 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
Gentoo Base System version 1.12.5
Last Sync: Fri, 27 Oct 2006 19:00:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
CFLAGS="-O2 -pipe -march=k8"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=k8"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="amd64 X a52 aac aalib acpi aim alsa arts audiofile bash-completion berkdb bitmap-fonts bonobo bzip2 cdb cdparanoia cdr cli cracklib crypt cscope ctype cups curl curlwrappers db2 dbase dbm dbus dga dio directfb dlloader doc dri dts dv dvd dvdr dvdread eds elibc_glibc emboss encode ethereal examples fbcon ffmpeg fftw firefox flac foomaticdb fortran ftp gcc64 ggi gif gnome gnutls gpm gstreamer gtk gtk2 hal imagemagick imap imlib innodb input_devices_evdev input_devices_keyboard input_devices_mouse iodbc ipv6 isdnlog ivtv java joystick jpeg jpeg2k kde kernel_linux lcd libcaca libedit libg++ linguas_en lirc lirc_devices_uirt2_raw lua lzw lzw-tiff mad md5sum mikmod mmap mng mozilla mp3 mpeg mpi mssql mysql mysqli ncurses nls nocd nptl nsplugin odbc offensive ogg openal opengl pam pcre pdf perl physfs png postgres pppd python qt qt3 qt4 quicktime readline reflection samba sdl session sharedmem sndfile snmp speex spell spl sqlite ssl svg sysfs szip tcl tcltk tcpd tetex theora tidy tiff timidity tk transcode truetype truetype-fonts type1-fonts usb userland_GNU v4l vcd video_cards_nvidia videos vorbis wmf xine xinerama xml xorg xosd xpm xprint xv xvid zlib"

EDIT: Ok, I fixed this by removing the declaration of the debug variable in daemons/hw_uirt2usb_raw.c (It was also declared in irrecord and there was an extern that was confusing the compiler (and rightfully so). Probably not the correct solution, but I don't think it'll matter unless I get to the point where I can debug).

Now after doing a 'make install', I get the comforting message in my /var/log/messages:
Code: Select all
Oct 29 01:39:15 basilisk lircd-0.7.1[13635]: could not open config file '/etc/lircd.conf'
Oct 29 01:39:15 basilisk lircd-0.7.1[13635]: No such file or directory
Oct 29 01:39:15 basilisk lircd-0.7.1[13636]: lircd(usb-uirt2_raw) ready
... which looks like it should. I'm about to test irrecord now...

EDIT2: No dice - irrecord doesn't read any of my remotes.
The Great Pop-Tart GAWD of Mt. Kellogs
Posts: 12
Joined: Sun Oct 29, 2006 5:07 am
Location: Everywhere

Postby MM » Mon Oct 30, 2006 5:58 pm

irrecord -l test.conf

That's why the patch is not integrated. (learnmode)

Be prepared for the irsend twice bug !
Posts: 13
Joined: Sat Sep 30, 2006 6:10 pm

Postby KShots » Mon Oct 30, 2006 8:41 pm

MM wrote:irrecord -l test.conf

That's why the patch is not integrated. (learnmode)

Be prepared for the irsend twice bug !
That's the command I used. I tried a total of 5 different remotes (and I have the 56 khz addition), so the thing just isn't working.

Actually, if I can become convinced that this thing even works, I may be interested in fixing the irsend 2x bug. I've reverse-engineered simple devices before (libcdorganizer developer) and I don't have much fear of lirc (again, if I can be convinced that the thing even has a starting point).
The Great Pop-Tart GAWD of Mt. Kellogs
Posts: 12
Joined: Sun Oct 29, 2006 5:07 am
Location: Everywhere

Postby MM » Fri Nov 10, 2006 6:15 pm

Posts: 13
Joined: Sat Sep 30, 2006 6:10 pm

Integrated patch for usb-uirt and lirc - worth doing?

Postby garybilkus » Sat Nov 18, 2006 9:27 am

Thanks to all the posts here, and the previous work by others, I have my usb-uirt working under linux using 0.7.1 patched in raw mode.
I can both send and receive, but only with certain remotes. Some remotes I have don't appear to want to learn in raw mode, and I can't get learning in non-raw mode working at all.

Meanwhile, I've seen all the posts here and on lirc mailing list archives regarding the possibility of including the usb-uirt as a fully integrated patch into the official source if/when it's cleared up.

I'd be interested in doing this work, but since it's likely to take a while ( as I have a busy life and a demanding day job ), I wanted to gauge the level of interest ( I can achieve my own selfish aims much more easily by just hacking the source unmercilessly )

Ideally, I'd like to combine raw and non-raw modes into a single operating mode similar to what the USB-UIRT does under Windows, i.e. for transmit, raw data is used ( as it has to be ) but for receive, the predigested 6 byte code is used as the basis of a match.

This however will require a more extensive patch to the source tree, and again I'm not sure if it's worth it.

Any comments welcome.

I also have a number of technical queries which might best be answered in an lirc forum, but which I'm posting here in case anyone
Posts: 5
Joined: Sat Nov 18, 2006 9:13 am

Postby mrmailer » Sat Nov 18, 2006 7:34 pm

I am interested, however, I do not think chirstoph will implement usb-uirt patch into cvs, because he belives uirt2_raw is close enough.

you should email him,, and he will explain what is necessary.
Posts: 23
Joined: Fri Sep 29, 2006 3:30 am

Postby abreuma » Fri Mar 09, 2007 1:33 am

Has anyone got their USB-UIRT to work under Fedora Core 6? I'm trying to follow Jarad Wilson's MythTV How-To at

and he doesn't cover this. This thread is interesting but I haven't seen my answer yet. I'm running lirc 0.8.2, which should have USB-UIRT support in it.
Posts: 2
Joined: Fri Mar 09, 2007 1:26 am

Postby mrmailer » Fri Mar 09, 2007 3:53 am

yes, mine works fine

should contain
# Options to lircd
LIRCD_OPTIONS="-H uirt2_raw -d /dev/ttyUSB0"
Posts: 23
Joined: Fri Sep 29, 2006 3:30 am

Postby abreuma » Sat Mar 10, 2007 3:33 am

That didn't seem to help me. Here's what I did before making your change:

Per the Jarod Wilson MythTV how-to I did this:

# yum -y install lirc-kmdl-$KVER
# yum -y install lirc

I edited /etc/modprobe.conf to add this line, which was an educated guess:

alias char-major-61 lirc_usb-uirt2_raw

I picked up the "lirc_usb-uirt2_raw" by googling but have no idea if it's correct.

To get the drivers automatically loaded at boot time I did this:

# cd /etc/sysconfig/modules/
# wget --no-check-certificate ... rc.modules
# chmod +x lirc.modules

Next I tried to start lirc:

# /sbin/service lircd start

I didn't get any message at all. When I look in /var/log/messages I don't see anything about lirc. So I went ahead and tried to test it and got an error:

$ /usr/bin/irw
connect: No such file or directory

I rebooted and nothing seemed to change.

When I went searching for lirc modules I see these and don't see one that looks like it's for the USB-UIRT.


I may need to go to the lirc list for help. I suspect right now that the lirc stuff I got from may not have usb-uirt support or that I'm missing some things in the modprobe.conf file.

Posts: 2
Joined: Fri Mar 09, 2007 1:26 am

Issue compiling daemons/hw_uirt2usb_raw.c

Postby Bibhudendu Mohapatra » Tue Jul 27, 2010 6:55 pm

Is there a header file for hw_uirt2usb_raw.c? I don't see it on extracting lirc-0.7.1.tar.bz2.

I am getting the following compiler error:
hw_uirt2usb_raw.c:87: error: ‘LIRC_CAN_REC_LEARN’ undeclared here (not in a function)
hw_uirt2usb_raw.c:147: error: ‘LIRC_AUX_GET_FREQ’ undeclared (first use in this function)
hw_uirt2usb_raw.c:165: error: ‘LIRC_MODE_LEARN’ undeclared (first use in this function)
hw_uirt2usb_raw.c:250: error: ‘LIRC_MODE_LEARN’ undeclared (first use in this function)

Bibhudendu Mohapatra
Posts: 1
Joined: Tue Jul 27, 2010 6:48 pm

Postby rexrobinson » Tue Aug 24, 2010 7:38 am

I guess this video can help you out


Return to Installation

Who is online

Users browsing this forum: No registered users and 5 guests