w scan cpp

From LinuxTVWiki
Jump to navigation Jump to search

w_scan_cpp is a command line utility used to perform frequency scans for DVB and ATSC transmissions, using local DTV cards, or accessing a remote SAT>IP server.

It replaces by the older tool w_scan with similar syntax, and creates channel data in several different formats.

Obtaining w_scan_cpp

The last w_scan_cpp version can be obtained at https://www.gen2vdr.de/wirbel, where also the last version of the older w_scan is stored.
There's also a github page on w_scan_cpp, used for development and backup purposes only. Use always latest version from homepage.

Documentation

Detailed information can be found in the w_scan_cpp man page (i.e. from a console, run man w_scan_cpp).
Running w_scan_cpp with the -h parameter gives a summary of it's basic command line options.

In general, when using w_scan_cpp you should at least specify three parameters: frontend type, country/satellite and output format.
The following table summarizes the basic usage of w_scan_cpp. For further features and use cases, use extended help: w_scan_cpp -H.

w_scan_cpp [options...] >> channels.conf
Basic commandline parameters and options
Parameter Argument Description & Options
Frontend Type -fType

a = ATSC (North America, cable and terrestrial)
c = DVB-C (Europe, cable)
s = DVB-S/S2 (Satellite)
t = DVB-T/T2 (Europe, terrestrial = default)

NOTE:

  • if "--satip" is not given, local hardware will be used.
ATSC Type -AType

(ignored for DVB-S/S2, DVB-C and DVB-T/T2)
1 = VSB ("Over-the-Air)"
2 = QAM annex B ("cable TV")
3 = both of them

Country ID -cID

(mandatory for ATSC, DVB-C, DVB-T/T2)
uppercase two character identifier as defined in ISO 3166-1,
(DE,FR,GB,US,FI,...)
see -c? for list of countries.

Satellite ID -sID

(mandatory for DVB-S/S2)
uppercase character constant with E (east) or W (west) as separator,
(S19E2,S13E0,S0W8,...)
see -s? for list of satellites.

SAT>IP -t, --satip

Use a SAT>IP remote tuner.
Auto-discovers SAT>IP servers on the local Net and uses one tuner on the
remote server, instead of local DTV hardware.

NOTE:

  • The SAT>IP spec defines DVB-C/C2, DVB-T/T2 and DVB-S/S2 only.
Output Format -Format

-I, --output-ini = generate transponder ini
-L, --output-VLC = VLC xspf playlist
-V, --output-VLC-satip = generate VLC xspf playlist for SAT>IP
-M, --output-mplayer = mplayer format, similar to X
-X, --output-xine = czap/tzap/xine channels.conf
-x, --output-initial = "initial tuning data" for dvbv5-scan
-Y <FILENAME>, --output-dat <FILENAME> = generate channels.dat for SAT>IP DvbViewer Lite

NOTE:

Monitor signal reception
-F <VDR_Channel>,
--femon <VDR_Channel>

Monitor Signal Lock, Strength, Quality
Requires a given Channel definition in VDR format,
as described in 'man 5 vdr'.

NOTE:

  • supported features depend on your hardware and it's drivers.
Help Level -Level

h = basic help
H = extended help for expert functionality

Some working examples, cobbled together from the basics given in the above table, are provided below.
Note: Experts or experienced users may use some of the other options available, but usually this is not needed. (For example, w_scan_cpp searches /dev/dvb/adapterX/frontendY for DVB/ATSC cards matching to option "-f", therefore specifying the adapter "-a XX" is not recommended.)

Examples

Scanning ATSC VSB (United States, Over-the-Air)

$ w_scan_cpp -fa -A1 -c US -X

Scanning ATSC QAM annex B (United States, digital cable TV)

$ w_scan_cpp -fa -A2 -c US -X

Scanning DVB-T/T2 (Germany, Over-the-Air, VDR output)

$ w_scan_cpp -ft -c DE

Scanning DVB-S/S2 (Astra 19.2east)

$ w_scan_cpp -fs -s S19E2

Scanning DVB-S/S2 (Astra 19.2east, using SAT>IP server)

$ w_scan_cpp -fs -s S19E2 --satip

Scanning DVB-C (Germany, SAT>IP, choose server)

$ w_scan_cpp -fc -c DE --satip --satip-server 192.168.2.66|DVBC-1|minisatip

Scanning DVB-S (Hotbird, 4-port DiSeqC switch, hotbird at port 3)

$ w_scan_cpp -fs -s S13E0 -D2c

Note: ports are counting from '0'.

Scanning DVB-S/S2 (Astra 19.2east, SCR/EN50494 @ CH0/1076MHz/Satpos A)

$ w_scan_cpp -fs -s S19E2 -u 0:1400:A Note:

* SCR is sometimes wrong called Unicable.
* Channel ID (0..7) needs to fit userband frequency.

Generating dvbv5-scan tuning data

Exactly as above, just specify output format dvbv5-scan with "-x":

$ w_scan_cpp -f <FRONTEND_TYPE> {-c <COUNTRY>,-s <SATELLITE>} -x >cc-Ttttt

If you choose to create an initial scan file (and you know the name of your local transmitter or cable provider), you can send the resulting file to the dvb mailing list after checking that it hasn't already been posted or added to their repos.

Monitoring reception of SAT.1 Gold HD on Astra 19.2 using SAT>IP

$ w_scan_cpp -fs -sS19E2 --satip --femon "SAT.1 Gold HD;ProSiebenSat.1:11111:HC23M5O35P0S1:S19.2E:22000:255=27:0;259=deu@106:32:1830,1860,1843,98C,9C4,186A,98D,186D,1842,4B64,4AF4:12500:1:1043:0"
/*******************************************************************************
 * w_scan_cpp Version 20210807
 ******************************************************************************/

/*******************************************************************************
 * devices
 ******************************************************************************/
skip DVB devices - using satip plugin.
using SELFSAT-IP@192.168.2.47
Device0 plg: SAT>IP 0
Device1 plg: SAT>IP 1
monitoring device 'SAT>IP 0'
lock 0 |
lock 0 | quality 0% |
lock 1 | signal 69.58dBuV | quality 93% |
lock 1 | signal 69.58dBuV | quality 93% |
lock 1 | signal 69.58dBuV | quality 100% |
lock 1 | signal 69.58dBuV | quality 100% |

NOTE:

* SAT>IP servers report signal a limited set of reception stats only: Frontend lock, Signal level(0..255, w_scan_cpp translates to dBuV), Signal quality(0..15 -> 0..100%).
* Level is reported in dBuV or percent
* Quality is reported as percent
* unsupported features are not reported at all.


Monitoring reception of Das Erste HD on local DVB-C frontend

$ ./w_scan_cpp -fc -cDE --femon "Das Erste HD;ARD:314000:C0M256:C:6900:5101=27:5102=deu@3,5103=mis@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0"
/*******************************************************************************
 * w_scan_cpp Version 20210807
 ******************************************************************************/

/*******************************************************************************
 * devices
 ******************************************************************************/
Device0 dvb:a0f0: Sony CXD2843ER DVB-T/T2/C/C2 demodulator
Device1 dvb:a1f0: Sony CXD2843ER DVB-T/T2/C/C2 demodulator
Device2 dvb:a2f0: Sony CXD2854ER DVB-T/T2/C and ISDB-T demodulator
Device3 dvb:a3f0: Sony CXD2854ER DVB-T/T2/C and ISDB-T demodulator
Device4 dvb:a6f0: Silicon Labs Si2168
monitoring device 'Sony CXD2843ER DVB-T/T2/C/C2 demodulator'
lock 0 | quality 0% |
lock 1 | signal 74.78dBuV | quality 100% | snr 38.75dB | ber 3.641546e-06
lock 1 | signal 75.04dBuV | quality 100% | snr 38.75dB | ber 3.641546e-06
lock 1 | signal 75.17dBuV | quality 100% | snr 38.66dB | ber 3.621538e-06
lock 1 | signal 74.72dBuV | quality 100% | snr 39.04dB | ber 3.601748e-06
lock 1 | signal 74.72dBuV | quality 100% | snr 38.75dB | ber 3.582173e-06
lock 1 | signal 74.91dBuV | quality 100% | snr 38.66dB | ber 3.562810e-06


Monitoring reception of Euronews HD on local DVB-T2 frontend /dev/dvb/adapter6

$ ./w_scan_cpp -a6 -ft -cDE -F "Euronews HD;MEDIA BROADCAST:570000000:B8D0G19128S1T16Y0P1Q7766X0:T:27500:2385=36:0:0:0:17027:8468:16498:0"
/*******************************************************************************
 * w_scan_cpp Version 20210815
 ******************************************************************************/
/*******************************************************************************
 * devices
 ******************************************************************************/
Device0 dvb:a6f0: Silicon Labs Si2168
monitoring device 'Silicon Labs Si2168'
lock 0 | signal 0% |
lock 0 | signal 0% |
lock 0 | signal 0% |
lock 0 | signal 0% |
lock 0 | signal 0% |
lock 0 | signal 0% |
lock 1 | signal 0% | quality 100% | snr 26.75dB | ber 2.192e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.25dB | ber 2.217e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.25dB | ber 2.254e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.25dB | ber 2.291e-01 (too high)
lock 0 | signal 57.75dBuV  |
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.75dB | ber 2.351e-01 (too high)
lock 0 | signal 57.75dBuV  |
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.75dB | ber 2.399e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.25dB | ber 2.434e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.75dB | ber 2.469e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.75dB | ber 2.504e-01 (too high)
lock 1 | signal 57.75dBuV  | quality 100% | snr 26.25dB | ber 2.538e-01 (too high)

Note:

* Demod signal lock takes too long here, about six seconds.
* Bit Error Rate is marked as too high
* frontend even looses Signal Lock sometimes.
* conclusion: Something is not working properly here.

Building w_scan_cpp

Before building the tool, you may want to check, if your distribution already ships w_scan_cpp.

AUR, Debian and VDR related distributions plus a few Raspberry distris are known to ship w_scan_cpp.

Building requires several deps, see README, 'make download' requires network access and git + wget.

tar xf w_scan_cpp-YYYYMMDD
cd w_scan_cpp-YYYYMMDD
make download
make -j8
make install

Also See

External Links