1.MPCS
2. OSCam
OSCam is an Open Source Conditional Access Module software, based on the very good MpCS version 0.9d created by dukat.
NAME
OSCam - SC server
DESCRIPTIONS
The OSCam software is an open source multi-protocol/multi-plattform SC server.
OSCam supports the following protocols:
· camd 3.3x
· camd 3.5x UDP and TCP
· newcamd with cascading/remote server ECM support
· radegast
· serial (HSIC, SSSP, BOMBA, DSR 9500)
· camd 3.57x with cascading/remote server ECM support, ECM and EMM support with size > 256 bytes
· camd 3.78x with cascading/remote server ECM support, ECM and EMM support with size > 256 bytes
· gbox with cascading/remote server ECM support
· CCcam with cascading/remote server ECM support, ECM and EMM support with size > 256 bytes
· DVB API with multi tuner and PIP support
OSCam works on the following plattforms:
· Linux (tuxbox, arm, mips, mipsel, sh4, powerpc, ...)
· Windows (based on cygwin1.dll)
· Mac OS X
Якщо хто використовує прошивки DANtes з mpcs, то може буде цікаво знати, що цей пакунок насправді відсутній у самій прошивці, існує тільки модуль завантаження з мережі, а сам модуль mpcs завантажується при включенні роутера. Та існує Luci інтерфейс для можливості налаштувань mpcs.
Але прийшлося написати маленький скрипт pl2303-watchdog.sh котрий перезавантажує mpcs коли іноді інтерфейс rs232 перезавантажується із-за помилки.
Версія з контролем повтору, була створена так як потрібно було перевантажити модуль ядра pl2303 разом з перевантаженням mpcs і з'являвся циклічний повтор:
pl2303-watchdog.sh: #!/bin/sh
count=0
/sbin/logread -f | while read LINE; do
if echo $LINE|grep 'pl2303 converter now attached to tty'>/dev/null; then
count=`expr $count + 1`
if [ $count = 1 ]; then
echo watch dog repairing... |logger -t 'mpcs'; /etc/init.d/mpcs_init restart;
;
count=-1
fi;
fi;
done
Для перевантаження модуля був модифікований /etc/init.d/mpcs_init
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=99
start() {
echo starting...|logger -t 'mpcs'
mpcs_ext &
insmod pl2303 >/dev/null 2>/dev/null
}
stop() {
echo stoping...|logger -t 'mpcs'
killall -9 mpcs >/dev/null 2>/dev/null
rm /tmp/mcps.mem >/dev/null 2>/dev/null
rm /tmp/*.fifo >/dev/null 2>/dev/null
rmmod pl2303
}
Для автоматичного завантаження mpcs_watchdog до виконання створимо файл /etc/init.d/mpcs_watchdog:
#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2010 OpenWrt.org
START=97
start() {
/root/pl2303-watchdog.sh&
}
stop() {
kill $(ps |grep "/sbin/logread -f"|cut -d " " -f 2|head -n 1)
}
Зробимо цей файл виноуємим:
сhmod +x /etc/init.d/mpcs_watchdog
ВДОСКОНАЛЕННЯ:
В результаті роботи булу встановлено що скрипт mpcs_watchdog працює не надійно. Виявлені проблеми з завантаженням процесора процесом 'mpcs' до високого рівня. Тому встановлено наступний скрипт що робить моніторинг завантаженості процесора і у випадку високого значення виконує перезавантаження процесу 'mpcs' .
cpucalc-m.sh:
PREV_TOTAL="$TOTAL"
PREV_IDLE="$IDLE"
# Wait before checking again.
sleep 10
done
Для роботи цього скрипту потртібен bash. Встановлюємо opkg update; opkg install bash.
І замінемо файл /root/pl2303-watchdog.sh файлом cpucalc-m.sh.
розмір файлу mpcs 258340 байт, завантажується у архіві.
Пробував oscam_XXXXX_ar71xx.ipk - працює
oscam 1.00-r5542 має розмір понад 600 кбайт.
Тестування:
Для тестування роботи програми можливо використовувати програми монітори для віддалеенго перегляду файлів протоколів, наприклад ось таку: microMon
- forum mpcs (card server) on kamikaze 7.09 - How [en]
- forum mpcs для ADSL модемов и роутеров [ru]
- Прошивки для TP-LINK с mpcs (DANtes) [ru]
- Source: tags/mpcs-0.9e Start repository for OSCam (Open Source Cam). The start is from the MpCS source code. (start OSCam version 0.99)
2. OSCam
OSCam is an Open Source Conditional Access Module software, based on the very good MpCS version 0.9d created by dukat.
NAME
OSCam - SC server
DESCRIPTIONS
The OSCam software is an open source multi-protocol/multi-plattform SC server.
OSCam supports the following protocols:
· camd 3.3x
· camd 3.5x UDP and TCP
· newcamd with cascading/remote server ECM support
· radegast
· serial (HSIC, SSSP, BOMBA, DSR 9500)
· camd 3.57x with cascading/remote server ECM support, ECM and EMM support with size > 256 bytes
· camd 3.78x with cascading/remote server ECM support, ECM and EMM support with size > 256 bytes
· gbox with cascading/remote server ECM support
· CCcam with cascading/remote server ECM support, ECM and EMM support with size > 256 bytes
· DVB API with multi tuner and PIP support
OSCam works on the following plattforms:
· Linux (tuxbox, arm, mips, mipsel, sh4, powerpc, ...)
· Windows (based on cygwin1.dll)
· Mac OS X
- OSCam Wiki
- OSCam Wiki [en] [ua]
- Forum: oscam na openwrt (ar71xx) i tomato k2.6 [pl]
- oscam packages for ar71xx: oscam_XXXXX_ar71xx.ipk
- Forum OSCam Binaries Mips Fritzbox 7390 / TP-Link WR1043ND [de]
- How To: (Cross-) compiling and toolchains [en]
- Source of OSCam
- Мастер компіляції OSCam forum - OSCam Easy Build Script (script only!)
- OpenWrt For All: OSCam
- OSCam for Android - WeTek Play - Android Files
Якщо хто використовує прошивки DANtes з mpcs, то може буде цікаво знати, що цей пакунок насправді відсутній у самій прошивці, існує тільки модуль завантаження з мережі, а сам модуль mpcs завантажується при включенні роутера. Та існує Luci інтерфейс для можливості налаштувань mpcs.
Але прийшлося написати маленький скрипт pl2303-watchdog.sh котрий перезавантажує mpcs коли іноді інтерфейс rs232 перезавантажується із-за помилки.
pl2303-watchdog.sh:
#!/bin/sh
/sbin/logread -f | while read LINE; do
if echo $LINE|grep 'pl2303 converter now attached to tty'>/dev/null; then
echo watch dog repairing... |logger -t 'mpcs'; /etc/init.d/mpcs_init restart;
fi;
done
Версія з контролем повтору, була створена так як потрібно було перевантажити модуль ядра pl2303 разом з перевантаженням mpcs і з'являвся циклічний повтор:
pl2303-watchdog.sh: #!/bin/sh
count=0
/sbin/logread -f | while read LINE; do
if echo $LINE|grep 'pl2303 converter now attached to tty'>/dev/null; then
count=`expr $count + 1`
if [ $count = 1 ]; then
echo watch dog repairing... |logger -t 'mpcs'; /etc/init.d/mpcs_init restart;
;
count=-1
fi;
fi;
done
Для перевантаження модуля був модифікований /etc/init.d/mpcs_init
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=99
start() {
echo starting...|logger -t 'mpcs'
mpcs_ext &
insmod pl2303 >/dev/null 2>/dev/null
}
stop() {
echo stoping...|logger -t 'mpcs'
killall -9 mpcs >/dev/null 2>/dev/null
rm /tmp/mcps.mem >/dev/null 2>/dev/null
rm /tmp/*.fifo >/dev/null 2>/dev/null
rmmod pl2303
}
Для автоматичного завантаження mpcs_watchdog до виконання створимо файл /etc/init.d/mpcs_watchdog:
#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2010 OpenWrt.org
START=97
start() {
/root/pl2303-watchdog.sh&
}
stop() {
kill $(ps |grep "/sbin/logread -f"|cut -d " " -f 2|head -n 1)
}
Зробимо цей файл виноуємим:
сhmod +x /etc/init.d/mpcs_watchdog
ВДОСКОНАЛЕННЯ:
В результаті роботи булу встановлено що скрипт mpcs_watchdog працює не надійно. Виявлені проблеми з завантаженням процесора процесом 'mpcs' до високого рівня. Тому встановлено наступний скрипт що робить моніторинг завантаженості процесора і у випадку високого значення виконує перезавантаження процесу 'mpcs' .
cpucalc-m.sh:
#!/bin/bash
# by Paul Colby (http://colby.id.au), no rights reserved ;)
PREV_TOTAL=0
PREV_IDLE=0
while true; do
CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics.
unset CPU[0] # Discard the "cpu" prefix.
IDLE=${CPU[4]} # Get the idle CPU time.
# Calculate the total CPU time.
TOTAL=0
for VALUE in "${CPU[@]}"; do
let "TOTAL=$TOTAL+$VALUE"
done
# Calculate the CPU usage since we last checked.
let "DIFF_IDLE=$IDLE-$PREV_IDLE"
let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10"
# by Paul Colby (http://colby.id.au), no rights reserved ;)
PREV_TOTAL=0
PREV_IDLE=0
while true; do
CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics.
unset CPU[0] # Discard the "cpu" prefix.
IDLE=${CPU[4]} # Get the idle CPU time.
# Calculate the total CPU time.
TOTAL=0
for VALUE in "${CPU[@]}"; do
let "TOTAL=$TOTAL+$VALUE"
done
# Calculate the CPU usage since we last checked.
let "DIFF_IDLE=$IDLE-$PREV_IDLE"
let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10"
#MONITORING VALUE OF CPU LOAD
if [ $DIFF_USAGE -ge 90 ];
then
echo Repairing by cpu $DIFF_USAGE% overload... |logger -t 'mpcs'
/etc/init.d/mpcs_init restart
fi
# Remember the total and idle CPU times for the next check.then
echo Repairing by cpu $DIFF_USAGE% overload... |logger -t 'mpcs'
/etc/init.d/mpcs_init restart
fi
PREV_TOTAL="$TOTAL"
PREV_IDLE="$IDLE"
# Wait before checking again.
sleep 10
done
Для роботи цього скрипту потртібен bash. Встановлюємо opkg update; opkg install bash.
І замінемо файл /root/pl2303-watchdog.sh файлом cpucalc-m.sh.
розмір файлу mpcs 258340 байт, завантажується у архіві.
Пробував oscam_XXXXX_ar71xx.ipk - працює
oscam 1.00-r5542 має розмір понад 600 кбайт.
Тестування:
Для тестування роботи програми можливо використовувати програми монітори для віддалеенго перегляду файлів протоколів, наприклад ось таку: microMon
Немає коментарів:
Дописати коментар