teet
October 14th, 2007, 12:01 AM
I have a RS232 IR Blaster from http://www.irblaster.info/
I had it working perfectly with mythtv in ubuntu 7.04 feisty fawn. I recently upgraded my computer to ubuntu 7.10 gutsy gibbon and I can't get the ir blaster to work!
I've tried just about everything I can think of, but I can't get it to work.
I ONLY use lirc for the ir blaster...there is no remote control on this system.
Whenever I do a 'sudo dpkg-reconfigure lirc' I get a list of "remotes" to choose from. I choose 'Home-brew (16x50 UART compatible serial port)'. Then I copy over my lircd.conf file (for a Motorola DCT2000 digital cable box...it's the same file I used in feisty when the ir blaster worked) to /etc/lirc/lircd.conf and do a 'sudo /etc/init.d/lirc restart'. I then get the following:
Stopping lirc daemon: lircmd lircd.
################################################## ###
## I couldn't load the required kernel modules ##
## You should install lirc-modules-source to build ##
## kernel support for your hardware. ##
################################################## ###
## If this message is not appropriate you may set ##
## LOAD_MODULES=false in /etc/lirc/hardware.conf ##
################################################## ###
Starting lirc daemon:.
I remember that the LIRC guide for feisty involves reconfiguring the lirc-modules-source, so I try to follow the feisty guide for this part. So I do a:
sudo apt-get install lirc lirc-modules-source module-assistant
sudo dpkg-reconfigure lirc-modules-source
I choose Serial, Other, No (to is this device a transmitter?), Yes (to should the signal be generated by software), and then input the correct irq junk (I double checked it in my bios...it's right). I don't automatically build the modules, but I do 'Install the package maintainer's version'. I then build the modules:
sudo m-a update,prepare
sudo rm /usr/src/lirc*deb
sudo m-a clean lirc
sudo m-a a-i -f lirc
sudo depmod -a
There are no apparent errors. So I do a 'sudo /etc/init.d/lirc restart'. The error message about lirc-modules-source is gone now (woo hoo!). The output of 'dmesg | grep -i lirc' is:
[ 88.082356] lirc_dev: disagrees about version of symbol struct_module
[ 88.098363] lirc_dev: disagrees about version of symbol struct_module
[ 88.430795] lirc_serial: disagrees about version of symbol struct_module
[ 508.852104] lirc_dev: disagrees about version of symbol struct_module
[ 508.866592] lirc_dev: disagrees about version of symbol struct_module
[ 508.868048] lirc_serial: disagrees about version of symbol struct_module
[ 850.477639] lirc_dev: disagrees about version of symbol struct_module
[ 850.493500] lirc_dev: disagrees about version of symbol struct_module
[ 850.494945] lirc_serial: disagrees about version of symbol struct_module
[ 1577.808349] lirc_dev: IR Remote Control driver registered, at major 61
[ 1577.823079] lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
[ 1578.329344] lirc_serial: auto-detected active high receiver
[ 1578.329353] lirc_dev: lirc_register_plugin: sample_rate: 0
It looks like the modules loaded properly the last time (I assume all of the earlier error messages were from before I rebuilt the modules).
I'm using the same channel changing script as before and myth is setup to use it (so that shouldn't be the problem. For completeness, the script is listed below:
#!/usr/bin/perl
# make sure to set this string to
# the corresponding remote in /etc/lircd.conf
$remote_name = "DCT2000";
sub change_channel {
my($channel_digit) = @_;
system ("irsend SEND_ONCE $remote_name $channel_digit");
sleep 1;
}
$channel=$ARGV[0];
sleep 1;
if (length($channel) > 2) {
change_channel(substr($channel,0,1));
change_channel(substr($channel,1,1));
change_channel(substr($channel,2,1));
} elsif (length($channel) > 1) {
change_channel(substr($channel,0,1));
change_channel(substr($channel,1,1));
} else {
change_channel(substr($channel,0,1));
}
system ("irsend SEND_ONCE $remote_name ENTER");
Here is the content of my /etc/lirc/hardware.conf:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Home-brew (16x50 UART compatible serial port)"
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER=""
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE=""
MODULES="lirc_dev lirc_serial"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
Here is the content of my /etc/lirc/lircd.conf:
#
# this config file was automatically generated
# using lirc-0.6.6(serial) on Fri Mar 28 22:46:44 2003
#
# contributed by shane bradley
#
#
#
# brand: Motorola
# model no. of remote control: DCT2000
# devices being controlled by this remote:
#
begin remote
name DCT2000
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9036 4424
one 556 2185
zero 556 4424
ptrail 556
gap 100025
toggle_bit 0
begin codes
HELP 0x000000000000B3F2
POWER 0x000000000000AFF9
MUTE 0x0000000000000FF7
PAGE+ 0x000000000000A3F3
PAGE- 0x00000000000023FB
LOCK 0x00000000000097F6
EXIT 0x000000000000B7F4
AUP 0x000000000000D3F6
ADOWN 0x00000000000053FE
ALEFT 0x00000000000093F1
ARIGHT 0x00000000000013F9
OK 0x00000000000077F8
GUIDE 0x000000000000F3F4
MENU 0x00000000000067F9
VOL+ 0x0000000000004FF3
VOL- 0x0000000000008FFB
LAST 0x00000000000037FC
FAV 0x00000000000057FA
CH+ 0x0000000000002FF5
CH- 0x000000000000CFFD
A 0x00000000000017FE
B 0x0000000000001BF1
C 0x000000000000EBF9
1 0x0000000000007FF0
2 0x000000000000BFF8
3 0x0000000000003FF4
4 0x000000000000DFFC
5 0x0000000000005FF2
6 0x0000000000009FFA
7 0x0000000000001FF6
8 0x000000000000EFFE
9 0x0000000000006FF1
0 0x000000000000FFFF
BYPASS 0x000000000000D7F2
MUSIC 0x000000000000F7F0
STOP 0x00000000000063FD
PAUSE 0x00000000000007FF
PLAY 0x000000000000E3F5
REW 0x00000000000087F7
REC 0x00000000000073FC
FFWD 0x00000000000047FB
end codes
end remote
Any help would be appreciated :) I know some other have been having some problems with this particular ir blaster as well.
-teet
Edit: After a reboot, the 'dmesg | grep -i lirc' is
[ 67.430114] lirc_dev: IR Remote Control driver registered, at major 61
[ 67.992319] lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
[ 68.494428] lirc_serial: auto-detected active high receiver
[ 68.494438] lirc_dev: lirc_register_plugin: sample_rate: 0
Edit2: Now the mythbackend output says the following when I first load it up (it's trying to change the channel to channel 27)
irsend: command failed: SEND_ONCE DCT2000 2
irsend: hardware does not support sending
2007-10-13 23:12:14.833 ret_pid(0) child(10229) status(0x0)
irsend: command failed: SEND_ONCE DCT2000 7
irsend: hardware does not support sending
2007-10-13 23:12:15.833 ret_pid(0) child(10229) status(0x0)
irsend: command failed: SEND_ONCE DCT2000 ENTER
irsend: hardware does not support sending
Edit3: In the dpkg-reconfigure lirc-modules-source screen I went back and chose the following options: Serial, Other, Yes, Yes. I also corrected the channel-change script (my lircd.conf has an OK button instead of an ENTER button). Now my mythbackend output says the following (but it still doesn't change the channel) 2007-10-13 23:20:02.625 ret_pid(0) child(9185) status(0x0)
2007-10-13 23:20:03.695 ret_pid(0) child(9185) status(0x0)
2007-10-13 23:20:04.764 ret_pid(0) child(9185) status(0x0)
2007-10-13 23:20:05.765 ret_pid(9185) child(9185) status(0x0)
2007-10-13 23:20:05.765 External Tuning program exited with no error
I had it working perfectly with mythtv in ubuntu 7.04 feisty fawn. I recently upgraded my computer to ubuntu 7.10 gutsy gibbon and I can't get the ir blaster to work!
I've tried just about everything I can think of, but I can't get it to work.
I ONLY use lirc for the ir blaster...there is no remote control on this system.
Whenever I do a 'sudo dpkg-reconfigure lirc' I get a list of "remotes" to choose from. I choose 'Home-brew (16x50 UART compatible serial port)'. Then I copy over my lircd.conf file (for a Motorola DCT2000 digital cable box...it's the same file I used in feisty when the ir blaster worked) to /etc/lirc/lircd.conf and do a 'sudo /etc/init.d/lirc restart'. I then get the following:
Stopping lirc daemon: lircmd lircd.
################################################## ###
## I couldn't load the required kernel modules ##
## You should install lirc-modules-source to build ##
## kernel support for your hardware. ##
################################################## ###
## If this message is not appropriate you may set ##
## LOAD_MODULES=false in /etc/lirc/hardware.conf ##
################################################## ###
Starting lirc daemon:.
I remember that the LIRC guide for feisty involves reconfiguring the lirc-modules-source, so I try to follow the feisty guide for this part. So I do a:
sudo apt-get install lirc lirc-modules-source module-assistant
sudo dpkg-reconfigure lirc-modules-source
I choose Serial, Other, No (to is this device a transmitter?), Yes (to should the signal be generated by software), and then input the correct irq junk (I double checked it in my bios...it's right). I don't automatically build the modules, but I do 'Install the package maintainer's version'. I then build the modules:
sudo m-a update,prepare
sudo rm /usr/src/lirc*deb
sudo m-a clean lirc
sudo m-a a-i -f lirc
sudo depmod -a
There are no apparent errors. So I do a 'sudo /etc/init.d/lirc restart'. The error message about lirc-modules-source is gone now (woo hoo!). The output of 'dmesg | grep -i lirc' is:
[ 88.082356] lirc_dev: disagrees about version of symbol struct_module
[ 88.098363] lirc_dev: disagrees about version of symbol struct_module
[ 88.430795] lirc_serial: disagrees about version of symbol struct_module
[ 508.852104] lirc_dev: disagrees about version of symbol struct_module
[ 508.866592] lirc_dev: disagrees about version of symbol struct_module
[ 508.868048] lirc_serial: disagrees about version of symbol struct_module
[ 850.477639] lirc_dev: disagrees about version of symbol struct_module
[ 850.493500] lirc_dev: disagrees about version of symbol struct_module
[ 850.494945] lirc_serial: disagrees about version of symbol struct_module
[ 1577.808349] lirc_dev: IR Remote Control driver registered, at major 61
[ 1577.823079] lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
[ 1578.329344] lirc_serial: auto-detected active high receiver
[ 1578.329353] lirc_dev: lirc_register_plugin: sample_rate: 0
It looks like the modules loaded properly the last time (I assume all of the earlier error messages were from before I rebuilt the modules).
I'm using the same channel changing script as before and myth is setup to use it (so that shouldn't be the problem. For completeness, the script is listed below:
#!/usr/bin/perl
# make sure to set this string to
# the corresponding remote in /etc/lircd.conf
$remote_name = "DCT2000";
sub change_channel {
my($channel_digit) = @_;
system ("irsend SEND_ONCE $remote_name $channel_digit");
sleep 1;
}
$channel=$ARGV[0];
sleep 1;
if (length($channel) > 2) {
change_channel(substr($channel,0,1));
change_channel(substr($channel,1,1));
change_channel(substr($channel,2,1));
} elsif (length($channel) > 1) {
change_channel(substr($channel,0,1));
change_channel(substr($channel,1,1));
} else {
change_channel(substr($channel,0,1));
}
system ("irsend SEND_ONCE $remote_name ENTER");
Here is the content of my /etc/lirc/hardware.conf:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Home-brew (16x50 UART compatible serial port)"
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER=""
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE=""
MODULES="lirc_dev lirc_serial"
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
Here is the content of my /etc/lirc/lircd.conf:
#
# this config file was automatically generated
# using lirc-0.6.6(serial) on Fri Mar 28 22:46:44 2003
#
# contributed by shane bradley
#
#
#
# brand: Motorola
# model no. of remote control: DCT2000
# devices being controlled by this remote:
#
begin remote
name DCT2000
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9036 4424
one 556 2185
zero 556 4424
ptrail 556
gap 100025
toggle_bit 0
begin codes
HELP 0x000000000000B3F2
POWER 0x000000000000AFF9
MUTE 0x0000000000000FF7
PAGE+ 0x000000000000A3F3
PAGE- 0x00000000000023FB
LOCK 0x00000000000097F6
EXIT 0x000000000000B7F4
AUP 0x000000000000D3F6
ADOWN 0x00000000000053FE
ALEFT 0x00000000000093F1
ARIGHT 0x00000000000013F9
OK 0x00000000000077F8
GUIDE 0x000000000000F3F4
MENU 0x00000000000067F9
VOL+ 0x0000000000004FF3
VOL- 0x0000000000008FFB
LAST 0x00000000000037FC
FAV 0x00000000000057FA
CH+ 0x0000000000002FF5
CH- 0x000000000000CFFD
A 0x00000000000017FE
B 0x0000000000001BF1
C 0x000000000000EBF9
1 0x0000000000007FF0
2 0x000000000000BFF8
3 0x0000000000003FF4
4 0x000000000000DFFC
5 0x0000000000005FF2
6 0x0000000000009FFA
7 0x0000000000001FF6
8 0x000000000000EFFE
9 0x0000000000006FF1
0 0x000000000000FFFF
BYPASS 0x000000000000D7F2
MUSIC 0x000000000000F7F0
STOP 0x00000000000063FD
PAUSE 0x00000000000007FF
PLAY 0x000000000000E3F5
REW 0x00000000000087F7
REC 0x00000000000073FC
FFWD 0x00000000000047FB
end codes
end remote
Any help would be appreciated :) I know some other have been having some problems with this particular ir blaster as well.
-teet
Edit: After a reboot, the 'dmesg | grep -i lirc' is
[ 67.430114] lirc_dev: IR Remote Control driver registered, at major 61
[ 67.992319] lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
[ 68.494428] lirc_serial: auto-detected active high receiver
[ 68.494438] lirc_dev: lirc_register_plugin: sample_rate: 0
Edit2: Now the mythbackend output says the following when I first load it up (it's trying to change the channel to channel 27)
irsend: command failed: SEND_ONCE DCT2000 2
irsend: hardware does not support sending
2007-10-13 23:12:14.833 ret_pid(0) child(10229) status(0x0)
irsend: command failed: SEND_ONCE DCT2000 7
irsend: hardware does not support sending
2007-10-13 23:12:15.833 ret_pid(0) child(10229) status(0x0)
irsend: command failed: SEND_ONCE DCT2000 ENTER
irsend: hardware does not support sending
Edit3: In the dpkg-reconfigure lirc-modules-source screen I went back and chose the following options: Serial, Other, Yes, Yes. I also corrected the channel-change script (my lircd.conf has an OK button instead of an ENTER button). Now my mythbackend output says the following (but it still doesn't change the channel) 2007-10-13 23:20:02.625 ret_pid(0) child(9185) status(0x0)
2007-10-13 23:20:03.695 ret_pid(0) child(9185) status(0x0)
2007-10-13 23:20:04.764 ret_pid(0) child(9185) status(0x0)
2007-10-13 23:20:05.765 ret_pid(9185) child(9185) status(0x0)
2007-10-13 23:20:05.765 External Tuning program exited with no error