diff --git a/Makefile b/Makefile index 8e69267d..a4f8feb5 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/dist/README b/dist/README index 28cb5fec..f62b17cc 100644 --- a/dist/README +++ b/dist/README @@ -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 diff --git a/dist/minisatip.md b/dist/minisatip.md index a12b702f..6b27b2c0 100644 --- a/dist/minisatip.md +++ b/dist/minisatip.md @@ -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 -------------------------------- diff --git a/fs-add/etc/config.default b/fs-add/etc/config.default index 51054488..8258220c 100644 --- a/fs-add/etc/config.default +++ b/fs-add/etc/config.default @@ -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) diff --git a/fs-add/etc/init.d/satip b/fs-add/etc/init.d/satip index 5615a5df..9513572c 100755 --- a/fs-add/etc/init.d/satip +++ b/fs-add/etc/init.d/satip @@ -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 diff --git a/patches/minisatip8-axe.patch b/patches/minisatip8-axe.patch new file mode 100644 index 00000000..56c1630b --- /dev/null +++ b/patches/minisatip8-axe.patch @@ -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 + {