Twinhan USB HID Remote
This is a cheap terrestrial (free to air) DVB card. It is very similar to the Twinhan VisionPlus DVB card.
Australia
This card is sold in Australia and works with the "Free To Air" Digital TV services.
The channel frequencies for all regions in Australia are listed on the Digital Broadcast Australia website.
Sources for the card:
- DDcomputer for AU$65 - Added by michaelf
- MSY for AU$75
Note on multi-card use
I have experienced serious signal degradation problems when using 3 of these in a single myth box. When attempting use all 3 simultaneously, the signal quality would drop to unacceptable levels. I don't know what this was due to, but I suspect poor internal shielding, as each card was eventually connected to seperate antennas and still produced this behaviour.
Eventually 2 of the cards were replaced by a Compro VideoMate DVB-T200 and LeadTek Winfast DTV1000T and did not produce these problems in identical setup.
- adante.
In addition, I have also occassionally, on rare occassions, experienced problems loading the firmware which caused the card to freeze. It was necessary to 'cold boot' the system in order to get it to work again (ie, a regular reboot did not work). This happened with 2.6.14 firmware (iirc)
Kernel Driver
This card is supported in the stock Linux kernel 2.6.8+ by the bttv driver. the 'dmesg' command shows the following:
bttv0: Bt878 (rev 17) at 0000:01:04.0, irq: 209, latency: 32, mmio: 0xe6afe000 bttv0: detected: Twinhan VisionPlus DVB [card=113], PCI subsystem ID is 1822:0001 bttv0: using: Twinhan DST + clones [card=113,insmod option] bttv0: gpio: en=00000000, out=00000000 in=00f762ff [init] bttv0: using tuner=4 bttv0: add subdevice "dvb0"
Twinhan Mini Ter on Ubuntu Breezy and modules required
Remote Control
The bundled remote control has a USB reciever that acts as a HID keyboard device and send keycodes. This has been a problem for some people because there was no easy way to change the keycodes that it sends.
This can be done in the kernel along with a modification so the kernel will treat a normal usb keyboard and remote keyboard as separate devices so only the remote keys are remapped. Will update this page with this info ASAP on how I did this. All keys have been successfully remapped including the power button to shut my machine down. Unfortunately my current motherboard doesn't recognise any of the default keys to enable power on.
Apparently is it possible to use LIRC to intercept the incoming keycodes and handle them as any other lirc device. Here is an extract from the MythTV Users mailing list:
To get this (or any) USB IR HID device to work with mythtv: 1) Compiled lirc with devinput as the driver (under Other) 2) Faffed about trying cat /dev/input/eventX until I found one that was the remote (or just "cat /proc/bus/input/devices" to determine it) 3) Used irremote --device /dev/input/eventX to configure lircd.conf for the keypresses on the remote. It's quite (almost) able to figure it out itself. This also required some hand editing as some of the buttons were multiple key presses (eg, Ctrl+Alt+F6 for power) and not all the keys were unique in the file. I just dumped some output from irremote to a file and picked out unique ones for each key.
Link to the full email: [Re: TwinHan IR remote and receiver problem - SOLVED]
Thought I'd just add a bit here, I wrote that thread about the remote but it's not very helpfull.
The problem with the TwinHan remote is that certain keys on the remote (Power, Volume) send more that one key to the keyboard buffer. This confuses the lirc.conf configurator "irremote".
Example: Power sends Ctrl+Alt+F6.
irremote seems to have a fair chance of mapping ctrl, alt OR F6 to Power in the conf file. Now, if another key on the remote (say, Pause) sends something like Alt+F4 (Pause doesn't send that btw) you run the chance of Power and Pause being mapped to the Alt key. Which means that Power does Power and Pause and vice versa.
The only solution to this that I found was saving the output from irremote to a file after pressing the offending keys. Then, pick a unique keykode from each buttons presses (in our example, F4 and F6) and put those after your entries in lirc.conf.
Here is my lirc.conf:
begin remote name TwinHanRemote bits 32 eps 30 aeps 100 one 0 0 zero 0 0 gap 115899 toggle_bit 0 begin codes fullscreen 0x8001002C Power 0x8001001D 1 0x80010002 2 0x80010003 3 0x80010004 4 0x80010005 5 0x80010006 6 0x80010007 7 0x80010008 8 0x80010009 9 0x8001000A 0 0x8001000B rec 0x80010066 favorite 0x8001002F rewind 0x80010017 forward 0x80010031 ch+ 0x80010068 ch- 0x8001006D vol- 0x8001006C vol+ 0x80010067 recall 0x8001002E play 0x8001001C stop 0x8001006B pause 0x80010014 mute 0x80010032 cancel 0x80010001 capture 0x80010019 preview 0x80010025 epg 0x80010012 recordlist 0x80010026 tab 0x8001000F teletext 0x8001001E end codes end remote
RobM - Adding to the above. To get lirc working on ubuntu with this remote.
- Put the above remote details into /etc/lirc/lircd.conf
- Follow the directions here http://parker1.co.uk/mythtv_tips.php to get udev setup
I got the device to always map to /dev/input/irremote. It seemed a bit tricky because udevinfo seemed to report two different IR devices, and there wasn't an easy way to tell which was "device 0" rather than "device 1". In the end I created a file /etc/udev/rules.d/10-local.rules that contained the values below, though this might be decide specific.
KERNEL=="event*",ATTRS{bInterfaceNumber}=="00",ATTRS{modalias}=="usb:v6253p0100d0100dc00dsc00dp00ic03isc01ip01",SYMLINK="input/irremote"
- Edit your /etc/lirc/hardware.conf so that it looks something like
#Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="dev/input" # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be # automatically used instead DEVICE="/dev/input/irremote" MODULES=""
- Ensure you restart lirc via "/etc/init.d/lirc restart"
- Create a ~/.mythtv/lircrc file. A starting point is:
begin prog = mythtv button = ch+ repeat = 3 config = Up end begin prog = mythtv button = ch- repeat = 3 config = Down end begin prog = mythtv button = vol+ repeat = 3 config = Right end begin prog = mythtv button = vol- repeat = 3 config = Left end begin prog = mythtv button = play config = Return end begin prog = mythtv button = stop config = Esc end begin prog = mythtv button = pause repeat = 3 config = P end
The remove control has 4 buttons in the middle, with left and right being "volume up" and "volume down". I found it better to map these to just left/right keys, it makes navigating the mythtv interface feel more naturual