updated minisatip (LED setup, DVR buffer flush), increased dmesg kernel buffer, added axe-debug script
This commit is contained in:
parent
e2155eb2e0
commit
e5ba7e0e43
@ -59,6 +59,7 @@ d=/lib/modules/axe
|
|||||||
insmod $d/stapi_core_stripped.ko
|
insmod $d/stapi_core_stripped.ko
|
||||||
insmod $d/stapi_ioctl_stripped.ko
|
insmod $d/stapi_ioctl_stripped.ko
|
||||||
insmod $d/axe_i2c.ko
|
insmod $d/axe_i2c.ko
|
||||||
|
echo "i2c_dbg_trans 1" > /proc/bus/ivo_i2c
|
||||||
insmod $d/axe_fe.ko
|
insmod $d/axe_fe.ko
|
||||||
insmod $d/axe_fp.ko
|
insmod $d/axe_fp.ko
|
||||||
insmod $d/axe_dmx.ko
|
insmod $d/axe_dmx.ko
|
||||||
@ -102,8 +103,10 @@ for i in $(cat /proc/devices); do
|
|||||||
done
|
done
|
||||||
/etc/init.d/axe &
|
/etc/init.d/axe &
|
||||||
axehelper wait 5000 -10 /tmp/axe-done
|
axehelper wait 5000 -10 /tmp/axe-done
|
||||||
|
axehelper wait 2000 -10
|
||||||
#nc -l 127.0.0.1:1001 -e /bin/true
|
#nc -l 127.0.0.1:1001 -e /bin/true
|
||||||
rm -f /root/main_init.sh /tmp/axe-done
|
rm -f /root/main_init.sh /tmp/axe-done
|
||||||
|
echo "i2c_dbg_trans 0" > /proc/bus/ivo_i2c
|
||||||
|
|
||||||
# hostname
|
# hostname
|
||||||
test -r /etc/sysconfig/config && . /etc/sysconfig/config
|
test -r /etc/sysconfig/config && . /etc/sysconfig/config
|
||||||
|
55
fs-add/sbin/axe-debug
Executable file
55
fs-add/sbin/axe-debug
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
show_help() {
|
||||||
|
echo "AXE debug script, commands:"
|
||||||
|
echo " tuner [0x<mask>] : enable tuner (fe) debug"
|
||||||
|
echo " i2c : enable i2c debug"
|
||||||
|
echo " off : all debug off"
|
||||||
|
echo " reset : reset all tuners and kill (restart) minisatip"
|
||||||
|
echo " pti [dmesg|pid|util|pdev|vdev] [num0-3]"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
tuner)
|
||||||
|
val1="$2"
|
||||||
|
test -z "$val1" && val1="0xffffffff"
|
||||||
|
echo "Enabling tuner debug $val1"
|
||||||
|
echo "deb $val1" > /proc/bus/nim_sockets
|
||||||
|
;;
|
||||||
|
i2c)
|
||||||
|
if test -z "$2"; then
|
||||||
|
echo "Enabling i2c debug"
|
||||||
|
echo "i2c_dbg_trans 1" > /proc/bus/ivo_i2c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
off)
|
||||||
|
echo "Disabling kernel driver debug"
|
||||||
|
echo "deb 0" > /proc/bus/nim_sockets
|
||||||
|
echo "i2c_dbg_trans 0" > /proc/bus/ivo_i2c
|
||||||
|
;;
|
||||||
|
reset)
|
||||||
|
echo "Reset all tuners"
|
||||||
|
echo "i2c_dbg_trans 1" > /proc/bus/ivo_i2c
|
||||||
|
echo "res" > /proc/bus/nim_sockets
|
||||||
|
sleep 10
|
||||||
|
echo "i2c_dbg_trans 0" > /proc/bus/ivo_i2c
|
||||||
|
killall -9 minisatip
|
||||||
|
;;
|
||||||
|
pti)
|
||||||
|
cmd="$2"
|
||||||
|
test -z "$cmd" && cmd=vdev
|
||||||
|
num="$3"
|
||||||
|
test -z "$num" && num=0
|
||||||
|
noex="AAAAAAAAAABBBBBBBBB"
|
||||||
|
d="/proc/STAPI/stpti/PTI$num"
|
||||||
|
case "$cmd" in
|
||||||
|
dmesg) grep -v $noex $d/PrintBuffer ;;
|
||||||
|
pid) grep -v $noex $d/PIDTable ;;
|
||||||
|
util) while [ 1 -eq 1 ]; do grep -v $noex $d/UtilisationTP ; sleep 0.2; done ;;
|
||||||
|
pdev) while [ 1 -eq 1 ]; do grep -v $noex $d/pDevice ; sleep 0.2 ; done ;;
|
||||||
|
vdev) while [ 1 -eq 1 ]; do grep -v $noex $d/vDeviceInfo ; sleep 0.2 ; done ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
show_help
|
||||||
|
esac
|
@ -70,7 +70,7 @@ CONFIG_RCU_FANOUT=32
|
|||||||
# CONFIG_RCU_FANOUT_EXACT is not set
|
# CONFIG_RCU_FANOUT_EXACT is not set
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=20
|
||||||
# CONFIG_CGROUPS is not set
|
# CONFIG_CGROUPS is not set
|
||||||
# CONFIG_SYSFS_DEPRECATED_V2 is not set
|
# CONFIG_SYSFS_DEPRECATED_V2 is not set
|
||||||
CONFIG_RELAY=y
|
CONFIG_RELAY=y
|
||||||
|
@ -70,7 +70,7 @@ CONFIG_RCU_FANOUT=32
|
|||||||
# CONFIG_RCU_FANOUT_EXACT is not set
|
# CONFIG_RCU_FANOUT_EXACT is not set
|
||||||
# CONFIG_TREE_RCU_TRACE is not set
|
# CONFIG_TREE_RCU_TRACE is not set
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=20
|
||||||
# CONFIG_CGROUPS is not set
|
# CONFIG_CGROUPS is not set
|
||||||
# CONFIG_SYSFS_DEPRECATED_V2 is not set
|
# CONFIG_SYSFS_DEPRECATED_V2 is not set
|
||||||
CONFIG_RELAY=y
|
CONFIG_RELAY=y
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
diff --git a/adapter.c b/adapter.c
|
diff --git a/adapter.c b/adapter.c
|
||||||
index 285faea..ebc7694 100755
|
index 285faea..f71ac85 100755
|
||||||
--- a/adapter.c
|
--- a/adapter.c
|
||||||
+++ b/adapter.c
|
+++ b/adapter.c
|
||||||
@@ -29,10 +29,15 @@
|
@@ -29,10 +29,15 @@
|
||||||
@ -107,7 +107,7 @@ index 285faea..ebc7694 100755
|
|||||||
sockets_timeout (a[i].sock, 60000);
|
sockets_timeout (a[i].sock, 60000);
|
||||||
LOG ("done opening adapter %i fe_sys %d", i, a[i].tp.sys);
|
LOG ("done opening adapter %i fe_sys %d", i, a[i].tp.sys);
|
||||||
|
|
||||||
@@ -194,6 +226,24 @@ close_adapter (int na)
|
@@ -194,6 +226,26 @@ close_adapter (int na)
|
||||||
mark_pids_deleted (na, -1, NULL);
|
mark_pids_deleted (na, -1, NULL);
|
||||||
update_pids (na);
|
update_pids (na);
|
||||||
// if(a[na].dmx>0)close(a[na].dmx);
|
// if(a[na].dmx>0)close(a[na].dmx);
|
||||||
@ -121,6 +121,7 @@ index 285faea..ebc7694 100755
|
|||||||
+ LOG("AXE standby");
|
+ LOG("AXE standby");
|
||||||
+ for (i = 0; i < 4; i++) {
|
+ for (i = 0; i < 4; i++) {
|
||||||
+ axe_fe_standby(a[i].fe, -1);
|
+ axe_fe_standby(a[i].fe, -1);
|
||||||
|
+ axe_set_tuner_led(i + 1, 0);
|
||||||
+ ioctl(a[i].fe, FE_SET_VOLTAGE, SEC_VOLTAGE_OFF);
|
+ ioctl(a[i].fe, FE_SET_VOLTAGE, SEC_VOLTAGE_OFF);
|
||||||
+ a[i].tp.old_diseqc = a[i].tp.old_pol = a[i].tp.old_hiband = -1;
|
+ a[i].tp.old_diseqc = a[i].tp.old_pol = a[i].tp.old_hiband = -1;
|
||||||
+ }
|
+ }
|
||||||
@ -128,11 +129,12 @@ index 285faea..ebc7694 100755
|
|||||||
+ LOG("AXE standby: adapter %d busy (%d), keeping", i, a[i].sid_cnt);
|
+ LOG("AXE standby: adapter %d busy (%d), keeping", i, a[i].sid_cnt);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
+ axe_set_tuner_led(na + 1, 0);
|
||||||
+#endif
|
+#endif
|
||||||
if (a[na].fe > 0)
|
if (a[na].fe > 0)
|
||||||
close (a[na].fe);
|
close (a[na].fe);
|
||||||
if (a[na].sock >= 0)
|
if (a[na].sock >= 0)
|
||||||
@@ -366,8 +416,8 @@ close_adapter_for_stream (int sid, int aid)
|
@@ -366,8 +418,8 @@ close_adapter_for_stream (int sid, int aid)
|
||||||
// delete the attached PIDs as well
|
// delete the attached PIDs as well
|
||||||
mark_pids_deleted (aid, sid, NULL);
|
mark_pids_deleted (aid, sid, NULL);
|
||||||
update_pids (aid);
|
update_pids (aid);
|
||||||
@ -143,16 +145,20 @@ index 285faea..ebc7694 100755
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -410,7 +460,7 @@ update_pids (int aid)
|
@@ -410,7 +462,11 @@ update_pids (int aid)
|
||||||
int tune (int aid, int sid)
|
int tune (int aid, int sid)
|
||||||
{
|
{
|
||||||
adapter *ad = get_adapter(aid);
|
adapter *ad = get_adapter(aid);
|
||||||
- int i, rv = 0;
|
- int i, rv = 0;
|
||||||
+ int rv = 0;
|
+ int rv = 0;
|
||||||
|
+#ifdef AXE
|
||||||
|
+ ssize_t drv;
|
||||||
|
+ char buf[1316];
|
||||||
|
+#endif
|
||||||
|
|
||||||
if(!ad) return -400;
|
if(!ad) return -400;
|
||||||
ad->last_sort = getTick ();
|
ad->last_sort = getTick ();
|
||||||
@@ -419,7 +469,10 @@ int tune (int aid, int sid)
|
@@ -419,7 +475,12 @@ int tune (int aid, int sid)
|
||||||
ad->tp.switch_type = ad->switch_type;
|
ad->tp.switch_type = ad->switch_type;
|
||||||
ad->tp.uslot = ad->uslot;
|
ad->tp.uslot = ad->uslot;
|
||||||
ad->tp.ufreq = ad->ufreq;
|
ad->tp.ufreq = ad->ufreq;
|
||||||
@ -160,22 +166,25 @@ index 285faea..ebc7694 100755
|
|||||||
+
|
+
|
||||||
+#ifdef AXE
|
+#ifdef AXE
|
||||||
+ axe_set_tuner_led(aid + 1, 1);
|
+ axe_set_tuner_led(aid + 1, 1);
|
||||||
|
+ axe_fe_reset(ad->fe);
|
||||||
|
+ do { drv = read(ad->dvr, buf, sizeof(buf)); } while (drv > 0);
|
||||||
+#endif
|
+#endif
|
||||||
rv = tune_it_s2 (ad->fe, &ad->tp);
|
rv = tune_it_s2 (ad->fe, &ad->tp);
|
||||||
a[aid].status = 0;
|
a[aid].status = 0;
|
||||||
a[aid].status_cnt = 0;
|
a[aid].status_cnt = 0;
|
||||||
@@ -428,6 +481,10 @@ int tune (int aid, int sid)
|
@@ -428,6 +489,11 @@ int tune (int aid, int sid)
|
||||||
close_streams_for_adapter (aid, sid);
|
close_streams_for_adapter (aid, sid);
|
||||||
update_pids (aid);
|
update_pids (aid);
|
||||||
}
|
}
|
||||||
+#ifdef AXE
|
+#ifdef AXE
|
||||||
|
+ //do { drv = read(ad->dvr, buf, sizeof(buf)); } while (drv > 0);
|
||||||
+ if (rv < 0)
|
+ if (rv < 0)
|
||||||
+ axe_set_tuner_led(aid + 1, 0);
|
+ axe_set_tuner_led(aid + 1, 0);
|
||||||
+#endif
|
+#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LOG ("not tuning for SID %d (do_tune=%d, master_sid=%d)", sid,
|
LOG ("not tuning for SID %d (do_tune=%d, master_sid=%d)", sid,
|
||||||
@@ -684,7 +741,11 @@ describe_adapter (int sid, int aid)
|
@@ -684,7 +750,11 @@ describe_adapter (int sid, int aid)
|
||||||
memset (dad, 0, sizeof (dad));
|
memset (dad, 0, sizeof (dad));
|
||||||
x = 0;
|
x = 0;
|
||||||
// do just max 3 signal check 1s after tune
|
// do just max 3 signal check 1s after tune
|
||||||
@ -187,7 +196,7 @@ index 285faea..ebc7694 100755
|
|||||||
{
|
{
|
||||||
int new_gs = 1;
|
int new_gs = 1;
|
||||||
ts = getTick ();
|
ts = getTick ();
|
||||||
@@ -701,11 +762,20 @@ describe_adapter (int sid, int aid)
|
@@ -701,11 +771,20 @@ describe_adapter (int sid, int aid)
|
||||||
if (ad->max_snr <= ad->snr) ad->max_snr = (ad->snr>0)?ad->snr:1;
|
if (ad->max_snr <= ad->snr) ad->max_snr = (ad->snr>0)?ad->snr:1;
|
||||||
LOG ("get_signal%s took %d ms for adapter %d handle %d (status: %d, ber: %d, strength:%d, snr: %d, max_strength: %d, max_snr: %d %d)",
|
LOG ("get_signal%s took %d ms for adapter %d handle %d (status: %d, ber: %d, strength:%d, snr: %d, max_strength: %d, max_snr: %d %d)",
|
||||||
new_gs?"":"_new", getTick () - ts, aid, ad->fe, ad->status, ad->ber, ad->strength, ad->snr, ad->max_strength, ad->max_snr, opts.force_scan);
|
new_gs?"":"_new", getTick () - ts, aid, ad->fe, ad->status, ad->ber, ad->strength, ad->snr, ad->max_strength, ad->max_snr, opts.force_scan);
|
||||||
@ -208,7 +217,7 @@ index 285faea..ebc7694 100755
|
|||||||
}
|
}
|
||||||
if(use_ad)
|
if(use_ad)
|
||||||
{
|
{
|
||||||
@@ -715,14 +785,14 @@ describe_adapter (int sid, int aid)
|
@@ -715,14 +794,14 @@ describe_adapter (int sid, int aid)
|
||||||
}
|
}
|
||||||
if (t->sys == SYS_DVBS || t->sys == SYS_DVBS2)
|
if (t->sys == SYS_DVBS || t->sys == SYS_DVBS2)
|
||||||
sprintf (dad, "ver=1.0;src=%d;tuner=%d,%d,%d,%d,%d,%s,%s,%s,%s,%s,%d,%s;pids=",
|
sprintf (dad, "ver=1.0;src=%d;tuner=%d,%d,%d,%d,%d,%s,%s,%s,%s,%s,%d,%s;pids=",
|
||||||
@ -226,7 +235,7 @@ index 285faea..ebc7694 100755
|
|||||||
t->c2tft, t->ds, t->plp, t->inversion);
|
t->c2tft, t->ds, t->plp, t->inversion);
|
||||||
for (i = 0; i < MAX_PIDS; i++)
|
for (i = 0; i < MAX_PIDS; i++)
|
||||||
if (use_ad && ad->pids[i].flags == 1)
|
if (use_ad && ad->pids[i].flags == 1)
|
||||||
@@ -825,7 +895,7 @@ void enable_adapters(char *o)
|
@@ -825,7 +904,7 @@ void enable_adapters(char *o)
|
||||||
|
|
||||||
void set_unicable_adapters(char *o, int type)
|
void set_unicable_adapters(char *o, int type)
|
||||||
{
|
{
|
||||||
@ -235,7 +244,7 @@ index 285faea..ebc7694 100755
|
|||||||
char buf[100], *arg[20], *sep1, *sep2;
|
char buf[100], *arg[20], *sep1, *sep2;
|
||||||
|
|
||||||
strncpy(buf, o, sizeof(buf));
|
strncpy(buf, o, sizeof(buf));
|
||||||
@@ -839,17 +909,46 @@ void set_unicable_adapters(char *o, int type)
|
@@ -839,17 +918,46 @@ void set_unicable_adapters(char *o, int type)
|
||||||
sep2 = strchr(arg[i], '-');
|
sep2 = strchr(arg[i], '-');
|
||||||
if( !sep1 || !sep2)
|
if( !sep1 || !sep2)
|
||||||
continue;
|
continue;
|
||||||
@ -305,10 +314,10 @@ index 629bd9c..d95e59a 100755
|
|||||||
|
|
||||||
diff --git a/axe.h b/axe.h
|
diff --git a/axe.h b/axe.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..4c62d86
|
index 0000000..46e8b02
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/axe.h
|
+++ b/axe.h
|
||||||
@@ -0,0 +1,113 @@
|
@@ -0,0 +1,116 @@
|
||||||
+#ifndef __AXE_H
|
+#ifndef __AXE_H
|
||||||
+#define __AXE_H
|
+#define __AXE_H
|
||||||
+
|
+
|
||||||
@ -396,12 +405,15 @@ index 0000000..4c62d86
|
|||||||
+
|
+
|
||||||
+void axe_set_tuner_led(int tuner, int on)
|
+void axe_set_tuner_led(int tuner, int on)
|
||||||
+{
|
+{
|
||||||
+ static int state = -1;
|
+ static int state = 0;
|
||||||
+ char buf[16];
|
+ char buf[16];
|
||||||
+ if (state != on) {
|
+ if (((state >> tuner) & 1) != !!on) {
|
||||||
+ sprintf(buf, "T%d_LED %d\n", tuner, on ? 1 : 0);
|
+ sprintf(buf, "T%d_LED %d\n", tuner, on ? 1 : 0);
|
||||||
+ axe_fp_fd_write(buf);
|
+ axe_fp_fd_write(buf);
|
||||||
+ state = on;
|
+ if (on)
|
||||||
|
+ state |= 1 << tuner;
|
||||||
|
+ else
|
||||||
|
+ state &= ~(1 << tuner);
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
@ -781,7 +793,7 @@ index 5701bd2..32fd683 100755
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/minisatip.c b/minisatip.c
|
diff --git a/minisatip.c b/minisatip.c
|
||||||
index d4076ba..3203b5a 100755
|
index d4076ba..baf14ab 100755
|
||||||
--- a/minisatip.c
|
--- a/minisatip.c
|
||||||
+++ b/minisatip.c
|
+++ b/minisatip.c
|
||||||
@@ -36,6 +36,7 @@
|
@@ -36,6 +36,7 @@
|
||||||
@ -813,7 +825,7 @@ index d4076ba..3203b5a 100755
|
|||||||
opts.bootid = 0;
|
opts.bootid = 0;
|
||||||
opts.force_scan = 0;
|
opts.force_scan = 0;
|
||||||
- opts.dvr = DVR_BUFFER;
|
- opts.dvr = DVR_BUFFER;
|
||||||
+ opts.dvr = 70*7*DVB_FRAME;
|
+ opts.dvr = 14*7*DVB_FRAME;
|
||||||
opts.file_line = 0;
|
opts.file_line = 0;
|
||||||
memset(opts.playlist, sizeof(opts.playlist), 0);
|
memset(opts.playlist, sizeof(opts.playlist), 0);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user