add minisatip8 (axe version of minisatip 0.7.15)

This commit is contained in:
Jaroslav Kysela 2018-01-24 15:55:45 +01:00
parent 6dab49d703
commit 74cbceae37
6 changed files with 187 additions and 14 deletions

View File

@ -1,4 +1,4 @@
BUILD=14
BUILD=15
VERSION=$(shell date +%Y%m%d%H%M)-$(BUILD)
CPUS=4
CURDIR=$(shell pwd)
@ -33,10 +33,11 @@ KMODULES = drivers/usb/serial/cp210x.ko \
MINISATIP_COMMIT=54df9348e7bd7e6075f54f1b93ec4ad36429abe0
MINISATIP5_COMMIT=67e88c2d743d6df9c4a96aad772414169f61b764
MINISATIP7_COMMIT=d22ba0dfe3c706c3ab6ad86486d8a9e913080f7e
MINISATIP8_COMMIT=07b4dd8e606b0e27761f1531c83386f1e5b4b2d0
BUSYBOX=busybox-1.26.2
DROPBEAR=dropbear-2016.74
DROPBEAR=dropbear-2017.75
DROPBEAR_SBIN_FILES=dropbear
DROPBEAR_BIN_FILES=dbclient dropbearconvert dropbearkey scp
@ -79,7 +80,7 @@ MULTICAST_RTP_PACKAGE_NAME=multicast-rtp-1
TVHEADEND_COMMIT=master
# 10663 10937 11234
OSCAM_REV=11384
OSCAM_REV=11398
define GIT_CLONE
@mkdir -p apps/host
@ -124,6 +125,7 @@ CPIO_SRCS += ethtool
CPIO_SRCS += minisatip
CPIO_SRCS += minisatip5
CPIO_SRCS += minisatip7
CPIO_SRCS += minisatip8
CPIO_SRCS += oscam
CPIO_SRCS += tools/axehelper
CPIO_SRCS += nfsutils
@ -155,6 +157,8 @@ fs.cpio: $(CPIO_SRCS)
$(foreach f,$(notdir $(wildcard apps/minisatip5/html/*)), -e "apps/minisatip5/html/$f:usr/share/minisatip/html/$f") \
-e "apps/minisatip7/minisatip:sbin/minisatip7" \
$(foreach f,$(notdir $(wildcard apps/minisatip7/html/*)), -e "apps/minisatip7/html/$f:usr/share/minisatip7/html/$f") \
-e "apps/minisatip8/minisatip:sbin/minisatip8" \
$(foreach f,$(notdir $(wildcard apps/minisatip8/html/*)), -e "apps/minisatip8/html/$f:usr/share/minisatip8/html/$f") \
-e "apps/$(NANO)/src/nano:usr/bin/nano" \
-e "apps/mtd-utils/nandwrite:usr/sbin/nandwrite2" \
-e "apps/oscam-svn/Distribution/oscam-1.20-unstable_svn$(OSCAM_REV)-sh4-linux:sbin/oscamd"
@ -355,7 +359,7 @@ minisatip5-clean:
apps/minisatip7/axe.h: patches/minisatip7-axe.patch
rm -rf apps/minisatip7
$(call GIT_CLONE,https://github.com/catalinii/minisatip.git,minisatip7,$(MINISATIP7_COMMIT))
$(call GIT_CLONE,https://github.com/perexg/minisatip.git,minisatip7,$(MINISATIP7_COMMIT))
cd apps/minisatip7; patch -p1 < ../../patches/minisatip7-axe.patch
apps/minisatip7/minisatip: apps/minisatip7/axe.h
@ -377,27 +381,59 @@ minisatip7: apps/minisatip7/minisatip
minisatip7-clean:
rm -rf apps/minisatip7
#
# minisatip8
#
apps/minisatip8/axe.h: patches/minisatip8-axe.patch
rm -rf apps/minisatip8
$(call GIT_CLONE,https://github.com/catalinii/minisatip.git,minisatip8,$(MINISATIP8_COMMIT))
cd apps/minisatip8; patch -p1 < ../../patches/minisatip8-axe.patch
apps/minisatip8/minisatip: apps/minisatip8/src/axe.h
cd apps/minisatip8 && ./configure \
--enable-axe \
--disable-dvbca \
--disable-dvbapi \
--disable-dvbcsa \
--disable-dvbaes \
--disable-netceiver
make -C apps/minisatip8 \
CC=$(TOOLCHAIN)/bin/sh4-linux-gcc \
EXTRA_CFLAGS="-O2 -I$(CURDIR)/kernel/include"
.PHONY: minisatip8
minisatip8: apps/minisatip8/minisatip
.PHONY: minisatip8-clean
minisatip8-clean:
rm -rf apps/minisatip8
#
# minisatip package
#
dist/packages/minisatip-$(VERSION).tar.gz: minisatip minisatip5 minisatip7
dist/packages/minisatip-$(VERSION).tar.gz: minisatip minisatip5 minisatip7 minisatip8
rm -rf fs/usr/share/minisatip
mkdir -p fs/usr/share/minisatip/icons/ \
fs/usr/share/minisatip/html/ \
fs/usr/share/minisatip7/html/
fs/usr/share/minisatip7/html/ \
fs/usr/share/minisatip8/html/
install -m 755 apps/minisatip/minisatip fs/sbin/minisatip
install -m 644 apps/minisatip/icons/* fs/usr/share/minisatip/icons/
install -m 755 apps/minisatip5/minisatip fs/sbin/minisatip5
install -m 644 apps/minisatip5/html/* fs/usr/share/minisatip/html/
install -m 755 apps/minisatip7/minisatip fs/sbin/minisatip7
install -m 644 apps/minisatip7/html/* fs/usr/share/minisatip7/html/
install -m 755 apps/minisatip8/minisatip fs/sbin/minisatip8
install -m 644 apps/minisatip8/html/* fs/usr/share/minisatip7/html8
tar cvz -C fs -f dist/packages/minisatip-$(VERSION).tar.gz \
sbin/minisatip \
sbin/minisatip5 \
usr/share/minisatip/icons \
usr/share/minisatip/html \
usr/share/minisatip7/html
usr/share/minisatip7/html \
usr/share/minisatip8/html
ls -la dist/packages/minisatip*
.PHONY: minisatip-package
@ -576,7 +612,7 @@ apps/$(NANO)/configure:
$(call WGET,$(NANO_DOWNLOAD),apps/$(NANO_FILENAME))
tar -C apps -xzf apps/$(NANO_FILENAME)
apps/$(NANO)/nano: apps/$(NANO)/configure
apps/$(NANO)/src/nano: apps/$(NANO)/configure
cd apps/$(NANO) && \
CC=$(TOOLCHAIN)/bin/sh4-linux-gcc \
CFLAGS="-O2" \
@ -587,7 +623,7 @@ apps/$(NANO)/nano: apps/$(NANO)/configure
make -C apps/$(NANO)
.PHONY: nano
nano: apps/$(NANO)/nano
nano: apps/$(NANO)/src/nano
#
# python3-host

19
dist/README vendored
View File

@ -96,10 +96,27 @@ nfsd:
- to list connected clients 'showmount'
- to list exports 'exportfs'
Minisatip8 (0.7.15) config:
---------------------------
- this is the preferred minisatip server now
- you may add extra parameters to MINISATIP8_OPTS= in /etc/sysconfig/config
- WARNING: use -D with unique numbers if you have _multiple_ SAT>IP servers on net
- SEE: minisatip.md file in this directory for more details
- example 1: only two tuners: MINISATIP_OPTS="-e 0-1"
- example 2: unicable: MINISATIP_OPTS="-u 0:1-1420,1:0-1210,2:2-1680,3:3-2040"
- AXE hardware specific options:
-7 link adapters (identical src,lo/hi,h/v), the format is M:S (master:slave)
-Q quattro LNB config (H/H,H/V,L/H,L/V)
-9 X AXE unicable/jess input (0-3)
- example 3: unicable coax in input 2: MINISATIP_OPTS="-9 1"
- example 4: quattro LNB: MINISATIP_OPTS="-Q"
- example 5: coax in inputs 1,2, tuner 3 slave to input 1, tuner 4 slave to input 2
MINISATIP_OPTS="-7 0:2,1:3"
Minisatip 0.7 config:
---------------------
- this is the preferred minisatip server now
- you may add extra parameters to MINISATIP7_OPTS= in /etc/sysconfig/config
- WARNING: use -d with unique numbers if you have _multiple_ SAT>IP servers on net
- SEE: minisatip.md file in this directory for more details

2
dist/minisatip.md vendored
View File

@ -19,7 +19,7 @@ other AXE specific option | decription
--------------------------|---------------------
-Q | quattro mode
-A | free inputs
-M | skip MPEG-TS packets
-M | skip MPEG-TS packets (up to minisatip/8)
Standard DiseqC timing and setup
--------------------------------

View File

@ -66,8 +66,14 @@ DROPBEAR="yes"
#
# minisatip 0.7
#
MINISATIP7="yes"
MINISATIP7_OPTS=""
#MINISATIP7="yes"
#MINISATIP7_OPTS=""
#
# minisatip 0.8
#
MINISATIP8="yes"
MINISATIP8_OPTS=""
#
# inetd (httpd,ftpd)

View File

@ -3,9 +3,10 @@
MINISATIP_PROGRAM=minisatip
MINISATIP5_PROGRAM=minisatip5
MINISATIP7_PROGRAM=minisatip7
MINISATIP8_PROGRAM=minisatip8
test -r /etc/sysconfig/config && . /etc/sysconfig/config
if test "$MINISATIP" != "yes" -a "$MINISATIP5" != "yes" -a "$MINISATIP7" != "yes"; then
if test "$MINISATIP" != "yes" -a "$MINISATIP5" != "yes" -a "$MINISATIP7" != "yes" -a "$MINISATIP8" != "yes"; then
exit 0
fi
@ -28,6 +29,7 @@ while test ! -f /tmp/nosatip; do
MINISATIP_PROGRAM=minisatip
MINISATIP5_PROGRAM=minisatip5
MINISATIP7_PROGRAM=minisatip7
MINISATIP8_PROGRAM=minisatip8
. /etc/sysconfig/config
if test "$MINISATIP" = "yes"; then
nice -5 $MINISATIP_PROGRAM -f -g $MINISATIP_OPTS
@ -38,6 +40,9 @@ while test ! -f /tmp/nosatip; do
elif test "$MINISATIP7" = "yes"; then
nice -5 $MINISATIP7_PROGRAM -f -g $MINISATIP7_OPTS
logger -p local0.notice "minisatip7 exited $?, restarting"
elif test "$MINISATIP8" = "yes"; then
nice -5 $MINISATIP8_PROGRAM -f -g $MINISATIP8_OPTS
logger -p local0.notice "minisatip8 exited $?, restarting"
else
exit 0
fi

View File

@ -0,0 +1,109 @@
diff --git a/src/adapter.c b/src/adapter.c
index 0baf965..86e6da5 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -881,7 +881,6 @@ int tune(int aid, int sid)
{
adapter *ad = get_adapter(aid);
int rv = 0, flush_data = 0;
- SPid *p;
if (!ad)
return -400;
@@ -913,7 +912,7 @@ int tune(int aid, int sid)
}
}
#ifndef DISABLE_PMT
- p = find_pid(aid, 0);
+ SPid p = find_pid(aid, 0);
SPid *p_all = find_pid(aid, 8192);
if ((!p || p->flags == 3) && (!p_all || p_all->flags == 3)) // add pid 0 if not explicitly added
{
diff --git a/src/minisatip.c b/src/minisatip.c
index 5f369ff..d1594cc 100644
--- a/src/minisatip.c
+++ b/src/minisatip.c
@@ -112,6 +112,7 @@ int rtsp, http, si, si1, ssdp1;
#define SIGNALMULTIPLIER_OPT 'M'
#define DEVICEID_OPT 'D'
#define DEMUXDEV_OPT '1'
+#define TCPMAXPACK_OPT '2'
static const struct option long_options[] =
{
@@ -156,6 +157,7 @@ static const struct option long_options[] =
{"dmx-source", required_argument, NULL, '9'},
{"lnb", required_argument, NULL, 'L'},
{"xml", required_argument, NULL, 'X'},
+ {"tcp-max-pack", required_argument, NULL, '2'},
{"help", no_argument, NULL, 'h'},
{"version", no_argument, NULL, 'V'},
#ifdef AXE
@@ -276,6 +278,8 @@ Help\n\
* -B X : set the app socket write buffer to X KB. \n\
* eg: -B 10000 - to set the socket buffer to 10MB\n\
\n\
+* -2 --tcp-max-pack X : set the TCP data chunk size in MPEG-TS packets (188 bytes), default value is 42\n\
+\n\
* -d --diseqc ADAPTER1:COMMITTED1-UNCOMMITTED1[,ADAPTER2:COMMITTED2-UNCOMMITTED2[,...]\n\
\t* The first argument is the adapter number, second is the number of committed packets to send to a Diseqc 1.0 switch, third the number of uncommitted commands to sent to a Diseqc 1.1 switch\n\
\tThe higher number between the committed and uncommitted will be sent first.\n\
@@ -547,14 +551,14 @@ void set_options(int argc, char *argv[])
#endif
#ifdef AXE
opts.no_threads = 1;
- opts.document_root = "/usr/share/minisatip/html";
+ opts.document_root = "/usr/share/minisatip8/html";
#define AXE_OPTS "7:QW:8:A:"
#else
#define AXE_OPTS ""
#endif
- while ((opt = getopt_long(argc, argv, "fl:v:r:a:td:w:p:s:n:hB:b:H:m:p:e:x:u:j:o:gy:i:q:D:NVR:S:TX:Y:OL:EP:Z:0:F:M:1:" AXE_OPTS, long_options, NULL)) != -1)
+ while ((opt = getopt_long(argc, argv, "fl:v:r:a:td:w:p:s:n:hB:b:H:m:p:e:x:u:j:o:gy:i:q:D:NVR:S:TX:Y:OL:EP:Z:0:F:M:1:2:" AXE_OPTS, long_options, NULL)) != -1)
{
// printf("options %d %c %s\n",opt,opt,optarg);
switch (opt)
@@ -700,6 +704,15 @@ void set_options(int argc, char *argv[])
break;
}
+ case TCPMAXPACK_OPT:
+ {
+ opts.tcp_max_pack = atoi(optarg);
+ if (opts.tcp_max_pack < 7)
+ opts.tcp_max_pack = 7;
+ else if (opts.tcp_max_pack > 697)
+ opts.tcp_max_pack = 697;
+ }
+
case DVBS2_ADAPTERS_OPT:
{
sscanf(optarg, "%d:%d:%d", &opts.force_sadapter,
diff --git a/src/minisatip.h b/src/minisatip.h
index 3797f5a..3def916 100644
--- a/src/minisatip.h
+++ b/src/minisatip.h
@@ -9,7 +9,7 @@
#define VERSION_BUILD "15"
#define CC(a, b, c) #a b #c
-#define VERSION CC(0.7., VERSION_BUILD, )
+#define VERSION CC(0.7., VERSION_BUILD, -axe206)
void set_options(int argc, char *argv[]);
diff --git a/src/stream.c b/src/stream.c
index 879a788..f82a5e3 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -973,7 +973,7 @@ int process_dmx(sockets *s)
#endif
rlen = ad->rlen;
- int packet_no_sid = check_cc(ad);
+ const int packet_no_sid = 0 /* check_cc(ad) */;
if (ad->sid_cnt == 1 && ad->master_sid >= 0 && !packet_no_sid) // we have just 1 stream, do not check the pids, send everything to the destination
{