From: Michel Verbraak <michel@verbraak.org>
To: linux-dvb@linuxtv.org, Alex Betis <alex.betis@gmail.com>
Subject: Re: [linux-dvb] [ANNOUNCE] scan-s2 is available, please test
Date: Sat, 01 Nov 2008 16:11:16 +0100 [thread overview]
Message-ID: <490C7194.8060603@verbraak.org> (raw)
In-Reply-To: <c74595dc0810251452s65154902td934e87560cad9f0@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 935 bytes --]
Alex,
Tested your scan-s2 with a Technisat HD2 card.
Scanning works. But some channels are reported twice with different
frequency. I found an error which is fixed by the patch file named
scan.c.diff1.
I would also like to propose the following change (see file scan.c.diff2
or scan.c.diff which includes both patches). This change makes it
possible to only scan for DVB-S channels or DVB-S2 channels or both.
This is done by specifying lines starting with S or S2 in the input file.
example input file:
# Astra 19.2E SDT info service transponder
# freq pol sr fec
S 12522000 H 22000000 2/3 <only DVB-S channels are scanned>
S 11914000 H 27500000 AUTO
S 10743750 H 22000000 5/6
S 12187500 H 27500000 3/4
S 12343500 H 27500000 3/4
S 12515250 H 22000000 5/6
S 12574250 H 22000000 5/6
S2 12522000 H 22000000 AUTO <only DVB-S2 channels are scanned>
S2 11914000 H 27500000 AUTO
I hope this is usefull.
Regards,
Michel.
[-- Attachment #2: scan.c.diff --]
[-- Type: text/plain, Size: 2722 bytes --]
--- scan-s2-88afcf030566/scan.c.orig 2008-11-01 10:09:43.000000000 +0100
+++ scan-s2-88afcf030566/scan.c 2008-11-01 15:55:14.000000000 +0100
@@ -906,10 +906,7 @@
// New transponder
t = alloc_transponder(tn.frequency);
- // For sattelites start with DVB-S, it will switch to DVB-S2 if DVB-S gives no results
- if(current_tp->delivery_system == SYS_DVBS || current_tp->delivery_system == SYS_DVBS2) {
- tn.delivery_system = SYS_DVBS;
- }
+ tn.delivery_system = current_tp->delivery_system;
copy_transponder(t, &tn);
}
@@ -1578,7 +1575,10 @@
if_freq = abs(t->frequency - lnb_type.low_val);
}
if (verbosity >= 2)
+ if (t->delivery_system == SYS_DVBS)
dprintf(1,"DVB-S IF freq is %d\n", if_freq);
+ else if (t->delivery_system == SYS_DVBS2)
+ dprintf(1,"DVB-S2 IF freq is %d\n", if_freq);
}
@@ -1640,7 +1640,8 @@
// get the actual parameters from the driver for that channel
if ((ioctl(frontend_fd, FE_GET_PROPERTY, &cmdseq)) == -1) {
perror("FE_GET_PROPERTY failed");
- return;
+ t->last_tuning_failed = 1;
+ return -1;
}
t->delivery_system = p[0].u.data;
@@ -1722,12 +1723,6 @@
rc = tune_to_transponder(frontend_fd, t);
- // If scan failed and it's a DVB-S system, try DVB-S2 before giving up
- if (rc != 0 && t->delivery_system == SYS_DVBS) {
- t->delivery_system = SYS_DVBS2;
- rc = tune_to_transponder(frontend_fd, t);
- }
-
if (rc == 0) {
return 0;
}
@@ -1992,6 +1987,42 @@
t->frequency,
pol[0], t->symbol_rate, fec2str(t->fec), rolloff2str(t->rolloff), qam2str(t->modulation));
}
+ else if (sscanf(buf, "S2 %u %1[HVLR] %u %4s %4s %6s\n", &f, pol, &sr, fec, rolloff, qam) >= 3) {
+ t = alloc_transponder(f);
+ t->delivery_system = SYS_DVBS2;
+ t->modulation = QAM_AUTO;
+ t->rolloff = ROLLOFF_AUTO;
+ t->fec = FEC_AUTO;
+ switch(pol[0])
+ {
+ case 'H':
+ case 'L':
+ t->polarisation = POLARISATION_HORIZONTAL;
+ break;
+ default:
+ t->polarisation = POLARISATION_VERTICAL;;
+ break;
+ }
+ t->inversion = spectral_inversion;
+ t->symbol_rate = sr;
+
+ // parse optional parameters
+ if(strlen(fec) > 0) {
+ t->fec = str2fec(fec);
+ }
+
+ if(strlen(rolloff) > 0) {
+ t->rolloff = str2rolloff(rolloff);
+ }
+
+ if(strlen(qam) > 0) {
+ t->modulation = str2qam(qam);
+ }
+
+ info("initial transponder %u %c %d %s %s %s\n",
+ t->frequency,
+ pol[0], t->symbol_rate, fec2str(t->fec), rolloff2str(t->rolloff), qam2str(t->modulation));
+ }
else if (sscanf(buf, "C %u %u %4s %6s\n", &f, &sr, fec, qam) >= 2) {
t = alloc_transponder(f);
t->delivery_system = SYS_DVBC_ANNEX_AC;
[-- Attachment #3: scan.c.diff1 --]
[-- Type: text/plain, Size: 446 bytes --]
--- scan-s2-88afcf030566/scan.c.orig 2008-11-01 10:09:43.000000000 +0100
+++ scan-s2-88afcf030566/scan.c 2008-11-01 15:55:14.000000000 +0100
@@ -1640,7 +1640,8 @@
// get the actual parameters from the driver for that channel
if ((ioctl(frontend_fd, FE_GET_PROPERTY, &cmdseq)) == -1) {
perror("FE_GET_PROPERTY failed");
- return;
+ t->last_tuning_failed = 1;
+ return -1;
}
t->delivery_system = p[0].u.data;
[-- Attachment #4: scan.c.diff2 --]
[-- Type: text/plain, Size: 2417 bytes --]
--- scan-s2-88afcf030566/scan.c.orig 2008-11-01 10:09:43.000000000 +0100
+++ scan-s2-88afcf030566/scan.c 2008-11-01 15:55:14.000000000 +0100
@@ -906,10 +906,7 @@
// New transponder
t = alloc_transponder(tn.frequency);
- // For sattelites start with DVB-S, it will switch to DVB-S2 if DVB-S gives no results
- if(current_tp->delivery_system == SYS_DVBS || current_tp->delivery_system == SYS_DVBS2) {
- tn.delivery_system = SYS_DVBS;
- }
+ tn.delivery_system = current_tp->delivery_system;
copy_transponder(t, &tn);
}
@@ -1578,7 +1575,10 @@
if_freq = abs(t->frequency - lnb_type.low_val);
}
if (verbosity >= 2)
+ if (t->delivery_system == SYS_DVBS)
dprintf(1,"DVB-S IF freq is %d\n", if_freq);
+ else if (t->delivery_system == SYS_DVBS2)
+ dprintf(1,"DVB-S2 IF freq is %d\n", if_freq);
}
@@ -1722,12 +1723,6 @@
rc = tune_to_transponder(frontend_fd, t);
- // If scan failed and it's a DVB-S system, try DVB-S2 before giving up
- if (rc != 0 && t->delivery_system == SYS_DVBS) {
- t->delivery_system = SYS_DVBS2;
- rc = tune_to_transponder(frontend_fd, t);
- }
-
if (rc == 0) {
return 0;
}
@@ -1992,6 +1987,42 @@
t->frequency,
pol[0], t->symbol_rate, fec2str(t->fec), rolloff2str(t->rolloff), qam2str(t->modulation));
}
+ else if (sscanf(buf, "S2 %u %1[HVLR] %u %4s %4s %6s\n", &f, pol, &sr, fec, rolloff, qam) >= 3) {
+ t = alloc_transponder(f);
+ t->delivery_system = SYS_DVBS2;
+ t->modulation = QAM_AUTO;
+ t->rolloff = ROLLOFF_AUTO;
+ t->fec = FEC_AUTO;
+ switch(pol[0])
+ {
+ case 'H':
+ case 'L':
+ t->polarisation = POLARISATION_HORIZONTAL;
+ break;
+ default:
+ t->polarisation = POLARISATION_VERTICAL;;
+ break;
+ }
+ t->inversion = spectral_inversion;
+ t->symbol_rate = sr;
+
+ // parse optional parameters
+ if(strlen(fec) > 0) {
+ t->fec = str2fec(fec);
+ }
+
+ if(strlen(rolloff) > 0) {
+ t->rolloff = str2rolloff(rolloff);
+ }
+
+ if(strlen(qam) > 0) {
+ t->modulation = str2qam(qam);
+ }
+
+ info("initial transponder %u %c %d %s %s %s\n",
+ t->frequency,
+ pol[0], t->symbol_rate, fec2str(t->fec), rolloff2str(t->rolloff), qam2str(t->modulation));
+ }
else if (sscanf(buf, "C %u %u %4s %6s\n", &f, &sr, fec, qam) >= 2) {
t = alloc_transponder(f);
t->delivery_system = SYS_DVBC_ANNEX_AC;
[-- Attachment #5: Type: text/plain, Size: 150 bytes --]
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next prev parent reply other threads:[~2008-11-01 15:11 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-25 21:52 [linux-dvb] [ANNOUNCE] scan-s2 is available, please test Alex Betis
2008-10-28 9:27 ` oleg roitburd
2008-10-28 19:23 ` Alex Betis
2008-10-28 20:05 ` oleg roitburd
2008-10-28 20:20 ` Alex Betis
2008-10-30 22:10 ` Alex Betis
2008-10-31 11:58 ` Goga777
2008-10-31 12:06 ` Alex Betis
[not found] ` <157f4a8c0811030703w195a4947uab8c3076173898e5@mail.gmail.com>
2008-11-03 18:04 ` hudo kkow
2008-11-03 20:12 ` Alex Betis
2008-11-04 15:50 ` Hans Werner
2008-11-04 16:11 ` Alex Betis
2008-11-12 19:31 ` Alex Betis
2008-11-13 0:57 ` Hans Werner
2008-10-29 15:51 ` Mika Laitio
2008-10-29 19:19 ` Alex Betis
2008-10-29 21:27 ` Mika Laitio
2008-10-30 4:29 ` Alex Betis
2008-11-01 15:11 ` Michel Verbraak [this message]
2008-11-01 15:20 ` Goga777
2008-11-01 15:44 ` Michel Verbraak
2008-11-01 15:50 ` Goga777
2008-11-01 15:59 ` Michel Verbraak
2008-11-02 5:06 ` Alex Betis
2008-11-03 15:20 ` hudo kkow
2008-11-02 5:03 ` Alex Betis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=490C7194.8060603@verbraak.org \
--to=michel@verbraak.org \
--cc=alex.betis@gmail.com \
--cc=linux-dvb@linuxtv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox