1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
Linux Driver for
VisionPlus VisionDTV USB-Ter DVB-T Device (VP7041)
(http://www.twinhan.com/visiontv-2_4.htm)
and
CTS Portable (Chinese Television System)
(http://www.2cts.tv/ctsportable/)
Copyright (C) 2004 Patrick Boettcher (patrick.boettcher@desy.de),
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, version 2.
Koenigs Wusterhausen, Germany
NEWS:
2004-07-15 - found out, by accident, that the device has a TUA6010XS for
frequency generator
2004-07-12 - figured out, that the driver should also work with the
CTS Portable (Chinese Television System)
2004-07-08 - firmware-extraction-2.422-problem solved, driver is now working
properly with firmware extracted from 2.422
- #if for 2.6.4 (dvb), compile issue
- changed firmware handling, see vp7041.txt sec 1.1
2004-07-02 - some tuner modifications, v0.1, cleanups, first public
2004-06-28 - now using the dvb_dmx_swfilter_packets, everything
runs fine now
2004-06-27 - able to watch and switching channels (pre-alpha)
- no section filtering yet
2004-06-06 - first TS received, but kernel oops :/
2004-05-14 - firmware loader is working
2004-05-11 - start writing the driver
0. About the driver.
This driver is completly reverse-engineered by using the device on a guest PC
with Windows (where a working driver exists).
If you have a look into the source code, you will find a lot of buffers with
a lot of hex-numbers in it. By all means, I will not assert, that I understand
each of them. But this is like the windows driver controls the device, and
obviously it is working even in Linux.
If someone of you recognizes something in those buffers (maybe there is
a frontend or any other device, which are fed like this) please let me know.
If I could assign a function name to any of those anonymous numbers, I will
be very happy.
By all means, I will highly appreciate any comment, critic and patch to improve
the quality of this piece of software.
When using this driver your system can crash or hang. I'm not responsibly for
any data you may lose. So be warned. (Enabling sysrq saves a lot of data).
Addition: This driver should also work with the CTS Portable since the
windriver seems to be identical to the Twinhan one. Comment on this badly
needed.
1. How to use?
NOTE: This driver was developed on Linux 2.6.6., it is working with 2.6.7.
Linux 2.4.x support is not planned, but patches are very welcome.
NOTE: I'm using Debian testing, so the following explaination (especially
the hotplug-path) needn't match your system, but probably it will :).
1.1. Firmware extraction
First of all you have to extract the firmware from the windows driver:
Please use the command "get_dvb_firmware vp7041" to download and extract the
firmware. Then copy it to /usr/lib/hotplug/firmware.
1.2. Compiling
Since the driver is in the linux kernel, activating the driver in
your favorite config-environment should sufficient. I recommend
to compile the driver as module. Hotplug does the rest.
1.3. Loading the driver
Hotplug is able to load the driver, when it is needed (because you plugged
in the device).
If you want to enable debug output, you have to load the driver manually.
modprobe vp7041 debug=1
should do the trick.
When the driver is loaded successfully, the firmware file was in
the right place and the device is connected, the "Power"-LED should be
turned on.
If this is done, even in the non-debug mode, dmesg should show
something like the following:
DVB: registering new adapter (VisionPlus VisionDTV USB-Ter DVB-T Device).
DVB: registering frontend 0:0 (VisionPlus VisionDTV USB-Ter (VP7041) Frontend)...
VisionPlus VisionDTV USB-Ter DVB-T Device successfully initialized and connected.
At this point you are able to start a dvb-capable application. For myself
I used mplayer, dvbscan, tzap and kaxtv, they are working. Using the device
as a slave device in vdr, was not working for me. Some work has to be done
(patches and comments are very welcome).
2. Known problems and bugs
see vp7041.c
2.1 TODO
see vp7041.c
again, patches and comments are very very welcome
3. Acknowledgements
Alex Woods for frequently answering question about usb and dvb
stuff, a big thank you
Bernd Wagner for helping with huge bug reports and discussions.
Some guys on the linux-dvb mailing list for encouraging me
Peter Schildmann >peter.schildmann-nospam-at-web.de< for his
user-level firmware loader, which saves a lot of time
Ulf Hermenau for helping me out with traditional chinese.
André Smoktun and Christian Frömmel for supporting me with
hardware and listening to my problems very patient
|