1DVB TOOLS 2========= 3 4This is a series of tools written to help testing and working with DVB, 5using its latest V5 API. The tools can also work with the DVBv3 API. 6 7The current tools are: 8 9dvb-fe-tool - a simple test application, that reads from the frontend. 10 it also allows one to change the default delivery system. 11 In the future, it may be used to change any property 12 via command line. 13 14dvb-format-convert - converts from zap and scan "initial-tuning-data-file" 15 into the new format defined to work with DVBv5; 16 17dvbv5-scan - a DVBv5 scan tool; 18 19dvbv5-zap - a DVBv5 zap tool. It allow to tune into a DVB channel, and 20 to watch to a DVB service (e. g. receiving the video and audio 21 streams, via another application using the dvr device). 22 23Each application code is very small, as most of the code are on some 24generic code that will become a library in the future. 25 26CONTENTS OF THE TREE 27==================== 28 29dvb-fe-tool.c, dvb-format-convert.c, dvbv5-zap.c, dvbv5-scan.c: tools code. 30 31Basically, parses the options from userspace and calls the other code 32to do what was requested by the user. 33 34CHANNEL/SERVICE FILE FORMAT 35=========================== 36 37Instead of having two different files, one for services, and another for 38channels/transponders, I opted to use just one format for both. The 39format is: 40 41[channel] 42key1=value1 43key2=value2 44key3=value3 45... 46keyn=valuen 47 48 49lines with # are discarted by the parsers. Also, whitespaces/tabs before 50the keys and before/after the equal sign. 51 52Be careful: whitespace in the middle of the value are not discarded. 53 54A typical service would be like: 55 56[TV Brasil HD] 57 VCHANNEL = 2.2 58 SERVICE_ID = 16160 59 VIDEO_PID = 770 60 AUDIO_PID = 514 614 61 FREQUENCY = 479142857 62 MODULATION = QAM/AUTO 63 BANDWIDTH_HZ = 6000000 64 INVERSION = AUTO 65 CODE_RATE_HP = AUTO 66 CODE_RATE_LP = NONE 67 GUARD_INTERVAL = AUTO 68 TRANSMISSION_MODE = AUTO 69 HIERARCHY = NONE 70 ISDBT_LAYER_ENABLED = 7 71 ISDBT_PARTIAL_RECEPTION = 0 72 ISDBT_SOUND_BROADCASTING = 0 73 ISDBT_SB_SUBCHANNEL_ID = 0 74 ISDBT_SB_SEGMENT_IDX = 0 75 ISDBT_SB_SEGMENT_COUNT = 0 76 ISDBT_LAYERA_FEC = AUTO 77 ISDBT_LAYERA_MODULATION = QAM/AUTO 78 ISDBT_LAYERA_SEGMENT_COUNT = 0 79 ISDBT_LAYERA_TIME_INTERLEAVING = 0 80 ISDBT_LAYERB_FEC = AUTO 81 ISDBT_LAYERB_MODULATION = QAM/AUTO 82 ISDBT_LAYERB_SEGMENT_COUNT = 0 83 ISDBT_LAYERB_TIME_INTERLEAVING = 0 84 ISDBT_LAYERC_FEC = AUTO 85 ISDBT_LAYERC_MODULATION = QAM/AUTO 86 ISDBT_LAYERC_SEGMENT_COUNT = 0 87 ISDBT_LAYERC_TIME_INTERLEAVING = 0 88 DELIVERY_SYSTEM = ISDBT 89 90Just the channel description for it would be: 91 92[CHANNEL] 93 FREQUENCY = 479142857 94 MODULATION = QAM/AUTO 95 BANDWIDTH_HZ = 6000000 96 INVERSION = AUTO 97 CODE_RATE_HP = AUTO 98 CODE_RATE_LP = NONE 99 GUARD_INTERVAL = AUTO 100 TRANSMISSION_MODE = AUTO 101 HIERARCHY = NONE 102 ISDBT_LAYER_ENABLED = 7 103 ISDBT_PARTIAL_RECEPTION = 0 104 ISDBT_SOUND_BROADCASTING = 0 105 ISDBT_SB_SUBCHANNEL_ID = 0 106 ISDBT_SB_SEGMENT_IDX = 0 107 ISDBT_SB_SEGMENT_COUNT = 0 108 ISDBT_LAYERA_FEC = AUTO 109 ISDBT_LAYERA_MODULATION = QAM/AUTO 110 ISDBT_LAYERA_SEGMENT_COUNT = 0 111 ISDBT_LAYERA_TIME_INTERLEAVING = 0 112 ISDBT_LAYERB_FEC = AUTO 113 ISDBT_LAYERB_MODULATION = QAM/AUTO 114 ISDBT_LAYERB_SEGMENT_COUNT = 0 115 ISDBT_LAYERB_TIME_INTERLEAVING = 0 116 ISDBT_LAYERC_FEC = AUTO 117 ISDBT_LAYERC_MODULATION = QAM/AUTO 118 ISDBT_LAYERC_SEGMENT_COUNT = 0 119 ISDBT_LAYERC_TIME_INTERLEAVING = 0 120 DELIVERY_SYSTEM = ISDBT 121 122USAGE WITH SATELLITE DELIVERY SYSTEMS 123===================================== 124 125The dvbv5-zap and dvbv5-scan can now work with DVB-S/DVB-S2 126systems. A new code, yet to be tested, has the following 127features: 128 - support for common types of LNBf; 129 - DISEqC switching (SMATV); 130 - Bandstacking; 131 - Unicable/SRC. 132 133Additional parameters for satellite delivery systems are needed: 134 135 - l <lnbf> 136 137selects the LNBf type. Using an invalid value like "help" shows 138what's currently supported. 139 140 - S <sat_number> 141 142Selects satellite number, between 0 to 3, for SMATV, or between 1430 to 15 for SCR/Unicable. The highest bit is used to select between 144position A and position B. 145 146If not specified, disables DISEqC and Unicable/SCR. 147 148For SMATV, this actually changes the DISEqC "option" 149and "position" parameter. According with the specs, for 150position B, tone should be off, and tone burst should 151be miniA. 152 153 -U <freq_bpf> 154 155Selects the band-pass filter frequency used by the Unicable device. Currently, 156only the mandatory DISEqC commands were implemented. It means that 157the library is currently not able to use bi-directional DISEqC commands 158to detect the available frequencies. 159 160 -W <extra time in ms> 161 162The DISEqC logic will wait for 15 ms. If this parameter is 163specified, it will add the extra time to the 15ms delay. 164 165For LNBf devices that use bandstacking (e. g. the ones that use 166different LO frequrencies for V and H polarization), the code will 167always use 13 Volts and will disable tone/tone burst. 168 169Currently, C-Band multi and DishPro bandstacking LNBf's are 170supported. 171 172Tests are welcome! 173 174Note: Currently, the implementation uses DISEqC only uses the 175command [E0 10 38 xx], where xx selects the DISEqC input. 176Additional support could be needed for more sophisticated 177arrangements. 178 179CURRENT ISSUES 180============== 181 182The dvb-fe-tool and the dvb-format-convert are generic enough to work 183with all delivery systems. However, the other two tools need to do 184some diferent things, depending on the delivery system, as other 185MPEG-TS tables and descriptors may be needed. 186 187Currently, the tools were tested with DVB-C, DVB-T, DVB-T2, DVB-S, DVB-S2, 188ATSC and ISDB-T. 189 190Patches are welcome! 191 192Regards, 193Mauro Carvalho Chehab 1942013-Nov-29 195