[linux-dvb] Getting a Twinhan 1025 DVB-S Card Working in North America

Garnet MacPhee garnet at signalpeak.net
Thu Sep 7 19:43:17 CEST 2006

Thank you Dave for your guide to getting a DVB-S system to work in North America. I wish I had had that information a few 
months ago. I think we have independently invented functionally equivalent wheels. :-)

My setup:
Home-built, 3-ghz P4, Intel mobo, 1gb ram, SiS video card, ICE1712 based sound card
Kworld DVB-S 100 capture card (cx24123 based), 31" (80cm) dish, Stab HH90 rotor, Invacom SNH-031 LNBF
Slackware 10.2, Kernel, xdipo (to position dish rotor via DiSEqC), kaffeine (to scan, receive, and record)
Location: Southern New Mexico, USA

I bought the Kworld card first and made sure the support was there before I bought the rest of the system. I installed the 
dish on my patio roof, which has an excellent view of the southern sky. I was able to keep the cable length to 30' (rotor to 
capture card) plus 6' (LNBF to rotor). It was a real hassle getting the dish aimed correctly, a trial-and-error process 
reguiring many trips up and down the ladder and much loosening and tightening of nuts and bolts. It was easy enough to get 
the upright in the mount vertical, all you need is a level. But it was real hard finding true south, a compass just isn't 
accurate enough. I first tried to tune in Anik F1R, it is the closest to my longitude, but all the channels were scrambled. I 
would recommend trying IA5 first, it has lots of channels available FTA and some of them have quite good signal strength.

I have had good results with kernel 2.6.17 and working right out of the box, but I have had a problem with 
2.6.18-rc5, it will not tune at all unless the signal is VERY strong (which rules out my beloved PBS and much else), so I 
reverted back. I believe there were changes in the tuning algorithm which are still being worked on. I like to keep the 
kernel as a single monolithic unit, but this is not possible with the cx88 dvb, you MUST make cx88_dvb and video_buf_dvb 
modules and load them. (I spent a lot of time screwing around with that particular issue).

The dvb-s scan data supplied by kaffeine was only for Europe, so I had to make up my own tables using Lyngsat. That, then, 
becomes input to kaffeine to run a scan to produce channel data in its own format.

For example, scan data for Galaxy 3C looks like this:
# Galaxy 3C @ 95W
# freq pol sr fec

S 11780000 H 20760000 AUTO

Running a scan on that in kaffeine produces this (in channels.dvb):

TV|CCTV - 4|512(2)|650(chi),|0|1|1|SGalaxy3C-95w|11780|20760|h|-1|-1|-1|-1|-1|-1|-1|-1|35|||
TV|CCTV - 9|513(2)|660(chi),|0|2|1|SGalaxy3C-95w|11780|20760|h|-1|-1|-1|-1|-1|-1|-1|-1|36|||
TV|CCTV-9 Spanish|514(2)|670(chi),|0|3|1|SGalaxy3C-95w|11780|20760|h|-1|-1|-1|-1|-1|-1|-1|-1|37|||

The xdipo program also requires that you build a table for it, called streams.dat, that tells it how much to move the rotor 
for each satellite, and which channel it should try to lock on. Mine looks like this (East to West):

0 12144.00 v 2573 -36.30 AMC6 72.00 8192
0 11741.00 h 6616 -34.30 SBS6 74.00 8192
0 11742.00 v 11110 -29.30 AMC5 79.00 8192
0 11775.00 h 4232 -25.30 AMC9 83.00 8192
0 11731.00 h 13021 -23.30 AMC2 85.00 8192
0 12109.00 h 14028 -21.30 AMC3 87.00 8192
0 11960.00 v 3979 -19.30 IA8 89.00 8192
0 12005.00 v 3979 -17.30 Galaxy11 91.00 8192
0 12076.00 v 8679 -15.30 IA6 93.00 8192
0 11780.00 h 20760 -13.30 Galaxy3C 95.00 8192
0 11966.00 h 22000 -11.30 IA5 97.00 8192
0 11708.00 v 2170 -7.30 AMC4 101.00 8192
0 12100.00 v 20000 -5.30 AMC1 103.00 8192
0 11800.00 v 26657 14.70 Galaxy10R 123.00 8192
0 11983.00 h 4340 20.70 IA7 129.00 8192

One thing to remember is that signal strength varies considerably, and a heavy rainstorm (or even thick cloud cover) can 
block weaker channels. This does not mean your system is broken, the sun will shine again. :-)

Good luck.

More information about the linux-dvb mailing list