Project

General

Profile

Tvheadend dvb config revamp » History » Version 12

Andreas Smas, 2012-01-23 22:23

1 1 Andreas Smas
There are a few problems with how the TV adapter tab is implemented today
2
3 10 Andreas Smas
* It cannot handle a large amount of services. With DVB-S you can easily hit >1k services. Ticket #100
4
* It's hard (but possible via sorting) to see which services that is transmitted on which mux.
5
* The DVB satconf solution is a bit cumbersome
6
* Updates to the quality meter indicator refreshed the grid in a way that is bad UX. Ticket #108
7
* If a DVB adapter is renamed by the kernel after boot (/dev/dvb/adapterX -> /dev/dvb/adapterY) the user must do a lot of work
8
* Inter-adapter dependencies are not handled (adapters with both analog and digital receivers, etc)
9 1 Andreas Smas
10
Therefore the plan is to totally redesign how Tvheadend interacts with hardware.
11
This rewrite will not be configuration compatible and will therefore bump Tvheadend version to 3.x
12 4 Andreas Smas
13
14 10 Andreas Smas
h1. Device tree
15
16
17 3 Andreas Smas
This tree will present the available devices to the user
18 2 Andreas Smas
19 10 Andreas Smas
<pre>
20 3 Andreas Smas
  + DVB Adapter #1
21
  | + DVB-C Frontend
22
  |
23
  + DVB Adapter #2
24
  | + DVB-T Frontend
25
  | + DVB-C Frontend
26
  |
27
  + DVB Adapter #3
28
  | + DVB-S Frontend
29
  | | + Switchport 1
30
  | | + Switchport 2
31 1 Andreas Smas
  | | + Switchport 3
32 3 Andreas Smas
  | | + Switchport 4
33 1 Andreas Smas
  | | + Switchport n
34
  | + DVB-T Frontend
35
  |
36
  + V4L Adapter #1
37
    + Tuner
38
    + Composite
39
    + S-Video
40 10 Andreas Smas
</pre>
41 1 Andreas Smas
42
Pressing on a node will present the user with information about the entry and a few configuration options as follows:
43
44 10 Andreas Smas
45 11 Andreas Smas
h3. DVB / ATSC Adapter
46 12 Andreas Smas
47
h4. Info part
48
49 1 Andreas Smas
Various information about the hardware
50
51 12 Andreas Smas
h4. Config part
52 1 Andreas Smas
53 10 Andreas Smas
* Enable/Disable adapter
54
55 1 Andreas Smas
56 10 Andreas Smas
57 11 Andreas Smas
h3. DVB-C / DVB-T / ATSC Frontends
58 1 Andreas Smas
59 12 Andreas Smas
h4. Info part
60
61 1 Andreas Smas
TBD
62
63 12 Andreas Smas
h4. Config part
64 1 Andreas Smas
65 10 Andreas Smas
* Network the frontend is attached to
66 1 Andreas Smas
* If this device may update network configuration
67 10 Andreas Smas
68
69 11 Andreas Smas
70 1 Andreas Smas
h3. DVB-S Frontends
71
72 12 Andreas Smas
h4. Info part
73
74 3 Andreas Smas
TBD
75 10 Andreas Smas
76 12 Andreas Smas
h4. Config part
77 10 Andreas Smas
78
* Number of Diseqc switchports
79
 or 
80
* Network the frontend is attached to
81
* If this device may update network configuration
82 1 Andreas Smas
* LnB configuration
83 10 Andreas Smas
84 1 Andreas Smas
85
h3. Switchport
86 11 Andreas Smas
87 12 Andreas Smas
h4. Info part
88
89 3 Andreas Smas
TBD
90 1 Andreas Smas
91 12 Andreas Smas
h4. Config part
92 10 Andreas Smas
93
* Network the switchport is attached to
94
* If this device may update network configuration
95 3 Andreas Smas
* LnB configuration
96
 
97 1 Andreas Smas
98
99 10 Andreas Smas
h3. V4L adpater
100 1 Andreas Smas
101 12 Andreas Smas
h4. Info part
102
103 1 Andreas Smas
Various information about the hardware
104 10 Andreas Smas
105 12 Andreas Smas
h4. Config part
106 10 Andreas Smas
107 1 Andreas Smas
* Enable/Disable adapter
108
 
109 10 Andreas Smas
110 1 Andreas Smas
111
h3. V4L frontends
112 12 Andreas Smas
113
h4. Info part
114 11 Andreas Smas
115 1 Andreas Smas
Various information about the hardware
116 4 Andreas Smas
117 10 Andreas Smas
h4. Config
118 4 Andreas Smas
119 10 Andreas Smas
* TV system type (PAL, NTSC, etc) (for tuners)
120
* Network the frontend is attached to
121 4 Andreas Smas
122 10 Andreas Smas
123
124
h1. Device mapper
125
126
127 4 Andreas Smas
Upon startup Tvheadend will try to map the available hardware to the adapters as good as it can. 
128
In Tvheadend 2.x it was required that the stored configuration about the adapter exactly matched the plugged in hardware.
129
130
Instead Tvheadend 3.x will try to map hardware to configured devices according to the following ruleset:
131
132 10 Andreas Smas
* device type AND device name AND bus-id AND device path 
133
* device type AND device name AND bus-id
134
* device type AND device name
135
* device type AND bus-id
136
* device type
137 1 Andreas Smas
138 8 Andreas Smas
||device path||Path in filesystem||/dev/dvb/...||
139 10 Andreas Smas
||bus-id||Hardware address||Bus 001 Device 004: ID 0ccd:0038 [[TerraTec]] Electronic GmbH Cinergy T2 DVB-T Receiver
140 8 Andreas Smas
||device-name||Name of device(vendor) as reported via DVB API||ST STV0297 DVB-C||
141
||device-type||Frontend type(s)||DVB-T, DVB-C, etc||
142 6 Andreas Smas
143
It will start will all devices and try rule 1 then all devices that could not be mapped and rule 2, and so on.
144
This will mitigate problems when USB controllers probe devices in different order, etc
145
Also you can swap your DVB hardware to a new one (different vendor) and still have tvheadend map it correctly.
146
147
If the mapper cannot find a hardware device using the first rule the adapter info/configuration will highlight this
148
and the user will be able to "nail" the configuration to the detected hardware. Ie. to acknowledge to Tvheadend
149
that: "Yes, this is the correct hardware. I've changed/moved it" or whatever
150
151
152 10 Andreas Smas
h1. Networks
153
154
155 6 Andreas Smas
In Tvheadend 2.x a DVB network (ie. a collection of DVB Muxes) are implicitly tied to a DVB adapter. 
156
There are a number of drawbacks with this
157 1 Andreas Smas
158 10 Andreas Smas
* Adding another adapter to the same network require all muxes to be rescanned or copied from an already present adapter
159
* Replacing an adapter will void all configuration so it needs to be reconfigured. 
160 1 Andreas Smas
161
Instead Tvheadend 3.x will keep the Network configuration separated from the adapter configuration. 
162
This obviously fixes the two caveats mentioned above. 
163
164 10 Andreas Smas
165
h1. LNB configuration
166
167 1 Andreas Smas
168
Tvheadend 2.x have a set of preconfigured LNBs to select from. Tvheadend 3.x will also have those but also make it possible to enter LNB parameters manuallt.