]>
git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - config/w_scan/w_scan_start
2 ###############################################################################
4 # IPFire.org - A linux based firewall #
5 # Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
20 ###############################################################################
21 ###############################################################################
22 # w_scan_start - 2020-02-21 Arne Fitzenreiter - update for 2017 wscan version #
23 # - 2013-04-30 Arne Fitzenreiter - add atsc #
24 # - 2013-04-20 Arne Fitzenreiter - path vdr 2 #
25 # - 2012-11-15 Arne Fitzenreiter - inital vers. #
26 ###############################################################################
30 whiptail
--msgbox " $1 " 8 70 --title "Error"
37 if [ ! " ${?} " == 0 ]; then
39 echo "Terminated by user!"
46 whiptail
--yesno " $1 " 8 70
52 # Whiptail does not like en_US.UTF-8
55 # Some initial checks...
57 err_msg
"w_scan not found!" ;
59 if [ ! -e / dev
/ dvb
/ adapter
[ 0 -9 ]/ frontend
[ 0 -9 ] ]; then
60 err_msg
"No dvb tuner frontend found!" ;
64 if [ "$(ps -A | grep " runvdr$
")" != "" ] ; then
65 yes_no
"VDR is running. Cannot scan with active VDR. Should I stop it?"
71 whiptail
--checklist " \n Select system type" 12 40 5 \
72 DVB-T
"Terrestrial" yes \
74 DVB-S
"Satellite" no \
75 ATSC-T
"Terrestrial" no \
79 W_SCAN_TYPE
= $
( cat / tmp
/ w_scan_type
)
82 if [[ " $W_SCAN_TYPE " == * ATSC
* ]] ||
[[ " $W_SCAN_TYPE " == * DVB-T
* ]] ||
[[ " $W_SCAN_TYPE " == * DVB-C
* ]]; then
83 # Generate and run separate country menubox and default germany
84 echo '#!/bin/bash' > / tmp
/ w_scan_countryselect.sh
85 echo 'whiptail --radiolist " \n Select country" 19 70 10 \' >> /tmp/w_scan_countryselect.sh
86 $WSCAN -c? 2>&1 | tail -n +2 | cut -f2,4 | sed ' s|
[ ] |
"|g' | sed 's|$|" off
\\ |g
' | sed ' s|
"GERMANY" off |
"GERMANY" on |g
' >> /tmp/w_scan_countryselect.sh
87 echo ' 2 >/ tmp
/ w_scan_country
' >> /tmp/w_scan_countryselect.sh
88 sh /tmp/w_scan_countryselect.sh
90 rm /tmp/w_scan_countryselect.sh
91 W_SCAN_COUNTRY=$(cat /tmp/w_scan_country)
92 rm /tmp/w_scan_country
95 if [[ " $W_SCAN_TYPE " == *DVB-S* ]]; then
96 # Generate and run separate satelite menubox and default astra
97 echo ' #!/bin/bash' > /tmp/w_scan_satselect.sh
98 echo 'whiptail --checklist " \n Select satellites" 19 70 10 \' >> /tmp/w_scan_satselect.sh
99 $WSCAN -s? 2>&1 | tail -n +2 | cut -f2,4 | sed ' s|
[ ] |
"|g' | sed 's|$|" off
\\ |g
' | sed ' s|
19.2 east.
* |
19.2 east Astra
1 F
/ 1 G
/ 1 H
/ 1 KR
/ 1L " on \\ |g' >> /tmp/w_scan_satselect.sh
100 echo ' 2>/tmp/w_scan_satellite' >> /tmp/w_scan_satselect.sh
101 sh /tmp/w_scan_satselect.sh
103 rm /tmp/w_scan_satselect.sh
104 W_SCAN_SATELLITE=$(cat /tmp/w_scan_satellite | sed 's|" ||g
')
105 rm /tmp/w_scan_satellite
108 # Now start the scan ...
110 rm -rf /tmp/channels.conf
111 if [[ " $W_SCAN_TYPE " == *DVB-T* ]]; then
112 echo ":->W-SCAN DVB-T $(date +%Y%m%d%H%M)" >>/tmp/channels.conf
113 $WSCAN -f t -c $W_SCAN_COUNTRY -C UTF-8 -o 2 >>/tmp/channels.conf
115 if [[ " $W_SCAN_TYPE " == *DVB-C* ]]; then
116 echo ":->W-SCAN DVB-C $(date +%Y%m%d%H%M)" >>/tmp/channels.conf
117 $WSCAN -f c -c $W_SCAN_COUNTRY -C UTF-8 -o 2 >>/tmp/channels.conf
119 if [[ " $W_SCAN_TYPE " == *DVB-S* ]]; then
120 for SATELLITE in $W_SCAN_SATELLITE ;
122 echo ":->W-SCAN DVB-S $SATELLITE $(date +%Y%m%d%H%M)" >>/tmp/channels.conf
123 $WSCAN -f s -s $SATELLITE -C UTF-8 -o 2 >>/tmp/channels.conf
126 if [[ " $W_SCAN_TYPE " == *ATSC-T* ]]; then
127 echo ":->W-SCAN ATSC-T $(date +%Y%m%d%H%M)" >>/tmp/channels.conf
128 $WSCAN -f a -A 1 -c $W_SCAN_COUNTRY -C UTF-8 -o 2 >>/tmp/channels.conf
130 if [[ " $W_SCAN_TYPE " == *ATSC-C* ]]; then
131 echo ":->W-SCAN ATSC-C $(date +%Y%m%d%H%M)" >>/tmp/channels.conf
132 $WSCAN -f a -A 2 -c $W_SCAN_COUNTRY -C UTF-8 -o 2 >>/tmp/channels.conf
135 # Save result to current dir.
136 cp /tmp/channels.conf w_scan-$(date +%Y%m%d%H%M).channels.conf
137 echo Results saved to w_scan-$(date +%Y%m%d%H%M).channels.conf
139 # Do this only if vdr is installed ...
140 if [ -e /opt/pakfire/db/installed/meta-vdr ]; then
141 yes_no "Install new channels-conf for VDR."
142 # Backup old channels conf...
143 cp -f /etc/vdr/channels.conf \
144 /etc/vdr/channels.conf.backup$(date +%Y%m%d%H%M)
145 cp -f /tmp/channels.conf /etc/vdr/
146 yes_no "Should i start the VDR?"
148 /etc/init.d/vdr start