Stránka 1 z 2

OSCAM - sh script

Napsal: 02 pro 2024 19:36
od bdpeter
Vdaka peter54 a inym sa mi podarilo vyriesit problem z predlzovanim casu ECM az na 13000 ms a to v lokalnej sieti. Takyto dlhy cas znamenal samozrejme ciernu obrazovku na klientovi. Povodne som mal zapnuty AU u vsetkych 4 klientov, ktori boli pripojeny na server RP3 s private oscam 1.20 ver. 11715. Takze som v najprv myslel ze mam nieco zle v konfigurakoch ale po konzultaciach tu s vami som zistil ze v tom problem nie je. Takze ako dalsi krok som vypol AU=1 na vsetkych klientoch. Ked bol na karte spravny globalny kluc islo vestko ako malo v rozmedziach ECM medzi 83ms po 215ms. Ani raz sa tam neobjavili casy 12000 a viac ms.

Nasledne som sa tu na fore docital ze ten kluc vydrzi na karte 16,5 hodiny. Takze som zacal zhanat nejake info a vysvetlenia ohladom ovladania primaca sh scriptami z servera RP3. Tu som od peter54 dostal prve vysvetlenia , ktore ma nasmerovali na: https://github.com/s3n0/e2scripts/blob/ ... refresh.sh kde som od uzivatela @s3n0 /tymto mu dakujem/ script na refresh emm oscam. Pouzil som cast tohoto scriptu a nasledne som urobil v nom upravu lebo mam nestandartnu situlaciu mam 2 karty SKylink - jednu s SK lokalizaciou a jednu s CZ lokalizaciou. Cize urobil som services pre SK kartu a pre CZ kartu. Na rp3 bezi OSCAm 2 krat, SK lokalizacia na porte 8888, CZ lokalizacia na 9999.

Princip je ale v tom / k tomu ma logicky doviedol peter54/ ze na server RB3 tu emm posiela klient lebo je obsiahnuty v signali poskytovatela. tu je script, ktory pouzivam :

Kód: Vybrat vše

#### USER CONFIGURATION:
WEBIF_ENIGMA="http://192.168.1.187:1313"            
WEBIF_OSCAM="http://192.168.1.187:8888"           
 EMM_AWAITING="2m"                                
SRC_MARKIZA="1:0:19:3731:C8E:3:EB0000:0:0:0:"              
SRC_CT1="1:0:1:1F41:CA1:3:EB0000:0:0:0:"               
LOG_FILE="/root/log_oscam.log"              
LOG_MAXSIZE=25000                                  
AU_AWAITING="30s"
USERNAME="localcard"


#### function to check the Standby (e2/OpenWebif power-state)
is_standby(){
        [ "$(wget -q -O - $WEBIF_ENIGMA/web/powerstate | sed -n 's:.*<e2instandby>\(.*\)</e2instandby>.*:\1:p')" = "True" ]
}

#### reduction the log file size, if neccessary (delete first 20 lines)
if [ -f "$LOG_FILE" ] && [ $(wc -c < "$LOG_FILE") -gt $LOG_MAXSIZE ]; then sed -i -e 1,20d "$LOG_FILE"; fi

#### if Enigma is not in standby, exit the script
if ! is_standby; then echo "$(date '+%Y-%m-%d %H:%M:%S'): Enigma2 is not in Standby. Script canceled." >> $LOG_FILE; exit 0; fi

#### - nastavenie AU klienta na au=1   /defaultne mam v primaci nastavene na au=0
curl -s -o /dev/null "$WEBIF_OSCAM/user_edit.html?user=$USERNAME&au=1&action=Save"

sleep $AU_AWAITING

for program in $SRC_MARKIZA $SRC_CT1; do
	wget -q -O - "$WEBIF_ENIGMA/web/zap?sRef=$program" >> /dev/null 2>&1
  	echo "$(date '+%Y-%m-%d %H:%M:%S'): Start channel descrambling - $program  + waiting for EMM arrival for $EMM_AWAITING time." >> $LOG_FILE
  	sleep $EMM_AWAITING
done
#### - nastavenie AU klienta spat na au=0
curl -s -o /dev/null "$WEBIF_OSCAM/user_edit.html?user=$USERNAME&au=0&action=Save"
sleep $AU_AWAITING

#### at the end of script execution we have to recheck the standby mode
#### if a user has accidentally switched on a satellite receiver until the script was waiting for EMMs write
if ! is_standby
then
        echo "$(date '+%Y-%m-%d %H:%M:%S'): Enigma2 has been awakened by user's intervention ? using the remote control ?. Script canceled." >> $LOG_FILE
        exit 0
else
        echo "$(date '+%Y-%m-%d %H:%M:%S'): Stop channel descrambling." >> $LOG_FILE
        wget -q -O - "$WEBIF_ENIGMA/web/powerstate?newstate=5" > /dev/null 2>&1
        echo "$(date '+%Y-%m-%d %H:%M:%S'): Set-top-box has been switched to Standby" >> $LOG_FILE
fi

exit 0
Cely ho pustam z crontab RP3 o 5.00 rano. Malo to vsak uskalie musel som zrusit z webrozhrania primaca httpuser a httppwd lebo s tym menom a heslom mi to nechcel brat, furt to pisalo Access denied. Po odstraneni z oscam.conf primaca uz prikazy fungovali na vypnutie a zapnutie AU u klienta fungovali. a aby po 21.30 vecer ked skonci Globalny kluc nebola tmava obrazovka , pustam v crontab RP3 prikaz: curl -s -o /dev/null "$WEBIF_OSCAM/user_edit.html?user=$USERNAME&au=1&action=Save" aby zaplo AU=1 na klientovi v user.conf a o 0.30 pustam opat vypnutie curl -s -o /dev/null "$WEBIF_OSCAM/user_edit.html?user=$USERNAME&au=0&action=Save". Teraz testujem ci to nejakym sposobom za tie tri hodiny co je pusteny AU=1 nejak nezacne nabalovat casy ECM.

Okrem tycto prikazov som objavil aj ako prepinat kanaly a podobne. Neviem sa vsak vysomarit z tych stavov powerstate, resp. nikde som nenasiel ich popis. Takze som chcel zalozit toto vlakno aj na to sk by vy znalejsi ste sem volaco dali mohli by sme sa my ostatny cosi naucit.
Este k scriptu, je urobeny tak ze moze obsahovat aj viac instrukcii na spustenie streamov na update emm. Cize aj viac karie ako 2. Staci len doplnit do konfiguracie a dopisat do cyklu. Povodne bol script pre enigmu ale ja ho pustam na prismcube ruby na image confluence takze tie IP a porty na to.
Tak hadam sa to tu chyti....
mna by tiez zaujimalo kde sa da zistit:

Kód: Vybrat vše

 Service Reference Code = 1:0:19:3731:C8E:3:EB0000:0:0:0:
aj pre ine kanaly, kdesa to da najst?

Re: OSCAM - sh script

Napsal: 02 pro 2024 20:42
od jajo4546
Service Reference Code kanalov vieš vyčítať z webif

Časové parametre by nemali byť rovnaké ? 2m=2m
emm_awaiting="2m" # Čakanie na príchod EMM správ
au_awaiting="30s" # Čas medzi nastaveniami AU

Re: OSCAM - sh script

Napsal: 02 pro 2024 21:55
od bdpeter
Odkial z webif? nemam ENIGMU...tu mam PRISMCUBE Web UI.

A funguje to aj napriek tomu ze nie su casove useky rovnake.
preco by mali byt rovnake? nevidim dovod. Vypnutie AU je rychle tam nepotrebuje na nic cakat. To som testoval akonahle to na serveri zadam na primaci sa to okamzite prejavi, neni dovod cakat tam dlhsie. Co sa tyka emm tak vlastne pusti na 2 minuty streem, je pravda ze mozno by stacilo aj menenj ale tak to bolo v povodnom scripte tak som to nemenil.

Re: OSCAM - sh script

Napsal: 02 pro 2024 22:02
od hulec
bdpeter píše: 02 pro 2024 19:36 #### USER CONFIGURATION:
WEBIF_ENIGMA="http://192.168.1.187:1313"
a tato adresa je co ?

Re: OSCAM - sh script

Napsal: 02 pro 2024 22:33
od bdpeter
to je adresa PRISMCUBE Web UI. to web_enigma je len nazov premenej v scripte.

Re: OSCAM - sh script

Napsal: 03 pro 2024 00:30
od okverd
btpeter Si dobry specialista nastavit a rozchodit ten script - Pochvala.

Ja uzivam linky na kanale dlhe roky od RYTEC:
http://epg.vuplus-community.net/rytec.channels.xml
Alebo:
https://github.com/doglover3920/EPGimpo ... ls-sat.xml

A hladaj (CTRL + F): C8E alebo CA1

Re: OSCAM - sh script

Napsal: 03 pro 2024 06:04
od jajo4546
ja mám na aktiváciu vlastný box, čiže jeden ma trvalo zapnuté AU, a na ňom mám jednoduchý script, ktorý skontroluje každých 12h či je box zapnutý a ak nie je zapne stream aby prešli EMM

ale ak ti vyp a zap AU vyhovuje tak skus tento, len si uprav svoje údaje, neskúšal som ho daj vedieť

Ako by mal fungovať upravený skript:
Spustí stream (napr. Jednotka).
Počká 3 sekundy a zapne AU pre užívateľa vuplus.
Počká 2 minúty (alebo nastavený čas) na príchod EMM správ.
Vypne AU a zastaví stream.

Kód: Vybrat vše

#!/bin/bash

#### USER CONFIGURATION:
# EMM užívateľ
emm_user="emmuser"

# SK server
oscam_sk_user="sk"
oscam_sk_password="sk"
oscam_sk_IP="127.0.0.1"
oscam_sk_port=1111
sk_stream="1:0:19:3C3C:C90:3:EB0000:0:0:0:" # Jednotka

# CZ server
oscam_cz_user="cz"
oscam_cz_password="cz"
oscam_cz_IP="127.0.0.1"
oscam_cz_port=2222
cz_stream="1:0:19:1F41:CA1:3:EB0000:0:0:0:" # CT1

# Stream konfigurácia (IP pre streamy) si uprav podľa seba
stream_ip="192.168.1.23"
stream_port="8001"

# Logovanie
LOG_FILE="/root/log_oscam.log"
LOG_MAXSIZE=25000 # Maximálna veľkosť logu

# Časové parametre
au_awaiting="2m"     # AU aktivácia a vypnutie čas
stream_pre_au="3s"   # Čas medzi spustením streamu a zapnutím AU

#### Function: Zmenšenie logu, ak je príliš veľký
reduce_log_size() {
    if [ -f "$LOG_FILE" ] && [ $(wc -c < "$LOG_FILE") -gt $LOG_MAXSIZE ]; then
        sed -i -e 1,20d "$LOG_FILE"
    fi
}

#### Function: Aktivácia AU klienta
enable_au() {
    local user=$1
    local password=$2
    local IP=$3
    local port=$4
    curl -s -u "$user:$password" "http://$IP:$port/user_edit.html?user=$emm_user&au=1&action=Save" >> /dev/null
    echo "$(date '+%Y-%m-%d %H:%M:%S'): Aktivácia AU klienta pre užívateľa $emm_user na serveri $IP:$port." >> "$LOG_FILE"
}

#### Function: Deaktivácia AU klienta
disable_au() {
    local user=$1
    local password=$2
    local IP=$3
    local port=$4
    curl -s -u "$user:$password" "http://$IP:$port/user_edit.html?user=$emm_user&au=0&action=Save" >> /dev/null
    echo "$(date '+%Y-%m-%d %H:%M:%S'): Deaktivácia AU klienta pre užívateľa $emm_user na serveri $IP:$port." >> "$LOG_FILE"
}

#### Function: Spracovanie streamu
process_stream_with_au() {
    local stream_id=$1
    local user=$2
    local password=$3
    local IP=$4
    local port=$5

    # Spusti stream
    local full_stream_url="http://$stream_ip:$stream_port/$stream_id"
    wget -q -O - "$full_stream_url" >> /dev/null 2>&1 &
    echo "$(date '+%Y-%m-%d %H:%M:%S'): Spustenie streamu $full_stream_url." >> "$LOG_FILE"

    # Počkajte 3 sekundy a aktivujte AU
    sleep "$stream_pre_au"
    enable_au "$user" "$password" "$IP" "$port"

    # Počkajte na dokončenie AU
    sleep "$au_awaiting"

    # Vypnite AU a zastavte stream
    disable_au "$user" "$password" "$IP" "$port"
    pkill -f "$full_stream_url"
    echo "$(date '+%Y-%m-%d %H:%M:%S'): Zastavenie streamu $full_stream_url." >> "$LOG_FILE"
}

#### Redukcia logu pred začiatkom
reduce_log_size

#### Spracovanie pre SK kartu
process_stream_with_au "$sk_stream" "$oscam_sk_user" "$oscam_sk_password" "$oscam_sk_IP" "$oscam_sk_port"

#### Spracovanie pre CZ kartu
process_stream_with_au "$cz_stream" "$oscam_cz_user" "$oscam_cz_password" "$oscam_cz_IP" "$oscam_cz_port"

echo "$(date '+%Y-%m-%d %H:%M:%S'): Skript úspešne dokončený pre SK aj CZ kartu." >> "$LOG_FILE"
exit 0

Re: OSCAM - sh script

Napsal: 03 pro 2024 06:50
od sky59
Ale vsak aby si spustil skript musi byt box tak ci tak zapnuty, ci?
A nie je jednoduchsie nechat ho pusteny stale aj s au?
Naco taketo saskovanie?

Re: OSCAM - sh script

Napsal: 03 pro 2024 10:26
od bdpeter
Skript sa vykona len ak je primac v stanby.
Na zaciatku scriptu to kontrolujem stav. Preto ho spustam o 5 rano , lebo vtedy urcite ho nepozeram.
Ked necham stale zapnute AU tak mi dochadza k stavu co som popisal vysiie predlzovanie ecm az viac ako 12000 ms. A vtedy ostane cierna obrazovka. Pokial nechavam AU na primaci , ktory posiela emm na server vypnute a zapnam ho len na urcity cas /pomocou scriptov/ vtedy tento anomalny stav nenastane.

sky59 píše: 03 pro 2024 06:50 Ale vsak aby si spustil skript musi byt box tak ci tak zapnuty, ci?
A nie je jednoduchsie nechat ho pusteny stale aj s au?
Naco taketo saskovanie?

Re: OSCAM - sh script

Napsal: 03 pro 2024 10:28
od bdpeter
Dakujem pekne za pochvalu ale k specialistom mam daleko. Ja sa tak necitim lebo este toho vela neviem. Su tu na fore vacsi ale este raz dakujem.

okverd píše: 03 pro 2024 00:30 btpeter Si dobry specialista nastavit a rozchodit ten script - Pochvala.

Ja uzivam linky na kanale dlhe roky od RYTEC:
http://epg.vuplus-community.net/rytec.channels.xml
Alebo:
https://github.com/doglover3920/EPGimpo ... ls-sat.xml

A hladaj (CTRL + F): C8E alebo CA1

Re: OSCAM - sh script

Napsal: 03 pro 2024 14:26
od jajo4546
Ale si písal že AU si mal zapnuté na každom klientivi a keď zapneš AU len u jedného, ideálne aby bol tvoj box tak ti blbne tiež ?

Re: OSCAM - sh script

Napsal: 03 pro 2024 14:45
od sky59
bdpeter píše: 03 pro 2024 10:26 Skript sa vykona len ak je primac v stanby.
No to bude asi taky "standby" ako mam aj na vuzero4k. Odber ma 9W a pri normalnej prevadzke 11W.

Ak by bol v shutdown tak sa skript nekona.

Potom nevidim velky zmysel davat box do standby ked ma cca rovnaky odber ako ked bezi.

Mylim sa v niecom?

Re: OSCAM - sh script

Napsal: 03 pro 2024 15:31
od EnoSat
Zalezi podla HW, niektore v stanby napajaju LNB a niektore nie

Re: OSCAM - sh script

Napsal: 03 pro 2024 16:41
od bdpeter
Ano aj ked necham pustene AU na jednom klientovi pocase su tam strasne dlhe odpovede ecm a niekedy tma.. V podstate som tak nato prisiel ze mi to zacalo davat tmavy obraz tak som za zaval zaujimat o zo ze co je vo veci.

jajo4546 píše: 03 pro 2024 14:26 Ale si písal že AU si mal zapnuté na každom klientivi a keď zapneš AU len u jedného, ideálne aby bol tvoj box tak ti blbne tiež ?

Re: OSCAM - sh script

Napsal: 03 pro 2024 16:43
od bdpeter
No mne sa tam spusta aj ventilator ale v stanby nie, takze som to riesil preto takto, nemusi to hucat ked to nepozeram.


sky59 píše: 03 pro 2024 14:45
bdpeter píše: 03 pro 2024 10:26 Skript sa vykona len ak je primac v stanby.
No to bude asi taky "standby" ako mam aj na vuzero4k. Odber ma 9W a pri normalnej prevadzke 11W.

Ak by bol v shutdown tak sa skript nekona.

Potom nevidim velky zmysel davat box do standby ked ma cca rovnaky odber ako ked bezi.

Mylim sa v niecom?

Re: OSCAM - sh script

Napsal: 03 pro 2024 16:45
od bdpeter
Urcite mas pravdu. Tento Prismcube zjavne dava napatie pre LNB aj v stanby. Inak by to nefungovalo.
EnoSat píše: 03 pro 2024 15:31 Zalezi podla HW, niektore v stanby napajaju LNB a niektore nie

Re: OSCAM - sh script

Napsal: 03 pro 2024 16:57
od peter54
bdpeter píše: 02 pro 2024 19:36 mna by tiez zaujimalo kde sa da zistit:

Kód: Vybrat vše

 Service Reference Code = 1:0:19:3731:C8E:3:EB0000:0:0:0:
aj pre ine kanaly, kdesa to da najst?
Da sa napriklad z info o stanici E2
src.gif
Alebo cez E-channelizer
src1.gif
Alebo cez chrome pravy klik na nazov stanice a "preskumat"
src3.gif
Moznosti je samozrejme viac.

Re: OSCAM - sh script

Napsal: 03 pro 2024 17:13
od EnoSat
On musi hladat v tomto
Obrázek

Re: OSCAM - sh script

Napsal: 03 pro 2024 17:25
od peter54
Skumanie ci prijimac spi ma svoj vyznam, ale uz to neskumam - jednoducho prijimacu povolim posielanie emm. Vsetky skripty pustam na zere, to je moj kartovy server s armbianom.
Potom sa pusti stream prikazom curl. Dolezite je dat si tam timeout, davam 120 s co je bohate dost. Stream sa nespusti, ak niekto prave pozera telku (mam jednotuner). Nevadi, pridam sleep 120 a zas zakazem emm.
Mam tam aj dalsie poistky, ale tie sa malokedy pouziju.
Aby som to poistil, urobim to postupne na 2 prijimacoch. A keby to bolo malo, tak po 6 hodinach sa to opakuje.

Kód: Vybrat vše

root@zero:~# crontab -l
# m h  dom mon dow   command
0 4,10,16,22 * * * tlsdate -s -H mail.google.com
@reboot touch /root/scripts/card_refresh.log;/root/scripts/sleep.bash;/root/scripts/card_activate.bash
# obnovenie emmg po 6 hodinach  na karte streamom
01 00,6,12,18 * * *   /root/scripts/card_activate.bash 2>&1

root@zero:~# cat scripts/card_activate.bash
#!/bin/bash -x
# CT1 http:\\192.168.0.118:8001\1:0:1:1F41:CA1:3:EB0000:0:0:0:

curl -m 1 -s -o /dev/null  "http://192.168.0.118:8888/user_edit.html?user=dvbapiau&au=1&action=Save"

#CT1
curl -m 120 -s -o /dev/null  "http://192.168.0.118:8001/1:0:1:1F41:CA1:3:EB0000:0:0:0:"
#STV 2
curl -m 120 -s -o /dev/null  "http://192.168.0.118:8001/1:0:1:3C3D:C90:3:EB0000:0:0:0:"

sleep 120
curl -m 1 -s -o /dev/null  "http://192.168.0.118:8888/user_edit.html?user=dvbapiau&au=piANT,p2_CT,p2_SK&action=Save"
curl -m 1 -s -o /dev/null  "http://192.168.0.114:8888/user_edit.html?user=dvbapiau&au=piANT&action=Save"

Poznamenavam, ze 2 minuty nestaci, aby sa obnovili vsetky opravnenia na karte, preto treba obcas pustit na dlhsie. Ja davam 3 hodiny 3x do mesiaca.

K standby - niektore prijimace vypnu len obraz, ine aj hdmi a lnb. Potom klesne prikon pod 4W. Moje su cca 13W ked nieco pozeram a 4W ked je v standby. Qviart co som mal pozicany na test mal tuner v standby tak horuci, ze mi popalil prsty. Vsetko zavisi od vyrobcu.

Re: OSCAM - sh script

Napsal: 03 pro 2024 21:08
od magavie
Pre informáciu
Prismcube neposiela zápisy ani v standby mode a ani keď nahráva na pozadí ( keď nesvieti displej) .
Keď posiela zápisy Prismcube na ORANGE PI, občas sa stane, že narastajú časy.