1<section id="frontend_legacy_types"> 2<title>Frontend Legacy Data Types</title> 3 4<section id="fe-type-t"> 5<title>Frontend type</title> 6 7<para>For historical reasons, frontend types are named by the type of modulation 8 used in transmission. The fontend types are given by fe_type_t type, defined as:</para> 9 10<table pgwide="1" frame="none" id="fe-type"> 11<title>Frontend types</title> 12<tgroup cols="3"> 13 &cs-def; 14 <thead> 15 <row> 16 <entry>fe_type</entry> 17 <entry>Description</entry> 18 <entry><link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> equivalent type</entry> 19 </row> 20 </thead> 21 <tbody valign="top"> 22 <row> 23 <entry id="FE-QPSK"><constant>FE_QPSK</constant></entry> 24 <entry>For DVB-S standard</entry> 25 <entry><constant>SYS_DVBS</constant></entry> 26 </row> 27 <row> 28 <entry id="FE-QAM"><constant>FE_QAM</constant></entry> 29 <entry>For DVB-C annex A standard</entry> 30 <entry><constant>SYS_DVBC_ANNEX_A</constant></entry> 31 </row> 32 <row> 33 <entry id="FE-OFDM"><constant>FE_OFDM</constant></entry> 34 <entry>For DVB-T standard</entry> 35 <entry><constant>SYS_DVBT</constant></entry> 36 </row> 37 <row> 38 <entry id="FE-ATSC"><constant>FE_ATSC</constant></entry> 39 <entry>For ATSC standard (terrestrial) or for DVB-C Annex B (cable) used in US.</entry> 40 <entry><constant>SYS_ATSC</constant> (terrestrial) or <constant>SYS_DVBC_ANNEX_B</constant> (cable)</entry> 41 </row> 42</tbody></tgroup></table> 43 44<para>Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're 45supported via the new <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY/FE_GET_SET_PROPERTY</link> ioctl's, using the <link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> parameter. 46</para> 47 48<para>In the old days, &dvb-frontend-info; used to contain 49 <constant>fe_type_t</constant> field to indicate the delivery systems, 50 filled with either FE_QPSK, FE_QAM, FE_OFDM or FE_ATSC. While this is 51 still filled to keep backward compatibility, the usage of this 52 field is deprecated, as it can report just one delivery system, but some 53 devices support multiple delivery systems. Please use 54 <link linkend="DTV-ENUM-DELSYS">DTV_ENUM_DELSYS</link> instead. 55</para> 56<para>On devices that support multiple delivery systems, 57 &dvb-frontend-info;::<constant>fe_type_t</constant> is filled with the 58 currently standard, as selected by the last call to 59 <link linkend="FE_GET_PROPERTY">FE_SET_PROPERTY</link> 60 using the &DTV-DELIVERY-SYSTEM; property.</para> 61</section> 62 63<section id="fe-bandwidth-t"> 64<title>Frontend bandwidth</title> 65 66<table pgwide="1" frame="none" id="fe-bandwidth"> 67 <title>enum fe_bandwidth</title> 68 <tgroup cols="2"> 69 &cs-def; 70 <thead> 71 <row> 72 <entry>ID</entry> 73 <entry>Description</entry> 74 </row> 75 </thead> 76 <tbody valign="top"> 77 <row> 78 <entry id="BANDWIDTH-AUTO"><constant>BANDWIDTH_AUTO</constant></entry> 79 <entry>Autodetect bandwidth (if supported)</entry> 80 </row><row> 81 <entry id="BANDWIDTH-1-712-MHZ"><constant>BANDWIDTH_1_712_MHZ</constant></entry> 82 <entry>1.712 MHz</entry> 83 </row><row> 84 <entry id="BANDWIDTH-5-MHZ"><constant>BANDWIDTH_5_MHZ</constant></entry> 85 <entry>5 MHz</entry> 86 </row><row> 87 <entry id="BANDWIDTH-6-MHZ"><constant>BANDWIDTH_6_MHZ</constant></entry> 88 <entry>6 MHz</entry> 89 </row><row> 90 <entry id="BANDWIDTH-7-MHZ"><constant>BANDWIDTH_7_MHZ</constant></entry> 91 <entry>7 MHz</entry> 92 </row><row> 93 <entry id="BANDWIDTH-8-MHZ"><constant>BANDWIDTH_8_MHZ</constant></entry> 94 <entry>8 MHz</entry> 95 </row><row> 96 <entry id="BANDWIDTH-10-MHZ"><constant>BANDWIDTH_10_MHZ</constant></entry> 97 <entry>10 MHz</entry> 98 </row> 99 </tbody> 100 </tgroup> 101</table> 102 103</section> 104 105<section id="dvb-frontend-parameters"> 106<title>frontend parameters</title> 107<para>The kind of parameters passed to the frontend device for tuning depend on 108the kind of hardware you are using.</para> 109<para>The struct <constant>dvb_frontend_parameters</constant> uses an 110union with specific per-system parameters. However, as newer delivery systems 111required more data, the structure size weren't enough to fit, and just 112extending its size would break the existing applications. So, those parameters 113were replaced by the usage of <link linkend="FE_GET_PROPERTY"> 114<constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> ioctl's. The 115new API is flexible enough to add new parameters to existing delivery systems, 116and to add newer delivery systems.</para> 117<para>So, newer applications should use <link linkend="FE_GET_PROPERTY"> 118<constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in 119order to be able to support the newer System Delivery like DVB-S2, DVB-T2, 120DVB-C2, ISDB, etc.</para> 121<para>All kinds of parameters are combined as an union in the FrontendParameters structure: 122<programlisting> 123struct dvb_frontend_parameters { 124 uint32_t frequency; /⋆ (absolute) frequency in Hz for QAM/OFDM ⋆/ 125 /⋆ intermediate frequency in kHz for QPSK ⋆/ 126 &fe-spectral-inversion-t; inversion; 127 union { 128 struct dvb_qpsk_parameters qpsk; 129 struct dvb_qam_parameters qam; 130 struct dvb_ofdm_parameters ofdm; 131 struct dvb_vsb_parameters vsb; 132 } u; 133}; 134</programlisting></para> 135<para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate 136frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of 137the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and 138OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz. 139</para> 140 141<section id="dvb-qpsk-parameters"> 142<title>QPSK parameters</title> 143<para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para> 144<programlisting> 145 struct dvb_qpsk_parameters { 146 uint32_t symbol_rate; /⋆ symbol rate in Symbols per second ⋆/ 147 &fe-code-rate-t; fec_inner; /⋆ forward error correction (see above) ⋆/ 148 }; 149</programlisting> 150</section> 151 152<section id="dvb-qam-parameters"> 153<title>QAM parameters</title> 154<para>for cable QAM frontend you use the <constant>dvb_qam_parameters</constant> structure:</para> 155<programlisting> 156 struct dvb_qam_parameters { 157 uint32_t symbol_rate; /⋆ symbol rate in Symbols per second ⋆/ 158 &fe-code-rate-t; fec_inner; /⋆ forward error correction (see above) ⋆/ 159 &fe-modulation-t; modulation; /⋆ modulation type (see above) ⋆/ 160 }; 161</programlisting> 162</section> 163 164<section id="dvb-vsb-parameters"> 165<title>VSB parameters</title> 166<para>ATSC frontends are supported by the <constant>dvb_vsb_parameters</constant> structure:</para> 167<programlisting> 168struct dvb_vsb_parameters { 169 &fe-modulation-t; modulation; /⋆ modulation type (see above) ⋆/ 170}; 171</programlisting> 172</section> 173 174<section id="dvb-ofdm-parameters"> 175<title>OFDM parameters</title> 176<para>DVB-T frontends are supported by the <constant>dvb_ofdm_parameters</constant> structure:</para> 177<programlisting> 178 struct dvb_ofdm_parameters { 179 &fe-bandwidth-t; bandwidth; 180 &fe-code-rate-t; code_rate_HP; /⋆ high priority stream code rate ⋆/ 181 &fe-code-rate-t; code_rate_LP; /⋆ low priority stream code rate ⋆/ 182 &fe-modulation-t; constellation; /⋆ modulation type (see above) ⋆/ 183 &fe-transmit-mode-t; transmission_mode; 184 &fe-guard-interval-t; guard_interval; 185 &fe-hierarchy-t; hierarchy_information; 186 }; 187</programlisting> 188</section> 189</section> 190 191<section id="dvb-frontend-event"> 192<title>frontend events</title> 193 <programlisting> 194 struct dvb_frontend_event { 195 fe_status_t status; 196 struct dvb_frontend_parameters parameters; 197 }; 198</programlisting> 199 </section> 200</section> 201 202<section id="frontend_legacy_fcalls"> 203<title>Frontend Legacy Function Calls</title> 204 205<para>Those functions are defined at DVB version 3. The support is kept in 206 the kernel due to compatibility issues only. Their usage is strongly 207 not recommended</para> 208 209<section id="FE_READ_BER"> 210<title>FE_READ_BER</title> 211<para>DESCRIPTION 212</para> 213<informaltable><tgroup cols="1"><tbody><row><entry 214 align="char"> 215<para>This ioctl call returns the bit error rate for the signal currently 216 received/demodulated by the front-end. For this command, read-only access to 217 the device is sufficient.</para> 218</entry> 219 </row></tbody></tgroup></informaltable> 220<para>SYNOPSIS 221</para> 222<informaltable><tgroup cols="1"><tbody><row><entry 223 align="char"> 224<para>int ioctl(int fd, int request = <link linkend="FE_READ_BER">FE_READ_BER</link>, 225 uint32_t ⋆ber);</para> 226</entry> 227 </row></tbody></tgroup></informaltable> 228<para>PARAMETERS 229</para> 230<informaltable><tgroup cols="2"><tbody><row><entry 231 align="char"> 232<para>int fd</para> 233</entry><entry 234 align="char"> 235<para>File descriptor returned by a previous call to open().</para> 236</entry> 237 </row><row><entry 238 align="char"> 239<para>int request</para> 240</entry><entry 241 align="char"> 242<para>Equals <link linkend="FE_READ_BER">FE_READ_BER</link> for this command.</para> 243</entry> 244 </row><row><entry 245 align="char"> 246<para>uint32_t *ber</para> 247</entry><entry 248 align="char"> 249<para>The bit error rate is stored into *ber.</para> 250</entry> 251 </row></tbody></tgroup></informaltable> 252 253&return-value-dvb; 254</section> 255 256<section id="FE_READ_SNR"> 257<title>FE_READ_SNR</title> 258 259<para>DESCRIPTION 260</para> 261<informaltable><tgroup cols="1"><tbody><row><entry 262 align="char"> 263<para>This ioctl call returns the signal-to-noise ratio for the signal currently received 264 by the front-end. For this command, read-only access to the device is sufficient.</para> 265</entry> 266 </row></tbody></tgroup></informaltable> 267<para>SYNOPSIS 268</para> 269<informaltable><tgroup cols="1"><tbody><row><entry 270 align="char"> 271<para>int ioctl(int fd, int request = <link linkend="FE_READ_SNR">FE_READ_SNR</link>, uint16_t 272 ⋆snr);</para> 273</entry> 274 </row></tbody></tgroup></informaltable> 275<para>PARAMETERS 276</para> 277<informaltable><tgroup cols="2"><tbody><row><entry 278 align="char"> 279<para>int fd</para> 280</entry><entry 281 align="char"> 282<para>File descriptor returned by a previous call to open().</para> 283</entry> 284 </row><row><entry 285 align="char"> 286<para>int request</para> 287</entry><entry 288 align="char"> 289<para>Equals <link linkend="FE_READ_SNR">FE_READ_SNR</link> for this command.</para> 290</entry> 291 </row><row><entry 292 align="char"> 293<para>uint16_t *snr</para> 294</entry><entry 295 align="char"> 296<para>The signal-to-noise ratio is stored into *snr.</para> 297</entry> 298 </row></tbody></tgroup></informaltable> 299 300&return-value-dvb; 301</section> 302 303<section id="FE_READ_SIGNAL_STRENGTH"> 304<title>FE_READ_SIGNAL_STRENGTH</title> 305<para>DESCRIPTION 306</para> 307<informaltable><tgroup cols="1"><tbody><row><entry 308 align="char"> 309<para>This ioctl call returns the signal strength value for the signal currently received 310 by the front-end. For this command, read-only access to the device is sufficient.</para> 311</entry> 312 </row></tbody></tgroup></informaltable> 313<para>SYNOPSIS 314</para> 315<informaltable><tgroup cols="1"><tbody><row><entry 316 align="char"> 317<para>int ioctl( int fd, int request = 318 <link linkend="FE_READ_SIGNAL_STRENGTH">FE_READ_SIGNAL_STRENGTH</link>, uint16_t ⋆strength);</para> 319</entry> 320 </row></tbody></tgroup></informaltable> 321 322<para>PARAMETERS 323</para> 324<informaltable><tgroup cols="2"><tbody><row><entry 325 align="char"> 326<para>int fd</para> 327</entry><entry 328 align="char"> 329<para>File descriptor returned by a previous call to open().</para> 330</entry> 331 </row><row><entry 332 align="char"> 333<para>int request</para> 334</entry><entry 335 align="char"> 336<para>Equals <link linkend="FE_READ_SIGNAL_STRENGTH">FE_READ_SIGNAL_STRENGTH</link> for this 337 command.</para> 338</entry> 339 </row><row><entry 340 align="char"> 341<para>uint16_t *strength</para> 342</entry><entry 343 align="char"> 344<para>The signal strength value is stored into *strength.</para> 345</entry> 346 </row></tbody></tgroup></informaltable> 347 348&return-value-dvb; 349</section> 350 351<section id="FE_READ_UNCORRECTED_BLOCKS"> 352<title>FE_READ_UNCORRECTED_BLOCKS</title> 353<para>DESCRIPTION 354</para> 355<informaltable><tgroup cols="1"><tbody><row><entry 356 align="char"> 357<para>This ioctl call returns the number of uncorrected blocks detected by the device 358 driver during its lifetime. For meaningful measurements, the increment in block 359 count during a specific time interval should be calculated. For this command, 360 read-only access to the device is sufficient.</para> 361</entry> 362 </row><row><entry 363 align="char"> 364<para>Note that the counter will wrap to zero after its maximum count has been 365 reached.</para> 366</entry> 367 </row></tbody></tgroup></informaltable> 368<para>SYNOPSIS 369</para> 370<informaltable><tgroup cols="1"><tbody><row><entry 371 align="char"> 372<para>int ioctl( int fd, int request = 373 <link linkend="FE_READ_UNCORRECTED_BLOCKS">FE_READ_UNCORRECTED_BLOCKS</link>, uint32_t ⋆ublocks);</para> 374</entry> 375 </row></tbody></tgroup></informaltable> 376<para>PARAMETERS 377</para> 378<informaltable><tgroup cols="2"><tbody><row><entry 379 align="char"> 380<para>int fd</para> 381</entry><entry 382 align="char"> 383<para>File descriptor returned by a previous call to open().</para> 384</entry> 385 </row><row><entry 386 align="char"> 387<para>int request</para> 388</entry><entry 389 align="char"> 390<para>Equals <link linkend="FE_READ_UNCORRECTED_BLOCKS">FE_READ_UNCORRECTED_BLOCKS</link> for this 391 command.</para> 392</entry> 393 </row><row><entry 394 align="char"> 395<para>uint32_t *ublocks</para> 396</entry><entry 397 align="char"> 398<para>The total number of uncorrected blocks seen by the driver 399 so far.</para> 400</entry> 401 </row></tbody></tgroup></informaltable> 402 403&return-value-dvb; 404</section> 405 406<section id="FE_SET_FRONTEND"> 407<title>FE_SET_FRONTEND</title> 408<para>DESCRIPTION 409</para> 410<informaltable><tgroup cols="1"><tbody><row><entry 411 align="char"> 412<para>This ioctl call starts a tuning operation using specified parameters. The result 413 of this call will be successful if the parameters were valid and the tuning could 414 be initiated. The result of the tuning operation in itself, however, will arrive 415 asynchronously as an event (see documentation for <link linkend="FE_GET_EVENT">FE_GET_EVENT</link> and 416 FrontendEvent.) If a new <link linkend="FE_SET_FRONTEND">FE_SET_FRONTEND</link> operation is initiated before 417 the previous one was completed, the previous operation will be aborted in favor 418 of the new one. This command requires read/write access to the device.</para> 419</entry> 420 </row></tbody></tgroup></informaltable> 421 422<para>SYNOPSIS 423</para> 424<informaltable><tgroup cols="1"><tbody><row><entry 425 align="char"> 426<para>int ioctl(int fd, int request = <link linkend="FE_SET_FRONTEND">FE_SET_FRONTEND</link>, 427 struct dvb_frontend_parameters ⋆p);</para> 428</entry> 429 </row></tbody></tgroup></informaltable> 430<para>PARAMETERS 431</para> 432<informaltable><tgroup cols="2"><tbody><row><entry 433 align="char"> 434<para>int fd</para> 435</entry><entry 436 align="char"> 437<para>File descriptor returned by a previous call to open().</para> 438</entry> 439 </row><row><entry 440 align="char"> 441<para>int request</para> 442</entry><entry 443 align="char"> 444<para>Equals <link linkend="FE_SET_FRONTEND">FE_SET_FRONTEND</link> for this command.</para> 445</entry> 446 </row><row><entry 447 align="char"> 448<para>struct 449 dvb_frontend_parameters 450 *p</para> 451</entry><entry 452 align="char"> 453<para>Points to parameters for tuning operation.</para> 454</entry> 455 </row></tbody></tgroup></informaltable> 456 457&return-value-dvb; 458<informaltable><tgroup cols="2"><tbody><row><entry 459 align="char"> 460<para>EINVAL</para> 461</entry><entry 462 align="char"> 463<para>Maximum supported symbol rate reached.</para> 464</entry> 465</row></tbody></tgroup></informaltable> 466</section> 467 468<section id="FE_GET_FRONTEND"> 469<title>FE_GET_FRONTEND</title> 470<para>DESCRIPTION 471</para> 472<informaltable><tgroup cols="1"><tbody><row><entry 473 align="char"> 474<para>This ioctl call queries the currently effective frontend parameters. For this 475 command, read-only access to the device is sufficient.</para> 476</entry> 477 </row></tbody></tgroup></informaltable> 478 479<para>SYNOPSIS 480</para> 481<informaltable><tgroup cols="1"><tbody><row><entry 482 align="char"> 483<para>int ioctl(int fd, int request = <link linkend="FE_GET_FRONTEND">FE_GET_FRONTEND</link>, 484 struct dvb_frontend_parameters ⋆p);</para> 485</entry> 486 </row></tbody></tgroup></informaltable> 487 488<para>PARAMETERS 489</para> 490<informaltable><tgroup cols="2"><tbody><row><entry 491 align="char"> 492<para>int fd</para> 493</entry><entry 494 align="char"> 495<para>File descriptor returned by a previous call to open().</para> 496</entry> 497 </row><row><entry 498 align="char"> 499<para>int request</para> 500</entry><entry 501 align="char"> 502<para>Equals <link linkend="FE_SET_FRONTEND">FE_SET_FRONTEND</link> for this command.</para> 503</entry> 504 </row><row><entry 505 align="char"> 506<para>struct 507 dvb_frontend_parameters 508 *p</para> 509</entry><entry 510 align="char"> 511<para>Points to parameters for tuning operation.</para> 512</entry> 513 </row></tbody></tgroup></informaltable> 514 515&return-value-dvb; 516<informaltable><tgroup cols="2"><tbody><row><entry 517 align="char"> 518<para>EINVAL</para> 519</entry><entry 520 align="char"> 521<para>Maximum supported symbol rate reached.</para> 522</entry> 523 </row></tbody></tgroup></informaltable> 524 525</section> 526 527<section id="FE_GET_EVENT"> 528<title>FE_GET_EVENT</title> 529<para>DESCRIPTION 530</para> 531<informaltable><tgroup cols="1"><tbody><row><entry 532 align="char"> 533<para>This ioctl call returns a frontend event if available. If an event is not 534 available, the behavior depends on whether the device is in blocking or 535 non-blocking mode. In the latter case, the call fails immediately with errno 536 set to EWOULDBLOCK. In the former case, the call blocks until an event 537 becomes available.</para> 538</entry> 539 </row><row><entry 540 align="char"> 541<para>The standard Linux poll() and/or select() system calls can be used with the 542 device file descriptor to watch for new events. For select(), the file descriptor 543 should be included in the exceptfds argument, and for poll(), POLLPRI should 544 be specified as the wake-up condition. Since the event queue allocated is 545 rather small (room for 8 events), the queue must be serviced regularly to avoid 546 overflow. If an overflow happens, the oldest event is discarded from the queue, 547 and an error (EOVERFLOW) occurs the next time the queue is read. After 548 reporting the error condition in this fashion, subsequent 549 <link linkend="FE_GET_EVENT">FE_GET_EVENT</link> 550 calls will return events from the queue as usual.</para> 551</entry> 552 </row><row><entry 553 align="char"> 554<para>For the sake of implementation simplicity, this command requires read/write 555 access to the device.</para> 556</entry> 557 </row></tbody></tgroup></informaltable> 558 559<para>SYNOPSIS 560</para> 561<informaltable><tgroup cols="1"><tbody><row><entry 562 align="char"> 563<para>int ioctl(int fd, int request = QPSK_GET_EVENT, 564 struct dvb_frontend_event ⋆ev);</para> 565</entry> 566 </row></tbody></tgroup></informaltable> 567 568<para>PARAMETERS 569</para> 570<informaltable><tgroup cols="2"><tbody><row><entry 571 align="char"> 572<para>int fd</para> 573</entry><entry 574 align="char"> 575<para>File descriptor returned by a previous call to open().</para> 576</entry> 577 </row><row><entry 578 align="char"> 579<para>int request</para> 580</entry><entry 581 align="char"> 582<para>Equals <link linkend="FE_GET_EVENT">FE_GET_EVENT</link> for this command.</para> 583</entry> 584 </row><row><entry 585 align="char"> 586<para>struct 587 dvb_frontend_event 588 *ev</para> 589</entry><entry 590 align="char"> 591<para>Points to the location where the event,</para> 592</entry> 593 </row><row><entry 594 align="char"> 595</entry><entry 596 align="char"> 597<para>if any, is to be stored.</para> 598</entry> 599 </row></tbody></tgroup></informaltable> 600 601&return-value-dvb; 602<informaltable><tgroup cols="2"><tbody><row><entry 603 align="char"> 604<para>EWOULDBLOCK</para> 605</entry><entry 606 align="char"> 607<para>There is no event pending, and the device is in 608 non-blocking mode.</para> 609</entry> 610 </row><row><entry 611 align="char"> 612<para>EOVERFLOW</para> 613</entry><entry 614 align="char"> 615<para>Overflow in event queue - one or more events were lost.</para> 616</entry> 617</row></tbody></tgroup></informaltable> 618</section> 619 620<section id="FE_DISHNETWORK_SEND_LEGACY_CMD"> 621 <title>FE_DISHNETWORK_SEND_LEGACY_CMD</title> 622<para>DESCRIPTION</para> 623<informaltable><tgroup cols="1"><tbody><row> 624<entry align="char"> 625<para>WARNING: This is a very obscure legacy command, used only at stv0299 driver. Should not be used on newer drivers.</para> 626<para>It provides a non-standard method for selecting Diseqc voltage on the frontend, for Dish Network legacy switches.</para> 627<para>As support for this ioctl were added in 2004, this means that such dishes were already legacy in 2004.</para> 628</entry> 629</row></tbody></tgroup></informaltable> 630 631<para>SYNOPSIS</para> 632<informaltable><tgroup cols="1"><tbody><row> 633<entry align="char"> 634<para>int ioctl(int fd, int request = 635 <link linkend="FE_DISHNETWORK_SEND_LEGACY_CMD">FE_DISHNETWORK_SEND_LEGACY_CMD</link>, unsigned long cmd);</para> 636</entry> 637</row></tbody></tgroup></informaltable> 638 639<para>PARAMETERS</para> 640<informaltable><tgroup cols="2"><tbody><row> 641<entry align="char"> 642 <para>unsigned long cmd</para> 643</entry> 644<entry align="char"> 645<para> 646sends the specified raw cmd to the dish via DISEqC. 647</para> 648</entry> 649 </row></tbody></tgroup></informaltable> 650 651&return-value-dvb; 652</section> 653 654</section> 655