Installation of Technisat SkyStar 2 DVB-S with serial remote into Mythbuntu 7.10
Wednesday, December 12th, 2007 by holdoway
There are a number of things that need to be configured correctly to get this remote working well with Mythbuntu. There are:
- Modifying the remote so that it sends discrete values for all keys.
- Installing lirc
- Configuring the remote
- Configuring lirc
- Configuring mythtv.
So, not the trivial task this niaive user expected to find! none of the steps are difficult, once you know what they are.
The remote
As delivered, the prog+/- and vol+/- keys send the same code as the 4 arrow keys, which I thought a bit of a con. Luckily there’s a pretty simple fix for this, requiring just a few seconds work with a soldering iron.
To split the case, remove the batteries, and then use a flat bladed screwdriver or knife blade and start at the bottom of the remote to split the top and bottom halves of the case.remove the pcb. Mine looks like this…
At the bottom end, you’ll see a single resistor, plugged in to JP1.
This needs to be unsoldered, and moved to JP2, which converts it from a TTS35AI remote into a 103TS103 remote.
Reassemble the remote and you’re done. Note that the 4 buttons at the bottom of the remote ( 1 with a tick on it, and 3 unmarked ones ) will now not work. A small price to pay.
Ok, the rest is all software, you’ll be glad to hear. Plug the serial dongle into your machine, and…
Install lirc
Making sure you are connected to the internet, use the following comand to install the IR support for linux:
sudo apt-get update
sudo apt-get install lirc lirc-modules-source module-assistant setserial
( I would also recommend an apt-get upgrade at this time, just to get the latest versions of everything )
Configuring the remote
The next thing you need to do is to make a map file of the codes that are sent. To to this, you need to run the irrecord program.
irrecord -d /dev/lirc0 TTS35AI
This is a really tedious process, where you both need to read the operating instructions very carefully and press loads of buttons. To speed up this process, here’s the result:
# Please make this file available to others # by sending it to # # this config file was automatically generated # using lirc-0.8.2(default) on Mon Dec 10 16:50:34 2007 # # This is the modded remote - resistor moved # This provides for different codes for the vol+/- and prog+/- # and the 4 arrow keys. # # contributed by: Steve Holdoway ( steve@greengecko.co.nz ) # # brand: TechniSat # model no. of remote control: TTS35AI # devices being controlled by this remote: SkyStar 2 # begin remote name TTS35AI bits 13 flags RC5|CONST_LENGTH eps 30 aeps 100 one 937 840 zero 937 840 plead 959 gap 113825 toggle_bit_mask 0x800 begin codes 1 0x1201 2 0x1202 3 0x1203 4 0x1204 5 0x1205 6 0x1206 7 0x1207 8 0x1208 9 0x1209 0 0x1200 MUTE 0x120D POWER 0x120C RED 0x022B GREEN 0x022C YELLOW 0x022D BLUE 0x022E UP 0x0210 DOWN 0x0211 LEFT 0x0215 RIGHT 0x0216 OK 0x0217 SFI 0x122F EXIT 0x1222 INFO 0x020F PROG+ 0x1220 PROG- 0x1221 TV/RADIO 0x0213 MENU 0x0212 VOL+ 0x1210 VOL- 0x1211 HELP 0x0200 TXT 0x123C STOP 0x1229 EXT 0x1238 end codes end remote
This file needs to be placed in the /usr/share/lirc/remotes/technisat directory, named TTS35AI, so you’ll need to
sudo cp TTS35AI /usr/share/lirc/remotes/technisat
to place it there.
Configuring lirc
We need to ensure that the hardware configuration for lirc is set up to reflect what’s installed, and the bits needed to run it… this is stored in the file /etc/lirc/hardware.conf which needs to contain:
# /etc/lirc/hardware.conf # #Chosen Remote Control REMOTE="Technisat TTS35AI" # 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="/dev/lirc0" MODULES="lirc_dev lirc_serial" # Default configuration files for your hardware if any LIRCD_CONF="technisat/TTS35AI" LIRCMD_CONF=""
This is a system file, so you’ll need to use sudo to modify it.
Also, the autostart script for lirc needs to be modified slightly to ensure that the serial port is configured correctly for the IR receiver. To do this, you need to edit the system file /etc/init.d/lirc as follows ( I’m using instructions for the vi editor – / = find, O – Capital o = Open blank line above, ESC = escape key, RETURN = return key, but please use your editor of choice ), and I’m assuming that you’re using the first serial port:
sudo cp /etc/init.d/lirc /etc/init.d/lirc.save
sudo vi /etc/init.d/lirc
/for mod inRETURN O /bin/setserial /dev/ttyS0 uart noneESC:wqRETURN
The load_modules function should now read
load_modules ()
{
local MODULES_MISSING=false
/bin/setserial /dev/ttyS0 uart none
for mod in $*
do
/sbin/modprobe -k $mod 2> /dev/null || MODULES_MISSING=true
done
if $MODULES_MISSING; then
echo "#####################################################"
echo "## I couldn't load the required kernel modules ##"
echo "## You should install lirc-modules-source to build ##"
echo "## kernel support for your hardware. ##"
echo "#####################################################"
echo "## If this message is not appropriate you may set ##"
echo "## LOAD_MODULES=false in /etc/lirc/hardware.conf ##"
echo "#####################################################"
START_LIRCMD=false
START_LIRCD=false
fi
if test -x /sbin/udevsettle && [ ! -z $3 ] && [ $3 != "udev" ];
then
if ! /sbin/udevsettle; then
echo "timeout waiting for devices to be ready"
fi
fi
}
with the setserial line added. Start up the lirc daemon manually ( it’s controlled by udev, but we want to be sure it’s done now.
sudo /etc/init.d/lirc stop sudo /etc/init.d/lirc start
( I prefer to do this than a single restart – the time delay between the two commands sometimes makes a difference )
(Finally!) Configuring mythbuntu!
One last file to modify, and then the mythbuntu can be configured. Woo hoo. We need to add the definition of this remote into the menu system for mythbuntu so that you can select it. Once again I’m using vi…
sudo cp /usr/share/lirc/lirc/hwdb /usr/share/lirc/lirc.hwdb.save sudo vi /usr/share/lirc/lirc/hwdb /Tekram M230 Mach64RETURN OTechnisat TTS35AI;serial;lirc_dev lirc_serial;hw_default;technisat/TTS35AI;ESC:wqRETURN
(Ignore any line breaks in the above line, it is a single line! ). This part of the database will now look like
Technisat MediaFocus I;mediafocusI;none;hw_default;technisat/lircd.conf.mediafocusI; Technisat TTS35AI;serial;lirc_dev lirc_serial;hw_default;technisat/TTS35AI;
Now, if you return to mythsetup and hit the remote control button, then this option is now on the list…
If you also tick the ‘Generate dynamic button settings’ option before hitting ‘Apply’, then everything should work fine!



