Project

General

Profile

Tvheadend dvb config revamp » History » Version 9

Andreas Smas, 2010-08-17 21:52

1 1 Andreas Smas
There are a few problems with how the TV adapter tab is implemented today
2
3 2 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 9 Andreas Smas
 * 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 4 Andreas Smas
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 1 Andreas Smas
13 4 Andreas Smas
= Device tree =
14 1 Andreas Smas
15 3 Andreas Smas
This tree will present the available devices to the user
16 2 Andreas Smas
17 1 Andreas Smas
{{{
18 3 Andreas Smas
  + DVB Adapter #1
19
  | + DVB-C Frontend
20
  |
21
  + DVB Adapter #2
22
  | + DVB-T Frontend
23
  | + DVB-C Frontend
24
  |
25
  + DVB Adapter #3
26
  | + DVB-S Frontend
27
  | | + Switchport 1
28
  | | + Switchport 2
29
  | | + Switchport 3
30
  | | + Switchport 4
31
  | | + Switchport n
32
  | + DVB-T Frontend
33
  |
34
  + V4L Adapter #1
35
    + Tuner
36
    + Composite
37
    + S-Video
38 1 Andreas Smas
}}}
39
40 3 Andreas Smas
Pressing on a node will present the user with information about the entry and a few configuration options as follows:
41 1 Andreas Smas
42 3 Andreas Smas
=== DVB / ATSC Adapter ===
43
==== Info ====
44
Various information about the hardware
45
==== Config ====
46
 * Enable/Disable adapter
47 1 Andreas Smas
48
49 3 Andreas Smas
=== DVB-C / DVB-T / ATSC Frontends ===
50
==== Info ====
51
TBD
52
==== Config ====
53
 * Network the frontend is attached to
54
 * If this device may update network configuration
55 1 Andreas Smas
56 3 Andreas Smas
57
=== DVB-S Frontends ===
58
==== Info ====
59
TBD
60
==== Config ====
61
 * Number of Diseqc switchports
62
 or 
63
 * Network the frontend is attached to
64 7 Andreas Smas
 * If this device may update network configuration
65 3 Andreas Smas
 * LnB configuration
66
67
=== Switchport ===
68
==== Info ====
69
TBD
70
==== Config ====
71
 * Network the switchport is attached to
72 7 Andreas Smas
 * If this device may update network configuration
73 3 Andreas Smas
 * LnB configuration
74
 
75
76
=== V4L adpater ===
77
==== Info ====
78
Various information about the hardware
79
==== Config ====
80
 * Enable/Disable adapter
81
 
82
83
=== V4L frontends ===
84
==== Info ====
85
Various information about the hardware
86
==== Config ====
87 1 Andreas Smas
 * TV system type (PAL, NTSC, etc) (for tuners)
88
 * Network the frontend is attached to
89 4 Andreas Smas
90
91
= Device mapper =
92
93
Upon startup Tvheadend will try to map the available hardware to the adapters as good as it can. 
94
In Tvheadend 2.x it was required that the stored configuration about the adapter exactly matched the plugged in hardware.
95
96
Instead Tvheadend 3.x will try to map hardware to configured devices according to the following ruleset:
97
98
 * device type AND device name AND bus-id AND device path 
99
 * device type AND device name AND bus-id
100
 * device type AND device name
101
 * device type AND bus-id
102
 * device type
103
104
||device path||Path in filesystem||/dev/dvb/...||
105
||bus-id||Hardware address||Bus 001 Device 004: ID 0ccd:0038 TerraTec Electronic GmbH Cinergy T2 DVB-T Receiver
106
||device-name||Name of device(vendor) as reported via DVB API||ST STV0297 DVB-C||
107
||device-type||Frontend type(s)||DVB-T, DVB-C, etc||
108
109 5 Andreas Smas
It will start will all devices and try rule 1 then all devices that could not be mapped and rule 2, and so on.
110 4 Andreas Smas
This will mitigate problems when USB controllers probe devices in different order, etc
111 1 Andreas Smas
Also you can swap your DVB hardware to a new one (different vendor) and still have tvheadend map it correctly.
112 8 Andreas Smas
113
If the mapper cannot find a hardware device using the first rule the adapter info/configuration will highlight this
114
and the user will be able to "nail" the configuration to the detected hardware. Ie. to acknowledge to Tvheadend
115
that: "Yes, this is the correct hardware. I've changed/moved it" or whatever
116 6 Andreas Smas
117
= Networks =
118
119
In Tvheadend 2.x a DVB network (ie. a collection of DVB Muxes) are implicitly tied to a DVB adapter. 
120
There are a number of drawbacks with this
121
122
 * Adding another adapter to the same network require all muxes to be rescanned or copied from an already present adapter
123
 * Replacing an adapter will void all configuration so it needs to be reconfigured. 
124
125
Instead Tvheadend 3.x will keep the Network configuration separated from the adapter configuration. 
126
This obviously fixes the two caveats mentioned above. 
127
128
= LNB configuration =
129
130
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.