diff --git a/Makefile b/Makefile index 16c86697..652944e1 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ KMODULES = drivers/usb/serial/cp210x.ko \ MINISATIP_COMMIT=54df9348e7bd7e6075f54f1b93ec4ad36429abe0 MINISATIP5_COMMIT=67e88c2d743d6df9c4a96aad772414169f61b764 MINISATIP7_COMMIT=d22ba0dfe3c706c3ab6ad86486d8a9e913080f7e -MINISATIP8_COMMIT=07b4dd8e606b0e27761f1531c83386f1e5b4b2d0 +MINISATIP8_COMMIT=2ec668f16527d35a2162d5518fbdef2a3bda6712 BUSYBOX=busybox-1.26.2 diff --git a/fs-add/etc/sysctl.conf b/fs-add/etc/sysctl.conf index 157bd9aa..06b60e6d 100644 --- a/fs-add/etc/sysctl.conf +++ b/fs-add/etc/sysctl.conf @@ -4,6 +4,6 @@ vm.vfs_cache_pressure = 20 vm.dirty_ratio = 40 net.core.rmem_max=524288 -net.core.wmem_max=524288 +net.core.wmem_max=12582912 net.ipv4.tcp_rmem=4096 65536 65536 net.ipv4.tcp_wmem=65536 65536 524288 diff --git a/patches/minisatip7-axe.patch b/patches/minisatip7-axe.patch index 8c2fde28..97f6c3b0 100644 --- a/patches/minisatip7-axe.patch +++ b/patches/minisatip7-axe.patch @@ -297,7 +297,7 @@ index 375a820..0445820 100755 void set_nopm_adapters(char *o); void set_adapter_dmxsource(char *o); diff --git a/axe.c b/axe.c -index 486b2f8..1373ba7 100755 +index 486b2f8..b77b62d 100755 --- a/axe.c +++ b/axe.c @@ -47,10 +47,7 @@ @@ -555,6 +555,15 @@ index 486b2f8..1373ba7 100755 ad->type = ADAPTER_DVB; close(fd); na++; +@@ -622,7 +763,7 @@ void free_axe_input(adapter *ad) + adapter *ad2; + + for (aid = 0; aid < 4; aid++) { +- ad2 = get_adapter(aid); ++ ad2 = get_configured_adapter(aid); + if(ad2) + ad2->axe_used &= ~(1 << ad->id); + } @@ -715,7 +856,6 @@ adapter *axe_vdevice_sync(int aid) char buf[1024], *p; int64_t t; diff --git a/patches/minisatip8-axe.patch b/patches/minisatip8-axe.patch index 27fa37e9..4a76bacb 100644 --- a/patches/minisatip8-axe.patch +++ b/patches/minisatip8-axe.patch @@ -1,85 +1,35 @@ -diff --git a/src/adapter.c b/src/adapter.c -index 0baf965..37fb791 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -515,7 +515,7 @@ int getAdaptersCount() - tuner_t2 = tt2; - if (!opts.force_cadapter) - tuner_c = tc; -- if (!opts.force_cadapter) -+ if (!opts.force_tadapter) - tuner_t = tt; - tuner_at = tat; - tuner_ac = tac; -@@ -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/axe.c b/src/axe.c -index c4f2c6d..9383d7c 100644 +index 9383d7c..e999a53 100644 --- a/src/axe.c +++ b/src/axe.c -@@ -669,14 +669,14 @@ fe_delivery_system_t axe_delsys(int aid, int fd, fe_delivery_system_t *sys) +@@ -48,7 +48,7 @@ - void axe_get_signal(adapter *ad) - { -- uint16_t strength = 0, snr = 0; -- uint32_t status = 0, ber = 0, tmp; -+ int strength = 0, snr = 0; -+ int status = 0, ber = 0, tmp; - get_signal(ad, &status, &ber, &strength, &snr); + #ifndef DISABLE_LINUXDVB + +-void get_signal(adapter *ad, uint32_t *status, uint32_t *ber, uint16_t *strength, uint16_t *snr); ++void get_signal(adapter *ad, int *status, int *ber, int *strength, int *snr); + int send_jess(adapter *ad, int fd, int freq, int pos, int pol, int hiband, diseqc *d); + int send_unicable(adapter *ad, int fd, int freq, int pos, int pol, int hiband, diseqc *d); + int send_diseqc(adapter *ad, int fd, int pos, int pos_change, int pol, int hiband, diseqc *d); +@@ -819,9 +819,11 @@ void free_axe_input(adapter *ad) + + for (aid = 0; aid < 4; aid++) + { +- ad2 = get_adapter(aid); +- if (ad2) ++ ad2 = get_configured_adapter(aid); ++ if (ad2) { + ad2->axe_used &= ~(1 << ad->id); ++ LOGM("axe: free input %d : %04x", ad2->id, ad2->axe_used); ++ } + } + } - strength = strength * 240 / 24000; - if (strength > 240) - strength = 240; -- tmp = (uint32_t)snr * 255 / 54000; -+ tmp = snr * 255 / 54000; - if (tmp > 255) - tmp = 255; - if (tmp <= 15) diff --git a/src/minisatip.c b/src/minisatip.c -index 5f369ff..909072a 100644 +index 0f47290..909072a 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[]) +@@ -551,7 +551,7 @@ void set_options(int argc, char *argv[]) #endif #ifdef AXE opts.no_threads = 1; @@ -88,33 +38,8 @@ index 5f369ff..909072a 100644 #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,16 @@ 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; -+ break; -+ } -+ - 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 +index 3797f5a..0d73411 100644 --- a/src/minisatip.h +++ b/src/minisatip.h @@ -9,7 +9,7 @@ @@ -122,12 +47,12 @@ index 3797f5a..3def916 100644 #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) ++#define VERSION CC(0.7., VERSION_BUILD, -axe207) void set_options(int argc, char *argv[]); diff --git a/src/stream.c b/src/stream.c -index 879a788..f82a5e3 100644 +index 35102f4..c85a2d6 100644 --- a/src/stream.c +++ b/src/stream.c @@ -973,7 +973,7 @@ int process_dmx(sockets *s)