w_scan_cpp(1)

NAME w_scan_cpp - an universal DTV scanner and successor of w_scan.

SYNOPSIS
w_scan_cpp -fa -c <COUNTRY_ID> [ options ]
w_scan_cpp -fc -c <COUNTRY_ID> [ options ]
w_scan_cpp -ft -c <COUNTRY_ID> [ options ]
w_scan_cpp -fs -s <SATELLITE_ID> [ options ]

DESCRIPTION
w_scan_cpp scans for DVB-C, DVB-S/S2, DVB-T/T2 and ATSC channels,
or, let's call it digital TV and Radio services.
During a scan, this utility writes commands to your DTV hardware
and reads data from it.
Therefore, any other program accessing the DVB hardware
with write access (like e.g. VDR, tvheadend, minisatip,..) has to
be closed in order to avoid conflicts while running w_scan_cpp.
Also, enshure that you start this tool with proper write
permissions to your hardware, i.e using sudo.
After a successful scan, w_scan_cpp provides the channels in
different output formats.
By default, the data is written as VDR channels.conf. If you
prefer another output format, see OPTIONS section.

OPTIONS
The following options are available.

-f TYPE, --frontend TYPE
    Frontend type, What programs do you want to search for?
    "a" = atsc (vsb/qam; North-America)
    "c" = DVB-C (digital cable)
    "s" = DVB-S/S2 (digital satellite)
    "t" = DVB-T/T2 (digital terrestrial)[default]
    IMPORTANT: Depending on "TYPE",
    either of the arguments "-s" or "-c" is mandatory.

-A N, --atsc_type N
    specify ATSC type (North-America only)
    "1" = Terrestrial ('VSB') [default]
    "2" = Cable (sometimes called wrong 'QAM' or 'clear-QAM')
    "3" = both, Terrestrial and Cable

-t, --satip
    use a SAT>IP (network connected) tuner via VDR Satip Plugin,
    instead of a local installed tuner.
    see https://www.satip.info

-c <COUNTRY_ID>, --country <COUNTRY_ID>
    Mandatory argument for ATSC, cable and terrestrian scans,
    see option -f.
    Specifies the country where you try to scan for channels.
    Argument is an uppercase two letter identifier, e.g.
    DE = Germany,
    FR = France
    GB = Great Britain
    US = United States,
    Use "-c?" for a list of all known identifiers.

-s <SATELLITE_ID>, --satellite <SATELLITE_ID>
    choose your satellite here:
    S19E2, S13E0, S15W0, ..
    ? for list

-I, --output-ini
    generate transponder ini instead of VDR channels.conf

-L, --output-VLC
    generate VLC xspf playlist instead of VDR channels.conf

-V, --output-VLC-satip
    generate VLC xspf playlist for SAT>IP instead of VDR channels.conf

-M, --output-mplayer
    generate mplayer output instead of VDR channels.conf

-X, --output-xine
    generate tzap/czap/xine output instead of VDR channels.conf

-x, --output-initial
    generate dtv scan table for dvbv5-scan instead of VDR
    channels.conf

-Z, --output-xml
    generate w_scan XML tuning data instead of VDR channels.conf

-Y <FILENAME>, --output-dat <FILENAME>
    generate channels.dat for SAT>IP DvbViewer Lite

-F <VDR-CHANNEL>, --femon <VDR-CHANNEL>
    tune to a channel in VDR syntax and report signal status.
    For details about VDR channel syntax, see vdr(5)

-H, --extended-help
    view extended help (experts only)

EXPERT OPTIONS

*** General ***

-v, --verbose
    be more verbose (repeat for more)

-q, --quiet
    be more quiet (repeat for less)

*** Services ***

-C FILE, --sort-criteria FILE
    sort services in sequence, as given by FILE.
    FILE is a text file, each line gives the name of a service,
    optionally followed by a delimiter (',' or ';' or ':') and a comment.
    If 'name' is 7bit ASCII only, the comparison is case-insensitive.
    Otherwise, for non-7bit ASCII, the case behaviour depends on your system.
    w_scan_cpp tries to output services in the same sequence as your file -
    but only for those channels which are really found.
    If several services match the name, they are grouped together.
    Services not matching any sort-criteria appear after the sorted lines.
    NOTE: 'FILE' should be in the same encoding as used during scan, ie utf8.
    Example:
    Das Erste HD;ARD:
    ZDF HD
    :*** private channels ***
    SAT.1 HD;ProSiebenSat.1
    RTL HD:should be channel number 4.

-R N, --radio-services N
    0 = don't search radio channels
    1 = search radio channels [default]

-T N, --tv-services N
    0 = don't search TV channels
    1 = search TV channels[default]

-E N, --encrypted-services (Conditional Access)
    N=0 gets only Free TV channels
    N=1 search also encrypted channels [default]

*** Device ***

-a N, --adapter N
    use device /dev/dvb/adapterN/ [default: auto detect]
    (also allowed: -a /dev/dvb/adapterN/frontendM)

--satip-server <STRING>
    do not auto detect the satip server, but use manual
    server settings, ie.
    192.168.2.66 (the servers IP)
    192.168.2.66|DVBC-1 (the server has one DVB-C frontend)
    192.168.2.66|DVBS2-2,DVBT2-2|OctopusNet (two different fe types and quirks for OctopusNet)
    NOTE: as this option is just forwarded to the vdr-plugin-satip,
    please refer to it's README for further details.

*** DVB-C ***

-i N, --inversion N
    spectral inversion setting for cable TV
    (0: off, 1: on, 2: auto [default])

-Q N, --dvbc-modulation N
    set DVB-C modulation, see table: 0 = QAM64
    1 = QAM256
    2 = QAM128
    3 = all (SLOW!)
    NOTE: for experienced users only!!

-e N,--dvbc-extflags N
    extended scan flags (DVB-C only),
    Any combination of these flags:
    1 = use extended symbolrate list
    enables scan of symbolrates
       6900, 6875, 6111, 6250, 6790,
       6811, 5900, 5000, 3450, 4000,
       6950, 7000, 6952, 5156, 5483
    2 = extended QAM scan (enable QAM128)
    recommended for Nethterlands and Finland
    NOTE: extended scan will be *slow*

-S N, dvbc-symbolrate N
    set DVB-C symbol rate, see table:
            0 = 6900 kSymbol/s
            1 = 6875 kSymbol/s
            4 = 6952 kSymbol/s
            5 = 6950 kSymbol/s
            6 = 6790 kSymbol/s
            7 = 6811 kSymbol/s
            8 = 6250 kSymbol/s
            9 = 6111 kSymbol/s
            11 = 5900 kSymbol/s
            12 = 5483 kSymbol/s
            14 = 5156 kSymbol/s
            15 = 5000 kSymbol/s
            16 = 4000 kSymbol/s
            17 = 3450 kSymbol/s
    NOTE: for experienced users only!!

*** DVB-S/S2 ***

-l <LNB type>, --lnb-type <LNB type>
    choose LNB type by name (DVB-S/S2 only)
    ? for list

-D Nc, --diseqc-switch Nc
    use DiSEqC committed switch position N
    AA..BB => 0..3

-D Nu, --diseqc-switch Nu
    use DiSEqC uncommitted switch position N
    N = 0..15

-r N, --rotor-position N
    use Rotor position N (needs -s)

-U PARAMLIST, --rotor-usals PARAMLIST
    where PARAMLIST is Lat:Long:Speed:Swing
       Lat : your site latitude in tenth of degree, negative south, positive north
       Long : your site longitude in tenth of degree, negative west , positive east
       Speed: your rotor speed in tenth of degree per second
       Swing: your rotor max swing in tenth of degree
    example: a rotor located in Berlin/Germany (52.52,13.41),
                moving at 1.5deg/sec, max swing 65deg gives
                --rotor-usals 525:134:15:650

-u <slot:user_frequency:sat_pos(:user_pin)>
    see --scr

--scr <slot:user_frequency:sat_pos(:user_pin)>
    Satellite Channel Routing
      a) use EN50494:
         slot : slot number for user frequency, 0..7
         user_frequency: receiver user frequency for slot in MHz, i.e. 1400
         sat_pos : satellite position (upper case), 'A' or 'B'
         user_pin : optional user pin, normally not used (0..255)
      i.e. -u 0:1400:A for EN50494, slot 0 at 1400 MHz, Satellite Pos 'A'

      b) use advanced SCR EN50607/JESS:
         slot : slot number for user frequency, 0..31
         user_frequency: receiver user frequency for slot in MHz, i.e. 1400
         sat_pos : satellite position (lower case), 'a' .. 'p'
         user_pin : optional user pin, normally not used (0..255)
      i.e. -u 0:1400:a for EN50607 slot 0 at 1400 MHz, Satellite Pos 'a'
                            sat| committed switch | uncommitted switch
                            pos| option | position | option | position
                            'a' 0 | 0 | 0 | 0
                            'b' 0 | 1 | 0 | 0
                            'c' 1 | 0 | 0 | 0
                            'd' 1 | 1 | 0 | 0
                            'e' 0 | 0 | 0 | 1
                            'f' 0 | 1 | 0 | 1
                            'g' 1 | 0 | 0 | 1
                            'h' 1 | 1 | 0 | 1
                            'i' 0 | 0 | 1 | 0
                            'j' 0 | 1 | 1 | 0
                            'k' 1 | 0 | 1 | 0
                            'l' 1 | 1 | 1 | 0
                            'm' 0 | 0 | 1 | 1
                            'n' 0 | 1 | 1 | 1
                            'o' 1 | 0 | 1 | 1
                            'p' 1 | 1 | 1 | 1

REPORTING BUGS
see README file from source code package.

AUTHOR
Written by W.Koehler

Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License,
Version 2 any later version published by the Free Software
Foundation.

SEE ALSO
vdr (1)
w_scan (1)