Escolar Documentos
Profissional Documentos
Cultura Documentos
Pessoal,
B) Twin2cs = Módulo que usa protocolo Twin para se comunicar com Dongles e
serve para CAMs clientes, como por exemplo a MultiCAS.
Com ele dá pra fazer reshare de SKS usando tanto no próprio AZBox HD quanto em
outros receptores clientes que possuam conexão de rede.
Obs.: para quem somente quer usar dongle no AZBox HD, o mais recomenado é o
plugin TwinCAS.
Segue abaixo tutoriais para se usar um dos dois esquemas (plugins) no AZBox HD
(linux).
*** Requisitos:
================
1-ABox HD com CPU MIPSEL Sigma8634 e SO Linux (Ultra, Elite, Premium,
Premium+)
Ou
4-Pacote com os arquivos (estão na sessão de cada um dos plugins logo abaixo)
5-Antena apontada pra o 15W ku E antena apontada para 61w ku e/ou 70w ku
e/ou 43w ku (esse último por enquanto com dongle Smart2 mas com freezes). Ou
seja, a antena deve ser apontada para o sat o qual o dongle usado pode abrir.
O pacote está preparado para modo de instalção por plugin. Ou seja, descompatar
o .zip e colocar os arquivos Camd.lst e twincas_1.02.tar.gz em um pendrive por
exemplo e instalar assim como se instala outros módulos OpenXCAS.
Obs.: Após instalar o driver com os comandos acima, deve-se REINICIAR o receptor
(desligar/ligar na chave traseira).
Obs.: Esse instalador do driver pl2303 precisa ser executado somente na primeira
vez, depois somente se fizer atualização de firmware ou recovery.
Segue abaixo a lista de parâmetros do twincas que podem ser usadas tanto por
linha de comando (telnet), quanto por configuração no openxcas.conf (quando se
inincia pelo controle remoto).
O mesmo help abaixo sobre os parâmetros pode ser obtido com o comando:
Código:
AZBox[twincas]$ /EMU/OpenXCAS/twincas/twincas -h
twincas version v1.02 - The Twin CAM for AZBox HD
Os argumentos são:
Código:
-d<n>
define delay antes de tentar encontrar nova CW diferente da última lida do
dongle até o máximo de tentativas definida com -t. O <n> pode ser 0 a qualquer
número, mas não defina valores muito altos (manter abaixo de 2000000=2 seg).
Tenha cuidado. (use em conjunto com -t)
-t<n>
Define o número máximo de tentativas para tentar encontrar CW diferente da
última lida dentro da função twin_get_key function antes de retnornar "key not
found". Veja a nota acima, para definir <n> (não defina valores muito altos)
cuidado o tempo total de looping dentro dessas tentativas será o valor de -t x
o valor de -d (ex.: -t25 e -d100000 = 25 x 100000 = 2500000 microsegundos =
2.5 segundos tentando ler nova CW do dongle antes de retornar. Recomendao que
o valor total não passe de 10000000 = 10seg). Use em conjunto com -d.
-w<n>
Define um delay antes de enviar comando para o dispositivo pela serial.
Novamente, tenha cuidado em não definir valores muito altos para <n>, pois o
tempo vai se adicionar aos demais dentro do looping de tentativas se for o
caso.
-r<n>
Define um delay antes de ler a porta serial do dispositivo. Novamente, tenha
cuidado em não definir valores muito altos para <n>, pois o tempo vai se
adicionar aos demais dentro do looping de tentativas se for o caso.
-p<x>
Define o nome do arquivo <x> que é o dispotivo da porta serial onde o dongle
está conectado (Default=/dev/ttyUSB0).
-v
Define modo verbose (mostra menssagens na tela - útil somente quando iniciar o
twincas em terminal telnet).
-l
Habilita escrever mensagens num arquivo de log (arquivo de log - default é
/tmp/twincas.log). É a melhor maneira de debugar o funcionamento do programa
quando se inicia o twincas pelo controle remoto (pode-se então usar por
exemplo o comando: tail -f /tmp/twincas.log no terminal telnet para
acompanhar as mensagens escritas no log).
Tenha cuidado para não encher o filesystem com o log. Só habilite quando
realmente for debugar algo. O sistema como um todo fica mais lento quando
gerando log e principalmente quando acompanhando através do comando tail.
-f<x>
Define um arquivo de log diferente (se usar, defina <x> com todo o caminho do
arquivo ex.: /tmp/logfile.log).
-m
Desabilita o processamento de EMM filtes (Altamente recomendado usar -m. O
default, se não usar -m, é habilitado).
-x
Define que a função openxcas_get_message use o parâmetro interno wait=FALSE
(default é TRUE, se não usar -x).
-o
Define openxcas_debug_message_onoff, default é off, se usar -o muda para on.
-q<n>
<n>=número máximo de tentativas para verificar o buffer antes de ler da porta
serial (use em conjunto com -b)
-b<n>
<n>=tempo de espera antes de verificar o buffer da porta serial (use em
conjunto com -q)
-c
habilita abrir/fechar porta serial a cada leitura do dongle (não recomendado)
-n<modulename>
<modulename> = nome que se dá ao módulo em tempo de execução. Se não definir o
nome padrão é "twincas". Esse parâmetro serve para executar mais de um plugin
twincas.
-i
diretiva que diz para o twincas instalar o driver pl2303 ao iniciar (executa o
script /EMU/OpenXCAS/twincas/install2303.sh ao iniciar)
Se não estiver instalado ainda, ele instala e é necessário rebootar o STB.
Após fazer isso, é aconselhável não usar o flag -i. Se já estiver instalado,
ele tenta instalar novamente e logo inicia o módulo.
-h
mostra help
Obs.:
Todos os valores para se definir um delay devem ser considerados em
microsegundos (ou seja 1000000 microseg = 1 seg)
Todos os valores default para delay e número de tentativas são 0 dentro do
programa se não forem especificados os parâmetros.
Parâmetros que se aplicam aos dongles como I-Box, Pro-One, entre outros:
Código:
argument = -d500000 -t20 -ntwincas -r0 -w0 -m -x -q20 -b20000 -i
Parâmetros que se aplicam aos dongles smart2 (70, 61), smbox sm1, smart1, pc-
40:
Código:
argument = -d280000 -t35 -ntwincas -m -x -q20 -b20000 -r50000 -w0 -i
Após instalar, pare todas os demais módulos e inicie o TwinCAS pelo controle
remoto.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Depois compilei o programa para azbox hd. Achei o driver para o adaptador
usbserial e instalei no deco. Fiz as configurações mas não funcionou com o smart1
que tinha.
Nesse mesmo tempo o Walterteresina que tem um I-Box fazia os testes com os
arquivos que enviei pra ele, e foi então que ele trouxe a notícia que funcionou e
muito bem.
No momento, com a versão 1.02, já está funcionando com smart1, smart2, new i-
box, xzlinksat, pc-30, SMBox SM1, etc.
PS. O programa que estamos usando no momento chama-se twin2cs que faz a
conversão TWIN<->Newcamd.
Já o programa twiner (do mesmo autor) faz o que o twin2cs faz só que tem suporte
ainda para CCCam e tem uma configuração diferente de delay para eliminar
problemas de freezes.
Sendo que o programa central que faz isso tudo acontecer, o TWIN2CS, pode ainda
servir para outros decos na rede se conectarem por protocolo newcamd, fazendo o
reshare do SKS (testato com um S810).
B-2) Requisitos:
===============
A lista de requisitos está descrita no início desse post.
Após descompactar o arquivo .zip baixado do link citado acima no item II.4, copie
os arquivos Camd.lst e twin2cs.tar.gz para a raiz (/) de um pendrive formatado em
fat32.
Código:
Home Menu -> Plugins -> OpenXCAS -> Obter Executavel -> Instalar da USB ->
twin2cs.tar.gz -> ok
Exemplo de twin2cs.cfg
Código:
SERIAL: /dev/ttyUSB0
KEY: 01 02 03 04 05 06 07 08 09 10 11 12 13 14
PORT: 25000
CAID: 1802
PROVIDERS: 101 102 106 2311 3311 000000
Configure uma conexão cliente Newcamd (no Multicas por exemplo) para se
conectar ao twin2cs usando os dados de usuário, senha, deskey, porta conforme
definidos no arquivo twin2cs.cfg acima citado. O hostname pode ser 127.0.0.1 que
é o endereço local do STB.
Por telnet (use MAZ ou putty), execute o seguinte comando para instalar o módulo
do driver para o adaptador usbserial com chipset pl2303:
Código:
/EMU/OpenXCAS/twin2cs/install.sh
Reinicie o receptor.
Após reinicar, inicie o twin2cs por controle remoto mesmo (botão >>| - seleciona a
CAM twin2cs - botão azul - para ficar sem o sinal # no início do nome da CAM).
Depois o cliente newcamd que você configurou (Multicas por exemplo)
Certifique-se de não ter mais nenhuma CAM (Cheops por exemplo), e nem outro
server configurado no cliente Newcamd para ter certeza que vai abrir pelo dongle.
Vá para um canal que sabe que o dongle está abrindo e veja se abrirá ou não.
DICA(1):
Para ter certeza que o driver pl2303 carregou, pode executar:
Código:
dmesg | grep 2303
ou
Código:
lsmod
e verificar se o driver foi carregado e em que porta ele está referenciado (ex.
ttyUSB0, isso se vê através do comando dmesg)
* Essa parte descrita na sessão "II" só é necessária fazer uma vez. Feita uma vez,
até se fazer um "format area", o driver deverá sempre carregar automaticamente
quando reiniciar o receptor.
------------------------------------------------------------
EDITADO 1: Além do tutorial que está descrito aqui para esse método (manual), o
Walter nos presenteou com um tutorial com mais detalhes. Segue o link:
>>> Tutorial mais detalhado por Walterteresina <<<
Pode seguir o método manual pelo pacote do Walter, mas pode estar desatualizado
por causa das versões dos arquivos usados.
------------------------------------------------------------
EDITADO 2: Agora que o plugin está funcionando, atualizei o método manual para
se usar o mesmo pacote do plugin, evitando a necessidade de se manter 2 pacotes
de arquivos para os 2 métodos.
------------------------------------------------------------
Código:
mkdir /EMU/OpenXCAS/twin2cs
Depois copiar os arquivos (descompactados até o último nível) do pacote que fez
download acima no item II.4 para esse diretório que foi criado. (Eu uso o winscp
pra isso, mas podem usar o MAZ ou o Filezila).
Os arquivos são:
Código:
azdongletest
install.sh
openxcas.conf
pl2303.ko
readme.txt
S98pl2303
twin2cs
twin2cs.cfg
twin2cs.channelinfo
Agora pode-se carregar o driver para o adaptador usbserial via telnet:
Código:
cd /EMU/OpenXCAS/twin2cs
insmod /MMP/modules/2.6.15/usbserial.ko
insmod pl2303.ko
A primeira linha acima, pode não ser necessária pois o módulo usbserial.ko pode já
estar carregado, mas por precaução, execute.
Após instalar o driver, deve-se achar a porta serial que ele foi instalado. Para isso
faça o seguinte:
Código:
AZBox[twin2cs]$ dmesg | grep 2303
...
pl2303 1-2.2:1.0: pl2303 converter detected
usb 1-2.2: pl2303 converter now attached to ttyUSB0
usbcore: registered new driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver
...
Pode usar também o comando "lsmod" para verificar a lista de módulos carregados
e ver se o pl2303 aparece listado.
Código:
AZBox[twin2cs]$ lsmod
Module Size Used by Tainted: P
pl2303 24592 0 - Live 0xc8ab2000
cdfs 30144 0 - Live 0xc8a91000
sr_mod 16944 0 - Live 0xc8a81000
cdrom 43184 1 sr_mod, Live 0xc89ca000
ftdi_sio 32704 0 - Live 0xc898b000
usbserial 30432 2 pl2303,ftdi_sio, Live 0xc8997000
sckernel 32720 0 - Live 0xc89c1000
em8xxx 2522832 6 - Live 0xc8cf3000
llad 128416 17 em8xxx, Live 0xc89a0000
rt3070sta 654000 1 - Live 0xc89d9000
rt61 297392 0 - Live 0xc80a7000
ehci_hcd 39120 0 - Live 0xc809c000
uhci_hcd 37280 0 - Live 0xc8015000
Identifique a porta, como no meu caso (em vermelho na lista do comando dmesg
acima) está usando a ttyUSB0.
KEY: 01 02 03 04 05 06 07 08 09 10 11 12 13 14
PORT: 25000
CAID: 1802
PROVIDERS: 101 102 106 000000
Após configurar os arquivos, deve-se copiá-los para /var/etc. Esse diretório não
existe no AZBox HD quando se liga ele, então via telnet estando dentro do diretório
onde estão os arquivos (/EMU/OpenXCAS/twin2cs) e pode se iniciar o programa:
Código:
cd /EMU/OpenXCAS/twin2cs
mkdir /var/etc
cp twin2cs.c* /var/etc
./twin2cs
Código:
[04:07:17.685] twin2cs - by basssem, dvbcrypt#.gmail.com
[04:07:17.686] twin2cs Mipsel version 1.01
[04:07:17.687] config: parsing file '/var/etc/twin2cs.cfg'
[04:07:17.688] *caid 1802
[04:07:17.688] *prov 0 = 000101
[04:07:17.688] *prov 1 = 000102
[04:07:17.689] *prov 2 = 000106
[04:07:17.689] *prov 3 = 000000
[04:07:17.689] config: parsing file '/var/etc/twin2cs.channelinfo'
[04:07:24.041] Serial port '/dev/ttyUSB0' opened.
[04:07:24.052] newcamd server started on port 25000
[04:07:25.258] entering main loop...
Código:
twin2cs
MultiCAS
#CheopsCAS
#newcs
#mgcamd
PS: nesse exemplo eu tenho outros plugins (newcs, mgcamd, cheops), depende de
quais você tenha instalado, o que importa é adicionar a linha do twin2cs e deixá-lo
na primeira linha de preferência (questão de prioridade, inicia primeiro que os
demais).
Bem, de quebra, esse programa/plugin twin2cs serve também para conectar outros
decos que podem se conectar via rede no AZBox HD onde está o Dongle, ou seja,
reshare de SKS.
Sintaxe:
Regras:
Para satélites de posição West (Oeste - que é nosso caso aqui no Brasil) a fórmula
é: 360 - graus_da_posição_do_satélite, depois adiciona-se um 0 (zero) à DIREITA
do resultado, ou seja para o 61 é 360 - 61 = 299 em decimal
Exemplo:
Código:
1802:000000:0153:0BAE:2B7F "Sporteveuno"
** Se alguém testar com outros dongles, decos, formas, por favor postar nesse
tópico para que atualize essa lista (todos agradecem)
D) TO DO
=========
1-Fazer testes com o twiner que é o outro programa com suporte a CCCam e com
parâmetro de delay para evitar freezes e, melhorar também o twin2cs
2-Programar um dispositivo (que foi onde começamos eu, Walter e o user prd do
outro fórum a pesquisar sobre essa possibilidade, principalmente depois do user
Duduangra ter perguntado se era possível usar o premium em SKS)
8-Melhorar/fazer plugin para instalação do driver pl2303 (ou um control center para
twincas e twin2cs)
F) Extras
=========
Uma imagem do programa v0.2 em ação: (ele não faz nada mais do que testar a
comunicação, não é emulador)
F-3) Dongle Comm test para azbox: (para azbox hd linux mipsel smp8634)
==================================================
===
Na mesma linha do DongleTestV03 para windows, disponibilizo essa versão beta
para executar direto no azbox, com objetivo unico e exclusivo de fazer testes de
conexão com dongle conectado ao azbox.
>>>download aqui do azdongletest para azboxhd<<<
Código:
Sintaxe: azdongletest [-pport] [-bbaudrate] [-tn_tries] [-ddelaytry] [-
rdelayread] [-wdelaywrite] [-ssid] [-lsatlatitude] [-ffrequency]
-t = max tentativas
-d = delay p/ cada tentativa
-r = delay antes de ler da serial
-w = delay antes de escrever na serial (microsegundos 1seg = 1000000
microsegundos)
-p = serial device (geralmente /dev/ttyalgumacoisa
-b = define velocidade (baud rate) da porta serial
-s = SID do canal (no exmeplo acima é bobosp 70w)
-l = satelite latitude negativo para oeste e positivo para leste, ou seja, no
caso de 70.0w fica -700
-f = frequencia do canal (com 3 zeros no final no caso dos TPs do 70w ou do
61w)
Ex.:
azdongletest -p/dev/ttyUSB0 -b115200 -t50 -d100000 -r0 -s855 -l-610 -f10808000
Para Help:
Código:
chmod 755 azexpch
./azexpch -h
Os argumentos são:
Obs.: -c ou -l devem ser usados sempre por último da lista de parâmetros usados,
e sempre: ou um, ou outro, não os dois ao mesmo tempo.
Para listar Networks: (primeiro deve-se descobrir qual o network id que está
referenciado no arquivo all_channels.dat do seu STB)
Código:
./azexpch -l
A partir do comando acima, pode-se identificar qual é a network para o sat que se
deseja gerar o arquivo com a lista.
Para facilitar, pode-se usar o comando grep em conjunto, ex. para achar a network
do passaro 43.0w (-430):
Código:
./azexpch -l | grep 430
Para listar channels (-c) do tipo TV (-t257) do passaro 70w (-s-700) ku (-n182) no
formato cccam.channelinfo (-f3), passando parametros CAID com -a1802 e
provider 000000 (-p000000) no arquivo cccam.channelinfo:
Código:
./azexpch -n182 -t257 -f3 -a1802 -p000000 -s-700 -c > cccam.channelinfo
Para listar channels (-c) de todos os tipos (radio e tv - é só não usar o parametro -
t) do passaro 43w (-s-430) ku (-n147) no formato twin2cs.channelinfo (-f1),
passando parametros CAID 0907 e provider = 000000:
Código:
./azexpch -n147 -f1 -a0907 -p000000 -s-430 -c > twin2cs.channelinfo
DICA(3): para se gerar a lista para mais de um sat em um mesmo arquivo, gerar
um de cada vez passando os parametros conforme for para cada um, e depois uni-
los (use a criatividade).
Complicado?? pode ser, mas pra quem não tinha nada ou tinha que gerar "a mão",
já ajuda. :)
E, depois se tudo estiver ok, colocando-o para executar a cada vez que se iniciar o
deco para manter os arquivos do plugin twin2cs atualizados, vai melhorar bastante.
O objetivo agora é ver se mais alguém pode executar e postar resultados aqui para
ver se está tudo ok.
Quem for testar, faça com calma. Leia e tente entender os parametros para que
servem. Como disse, é um programa em fase inicial (beta).
PS.: Esse programa foi feito em cima do código fonte encontrado no AZBoxTVSDK
disponibilizado pelo fabricante.
O projeto do Bassem do twin2cs e do twinner era pra linux x86. Vários users aqui
do forum é que compilaram para outras plataformas como NAS ARM, AZBox Mipsel
e Dreambox PPC.
Então, as versões decorrentes que foram evoluídas, também servem para executar
em cima de linux em PC, podendo ser em máquina física ou virtual.
Disponibilizo o twin2cs código fonte e executável para linux x86 nas seguintes
versões:
Obs.: para rodar twin2cs com 43w, o caid 0907 não funciona quando usando
azamerica, ele passa 0000, então no arquivo twin2cs.channelinfo deve-se ajustar o
caid para 0000.
O twin2cs não consegue ainda atender mais de um CAID na mesma instância que
está executando.
Bem, por enquanto é isso, vamos incorporando informações aqui na medida que for
necessário.
Lembrando, faço por puro hobby e vontade de ver as coisas funcionarem, e
também para aprender.
Abraço.