CCcam Free Plugin: Setup, Config & Troubleshooting Guide
Jeśli szukałeś darmowej wtyczki cccam, aby połączyć odbiornik satelitarny z serwerem CCcam, prawdopodobnie patrzysz na mnóstwo niedokończonych postów na forach i przestarzałych tutoriali na YouTube. Ten przewodnik obejmuje pełny obraz — od wyboru właściwej wersji wtyczki dla architektury procesora odbiornika, przez edycję pliku CCcam.cfg bez wprowadzania cichych błędów parsowania, po rzeczywiste zweryfikowanie, że połączenie działa, zamiast po prostu to zakładać.
Jest to napisane dla osób, które już rozumieją podstawową koncepcję współdzielenia kart i potrzebują tylko szczegółów technicznych, aby to uruchomić. Bez trzymania za rękę, bez niejasnych rad.
Co to jest wtyczka CCcam i jak działa
Termin „darmowa wtyczka cccam" jest używany luźno, ale odnosi się konkretnie do swobodnie rozpowszechnianego oprogramowania klienta CCcam, które działa na Twoim odborniku — nie do żadnej płatnej usługi lub subskrypcji. Sama wtyczka nic nie kosztuje. To, co płacisz (jeśli w ogóle), to dostęp do zdalnego serwera CCcam, który ma włożoną ważną kartę inteligentną.
Wtyczka łączy się na zewnątrz do serwera zdalnego, uwierzytelnia się, a następnie przekazuje żądania ECM (Entitlement Control Message) z tunera Twojego odbiornika do tego serwera. Serwer deszyfruje te żądania za pomocą swojej fizycznej karty inteligentnej i wysyła z powrotem słowo kontrolne. Twój odbiornik używa tego słowa kontrolnego do zdekodowania kanału. Cała podróż w obie strony musi się odbyć w około 500ms lub zobaczysz zamrażanie.
Klient CCcam vs. serwer CCcam: co wtyczka faktycznie robi
Uruchamianie CCcam jako wtyczki klienta jest całkowicie inne od uruchamiania go jako demona serwera. Jako klient łączy się na zewnątrz na port 12000 (domyślnie), uwierzytelnia się i odbiera udostępniane karty. Jako serwer, nasłuchuje na porcie 12000, akceptuje połączenia od klientów i udostępnia karty, które ma lokalnie — albo fizyczne karty inteligentne, albo karty otrzymane z hosta.
Większość użytkowników domowych używających darmowej wtyczki cccam jest w czystym trybie klienta. Nie mają karty lokalnej. Wtyczka po prostu przekazuje żądania ECM na upstream. Pomylenie tych dwóch ról prowadzi do błędnie skonfigurowanych zapór ogniowych i skryptów init, które nigdy nie działają prawidłowo.
Jak protokół CCcam komunikuje się na porcie 12000
CCcam używa zastrzeżonego binarnego protokołu TCP. Połączenie rozpoczyna się od uzgodnienia opartego na SHA1, w którym obie strony wymieniają sumę kontrolną cykliczną w celu zweryfikowania, że druga strona jest uzasadnionym węzłem CCcam. Port domyślny to 12000/TCP, a zarówno klient, jak i serwer muszą się na nim zgodzić dokładnie.
Wersje protokołu mają większe znaczenie niż przyznaje większość przewodników. CCcam 2.0.x, 2.1.x, 2.2.x i 2.3.x mają wszystkie nieco różne struktury uzgodnienia. Klient 2.0 próbujący połączyć się z ścisłym serwerem 2.3 może się nie powieść w ciszy — dziennik pokazuje jedynie rozłączenie bez użytecznego komunikatu o błędzie. Jeśli to widzisz, niezgodność wersji to rzeczywista możliwość warta zbadania zanim
ou obwiniasz swoją konfigurację.Jeszcze jedna ważna rzecz: zegar systemowy twojego odbiornika ma znaczenie. Uścisk dłoni CCcam zawiera znacznik czasu, a niektóre serwery go weryfikują. Jeśli zegar odbiornika znacznie się różni, ponieważ NTP nie został zsynchronizowany, możesz otrzymać błędy uwierzytelniania, które wyglądają zupełnie losowo. Uruchom date przez SSH i sprawdź, czy jest poprawny, zanim zaczniesz debugować cokolwiek innego.
Różnica między CCcam, OScam-emu i MGcamd jako opcjami klienta
CCcam to oryginalny protokół i wtyczka. OScam (z lub bez emu) to open-source'owa alternatywa, która natywnie obsługuje protokół CCcam w trybie czytnika — oznacza to, że możesz użyć OScam do połączenia się z serwerem CCcam bez uruchamiania całego pliku binarnego CCcam. MGcamd to oddzielny klient, który używa głównie protokołu Newcamd, chociaż ma pewną obsługę CCcam przez inny format konfiguracji.
OScam stał się preferowanym wyborem dla stabilności na pudełkach Enigma2. Lepsze logowanie, bardziej szczegółowa kontrola i aktywny rozwój. Jeśli masz trwałe problemy z binarnym CCcam, przełączenie się na czytnik CCcam OScam jest warte dodatkowej pracy konfiguracyjnej. Więcej na ten temat w Sekcji 2.
Kompatybilne wtyczki dla Enigma2 i innych odbiorników
Enigma2 to dominująca platforma dla odbiorników satelitarnych i ma najlepszy ekosystem wtyczek dla CCcam. Ale nawet w ramach Enigma2 liczy się obraz — OpenATV, OpenPLi i OpenVix mają różne lokalizacje kanałów, ścieżki panelu softcam i nazwy skryptów init.
Wtyczka CCcam dla Enigma2 (OpenATV, OpenPLi, OpenVix)
Na OpenATV najłatwiejsza droga to przez SSH. Połącz się ze swoim odbiornikiem i uruchom:
opkg update
opkg install enigma2-plugin-softcams-cccamTo pobiera wtyczkę z oficjalnego kanału dystrybucji i instaluje ją z prawidłowym binarnym dla twojego pudełka. Po instalacji panel softcam znajduje się w Menu → Setup → System → Softcam na OpenATV.
OpenPLi umieszcza panel softcam w nieco innej lokalizacji — Menu → Setup → System → Softcam Manager. Nazwy skryptów init również różnią się między obrazami. Na OpenATV zazwyczaj używasz /etc/init.d/softcam. Na niektórych wersjach OpenPLi to /etc/init.d/CCcam. Poznaj swój obraz przed skryptowaniem czegokolwiek.
Na niektórych pudełkach Vu+ partycja /etc jest tylko do odczytu. Jeśli nie możesz zapisać CCcam.cfg do /etc/, umieść go w /var/etc/CCcam.cfg i utwórz dowiązanie symboliczne: ln -s /var/etc/CCcam.cfg /etc/CCcam.cfg. Wtyczka będzie podążać za dowiązaniem symbolicznym.
OScam jako klient kompatybilny z CCcam na Enigma2
Zainstaluj wtyczkę OScam przez opkg w ten sam sposób, a następnie skonfiguruj blok czytnika CCcam w /etc/oscam/oscam.server. Minimalny blok czytnika wygląda tak:
[reader]
label = my_cccam_server
protocol = cccam
device = yourserver.example.com,12000
user = your_username
password = your_password
cccversion = 2.3.0
cccmaxhops = 1OScam do
nie używa pliku CCcam.cfg w ogóle. Cała konfiguracja znajduje się w plikach/etc/oscam/oscam.conf, oscam.server i oscam.user. Interfejs webowy dla OScam działa domyślnie na porcie 8888 i jest znacznie bardziej szczegółowy niż wbudowana strona CCcama.Jeśli uruchamiasz zarówno CCcam, jak i OScam jednocześnie, a jeden z nich jest również skonfigurowany jako serwer lokalny na porcie 12000, otrzymasz konflikt portów. Tylko jeden proces może się wiązać z danym portem. Wyłącz jeden przed uruchomieniem drugiego.
CCcam na odbiornikach nie-Enigma2: Dreambox, Vu+ i IPBOX
Sprzęt Dreambox z systemem Dreambox OS (nie Enigma2) ma swój własny system wtyczek, ale większość nowoczesnych pudełek Dreambox i tak uruchamia obrazy Enigma2, dlatego powyższe instrukcje mają zastosowanie. Starsze pudełka DM500/DM600 z oryginalnym systemem Dreambox OS potrzebują binariów SH4 specyficznych dla platformy.
Pudełka IPTV oparte na Androidzie — Formuler Z8, seria Zgemma H z Androidem, pudełka Medialink — nie obsługują natywnie CCcama. Plik binarny CCcam jest wykonywalnym systemem Linux ARM/MIPS. Nie będzie działać na Androidzie bez znacznych hacków, które nie są warte wysiłku. CCcam na Androidzie po prostu nie jest życiową ścieżką.
Odbiorniki IPBOX z własnym oprogramowaniem systemowym Linux czasami mają CCcam dostępny za pośrednictwem swojego menedżera pakietów, ale może być konieczne skompilowanie ze źródła dla konkretnego procesora. To zajęcie warte unikania, chyba że już czujesz się komfortowo z kompilacją krzyżową.
Instalacja za pośrednictwem kanału źródłowego a ręczna przesyłka .ipk
Instalacja ze źródła danych za pośrednictwem polecenia opkg install jest zawsze lepka — obsługuje zależności i automatycznie pobiera odpowiednią architekturę. Ale jeśli Twój odbiornik nie ma połączenia internetowego w momencie instalacji, źródło danych nie zadziała w ciszy (brak pobranego pakietu, brak przydatnego komunikatu o błędzie). W takim przypadku pobierz poprawny plik .ipk dla Twojej architektury z zaufanego źródła na komputerze PC, przesyłaj go do odbiornika za pośrednictwem FTP lub SCP do folderu /tmp/, a następnie zainstaluj:
opkg install /tmp/cccam_2.3.0_mipsel.ipkArchitektura CPU to miejsce, w którym wiele instalacji się psuje. Dreambox DM800 to SH4. Większość nowoczesnych odbiorników Vu+ i AX to ARM (konkretnie armv7). Zainstalowanie binariów x86 lub nieprawidłowej architektury powoduje błąd "Exec format error" przy próbie uruchomienia wtyczki — i nie powiedzie się w ciszy w panelu softcam bez wyraźnego wskazania, co poszło nie tak. Zawsze weryfikuj za pomocą polecenia file /usr/bin/CCcam po instalacji.
Plik konfiguracyjny CCcam.cfg: Kompletny przewodnik składni
Tu psuje się większość instalacji. Składnia CCcam.cfg jest prosta, ale nieubłagana wobec białych znaków, końców linii i kolejności pól.
Lokalizowanie ścieżki pliku CCcam.cfg na Twoim odborniku
Standardowa ścieżka to /etc/CCcam.cfg. Na niektórych obrazach (szczególnie OpenPLi i niektórych kompilacjach Vu+) znajduje się w /var/etc/CCcam.cfg. Jeśli nie jesteś pewien, który obraz używa, uruchom to za pośrednictwem SSH:
find / -name CCcam.cfg 2>/dev/nullJeśli plik nie istnieje jeszcze, utwórz go. Wtyczka
nie będzie go tworzyć dla ciebie, a często uruchamia się bez błędu, ale nie robi nic użytecznego, jeśli konfiguracja brakuje lub jest pusta. Uprawnienia do pliku powinny wynosić 644:chmod 644 /etc/CCcam.cfg.Poprawna składnia linii C: do połączenia z serwerem
Linia C: jest dyrektywą połączenia. Składnia:
C: hostname port username passwordPola są oddzielone spacjami. Brak cudzysłowów wokół żadnej wartości. Brak spacji na końcu. Brak pustego pola. Przykład:
C: cccam.example.com 12000 myuser mypasswordPort 12000 jest domyślny, ale serwery mogą używać portów 11000, 13000 lub całkowicie niestandardowych portów. Jakikolwiek port podał ci operator serwera — użyj dokładnie tego. Niektóre serwery działają na portach powyżej 32768, i pamiętaj, że niektóre reguły zapory odbiornika (za pośrednictwem iptables) domyślnie blokują wysokie porty wychodzące. Sprawdź za pomocą iptables -L OUTPUT, jeśli widzisz odmowę połączenia na niezwykłym porcie.
Wyjaśnione linie N:, linie F: i linie B:
Prawie każdy przewodnik tam pokazuje linię C: i stop. Oto co robią inne:
- Linia N: — Połączenie serwera Newcamd. Ta sama koncepcja co C:, ale używa protokołu Newcamd zamiast protokołu CCcam. Składnia:
N: hostname port username password deskey, gdzie deskey to 14-bajtowy klucz szesnastkowy (oddzielony spacjami). Użyj tego, jeśli twój serwer mówi Newcamd zamiast CCcam natywnie. - Linia F: — Definicja fałszywej karty. Używana do testowania lokalnego. Mówi CCcam, aby udawał, że ma kartę z określonym CAID. Przydatne do weryfikacji routingu ECM twojego odbiornika bez prawdziwego serwera. Składnia:
F: CAID providerid. - Linia B: — Zablokuj określony CAID przed udostępnianiem. Jeśli uruchamiasz CCcam w trybie mieszanym (klient + ograniczony serwer), możesz użyć linii B:, aby zapobiec ponownym udostępnianiu określonych kart poniżej. Składnia:
B: CAID.
Liczba przeskoków, limit udziału i ustawienia AU
Trzy dyrektywy, które warto zrozumieć zamiast ślepo kopować:
HOPS kontroluje, ile kroków ponownego udostępniania karty jest akceptowanych. HOPS: 1 oznacza tylko karty, które są bezpośrednio połączone z twoim serwerem nadrzędnym — nie karty, które twój serwer nadrzędny otrzymał od własnego serwera nadrzędnego. Domyślnie wynosi 1. Ustawienie tego na wyższą wartość akceptuje więcej kart, ale karty te mają zwykle wyższą opóźnienie ECM, ponieważ przeszły przez więcej węzłów.
SHARE LIMIT kontroluje ponowne udostępnianie kart, które otrzymałeś. Jeśli jesteś czysto klientem bez użytkowników poniżej, to nie ma znaczenia. Jeśli przesyłasz do lokalnych klientów, ustaw na liczbę przeskoków, które chcesz zezwolić.
CLIENTAU kontroluje auto-aktualizację (flagę AU). Ustaw CLIENTAU: yes, jeśli twój serwer to obsługuje i chcesz, aby twój odbiornik obsługiwał przetwarzanie EMM (Entitlement Management Message). W przypadku większości ustawień tylko klienta powinno to być no, chyba że konkretnie wyma
KEEPALIVE — dodaj KEEPALIVE: yes jeśli doświadczasz częstych rozłączeń. Wysyła okresowe pakiety keepalive, aby utrzymać sesję TCP przez routery NAT, które odrzucają bezczynne połączenia.
Przykład minimalnej konfiguracji roboczej
# CCcam.cfg - minimalna konfiguracja klienta
# Linie zaczynające się od # to komentarze
C: cccam.example.com 12000 myusername mypassword
HOPS: 1
CLIENTAU: no
KEEPALIVE: yes
SHARE LIMIT: 0Zapisz ten plik z koniec linii Unix (tylko LF, nie CRLF). To prawdziwa pułapka: jeśli edytujesz CCcam.cfg w Notatniku na Windows i go zapiszesz, będzie miał koniec linii CRLF. CCcam parsuje to niepoprawnie — znak powrotu karetki jest dodawany do ostatniego pola w każdej linii, więc "mypassword\r" nie odpowiada "mypassword". Połączenie wydaje się zawiesić. Aby sprawdzić swój plik, uruchom:
cat -A /etc/CCcam.cfg | headJeśli widzisz ^M na końcu linii, masz CRLF. Napraw to za pomocą: sed -i 's/\r//' /etc/CCcam.cfg
Uruchamianie, zatrzymywanie i weryfikacja wtyczki CCcam
Zainstalowanie wtyczki to dopiero połowa pracy. Sprawdzenie, czy jest rzeczywiście podłączona i działa, to miejsce, gdzie większość ludzi się zatrzymuje — zakładają, że „uruchomiony" oznacza „działający".
Uruchamianie CCcam z panelu softcam Enigma2
Na OpenATV: Menu → Setup → System → Softcam. Wybierz CCcam z listy i naciśnij zielony przycisk, aby uruchomić. Panel pokazuje wskaźnik stanu, ale nie zawsze jest niezawodny — zielona kropka nie gwarantuje, że połączenie z serwerem jest ustanowione, tylko że binarny jest uruchomiony.
Uruchamianie i zatrzymywanie za pośrednictwem wiersza poleceń SSH
SSH daje ci większą kontrolę i lepszą informację zwrotną:
# Uruchom
/etc/init.d/softcam start
# Zatrzymaj
/etc/init.d/softcam stop
# Ponownie uruchom
/etc/init.d/softcam restartW obrazach, gdzie CCcam ma swój własny skrypt init zamiast przechodzić przez ogólny wrapper softcam:
/etc/init.d/CCcam start
/etc/init.d/CCcam stopJeśli nie jesteś pewien, który dotyczy, sprawdź, co istnieje: ls /etc/init.d/ | grep -i cam
Czytanie CCcam.log w celu weryfikacji połączenia serwera
Plik dziennika zwykle znajduje się w /tmp/CCcam.log lub /var/log/CCcam.log. Śledź go na żywo podczas uruchamiania:
tail -f /tmp/CCcam.logPomyślne połączenie wygląda mniej więcej tak:
connected to cccam.example.com:12000
login ok
got 3 cardsBłąd uwierzytelniania wygląda tak:
connected to cccam.example.com:12000
login failed
disconnectedJeśli widzisz „połączono", ale natychmiast „rozłączono" bez wyniku logowania, podejrzewaj niezgodność wersji protokołu lub problem z znacznikiem czasu/zegarem.
Sprawdzanie aktywnych udziałów ze strony informacyjnej CCcam (port 16001)
CCcam ma wbudowany interfejs HTTP, który większość poradników nigdy nie wspomina. Wskaż przeglądarkę na http://<receiver-i
:16001 podczas gdy CCcam jest uruchomiony. Zobaczysz połączone serwery, listę współdzielonych kart z ich CAID-ami oraz czasy odpowiedzi ECM dla ostatnich żądań.
To jest Twoje podstawowe narzędzie diagnostyczne. Jeśli serwer pokazuje się jako połączony, ale lista kart jest pusta, problem jest po stronie serwera (brak ważnej karty dla Twojego CAID-a) lub ustawienie HOPS go filtruje. Jeśli czasy ECM konsekwentnie przekraczają 600ms, spodziewaj się zacinania kanałów.
Rozwiązywanie typowych błędów wtyczki CCcam
Systematyczne podejście: wyeliminuj każdą warstwę przed przejściem do następnej. Sieć → uwierzytelnianie → dostępność karty → wydajność ECM.
Nie można nawiązać połączenia: połączenie odrzucone lub limit czasu
„Połączenie odrzucone" oznacza, że połączenie TCP zostało aktywnie odrzucone — port nie jest otwarty na serwerze lub proces serwera nie jest uruchomiony. „Limit czasu połączenia" oznacza, że pakiet nie otrzymał odpowiedzi — zapora sieciowa go gdzieś blokuje.
Najpierw sprawdź podstawy. Czy port jest prawidłowy? Czy nazwa hosta się rozwiązuje? Uruchom nslookup yourserver.example.com z odbiornika. Jeśli DNS jest wolny (nazwa hosta DDNS), CCcam może się skończyć przed rozwiązaniem — dodaj bezpośrednio IP do testowania lub zwiększ limit czasu DNS na swoim odborniku.
Sprawdź zaporę wychodzącą odbiornika: iptables -L OUTPUT. Niektóre obrazy są wyposażone w restrykcyjne reguły wychodzące. W razie potrzeby dodaj wyjątek: iptables -A OUTPUT -p tcp --dport 12000 -j ACCEPT
Połączony, ale karty się nie pokazują (0 kart)
To jest prawdopodobnie najczęstsza skarga po nawiązaniu połączenia. Sesja TCP jest aktywna, uwierzytelnianie przeszło, ale lista kart na porcie 16001 pokazuje nic.
Najbardziej prawdopodobna przyczyna: serwer nie ma karty dla żądanego CAID-a lub filtrowanie HOPS wyklucza kartę. Uzyskaj CAID dla kanału docelowego (widoczny w informacjach o kanale na odborniku), porównaj go z tym, co serwer mówi, że dostarcza, i porównaj z tym, co port 16001 pokazuje jako otrzymane CAID-y.
Sprawdź również, czy Twoja wartość HOPS nie jest zbyt niska dla głębokości karty serwera. Jeśli karta na serwerze przeszła przez 2 skoki, a Twoje HOPS jest ustawione na 1, zostaje odfiltrowana.
Częste rozłączenia i ponowne połączenia w dzienniku
Jeśli dziennik pokazuje powtarzający się wzorzec połączenia → login ok → rozłączenie co kilka minut, winowajcami są zwykle: router NAT porzucający bezczynną sesję TCP (naprawa: KEEPALIVE: yes w konfiguracji), limit liczby klientów serwera osiągnięty i kopnięty Twoje połączenie, lub niestabilność sieci po którejkolwiek stronie.
Najpierw dodaj KEEPALIVE: yes do CCcam.cfg. Jeśli problem się utrzymuje, skontaktuj się z operatorem serwera, czy osiągnąłeś limit jednoczesnych połączeń.
Błędy ECM i zacinanie kanałów mimo aktywnego połączenia
Obserwuj czasy odpowiedzi ECM na porcie 16001. Cokolwiek konsekwentnie powyżej 500-600ms spowoduje widoczne zacinanie lub pikselizację, nawet gdy połączenie jest technicznie aktywne. Powyżej 800ms wiele kanałów będzie nieosiągalnych
chable.Wysokie czasy ECM zwykle oznaczają przeciążenie serwera, wysoką liczbę przeskoków (karta została udostępniona przez wiele węzłów) lub opóźnienie sieci. Sprawdź ustawienie HOPS — niższa wartość jest bardziej stabilna. Darmowa wtyczka cccam po twojej stronie nie może naprawić serwera, który jest po prostu przeciążony.
Sprawdź również: czy żądasz CAID, który wymaga określonego identyfikatora dostawcy? Niektóre kanały wymagają dopasowania zarówno CAID, jak i identyfikatora dostawcy. Sprawdź dziennik CCcam, aby znaleźć linie zawierające „ECM time" i śledzić wzorzec.
Wtyczka się instaluje, ale nie uruchamia się przy starcie
Trzy główne przyczyny: zły binarny plik architekury (sprawdź za pomocą file /usr/bin/CCcam), brakująca biblioteka współdzielona (zwykle libcrypto — sprawdź za pomocą ldd /usr/bin/CCcam) lub uszkodzony/CRLF plik konfiguracyjny, który powoduje błąd parsera przy starcie.
Najpierw sprawdź architekturę: file /usr/bin/CCcam powinien wyświetlić coś pasującego do twojego procesora. Jeśli wyświetla się „ELF 32-bit MSB executable, MIPS", ale twoje urządzenie to ARM, to jest problem. Pobierz ponownie pakiet z prawidłową architekturą.
W przypadku zduplikowanych linii C: w konfiguracji — jeśli przypadkowo masz ten sam serwer wymieniony dwukrotnie, CCcam może wejść w pętlę uwierzytelniania, która zużywa zasoby i powoduje niestabilność. Zachowaj jedną linię C: na serwer.
Ocena serwera CCcam przed połączeniem wtyczki
Zanim zmienisz jakąkolwiek linię w CCcam.cfg, poświęć trochę czasu na ocenę, czy serwer, z którym się łączysz, jest wart twojego czasu. Dobrze skonfigurowana darmowa wtyczka cccam na złym serwerze zawsze będzie działać źle.
Jakie metryki po stronie serwera rzeczywiście mają znaczenie
Czas odpowiedzi ECM to główny numer — wszystko poniżej 300ms jest dobre, poniżej 500ms jest do zaakceptowania, powyżej 600ms jest problematyczne. Poproś operatora serwera o typowe czasy ECM lub sprawdź stronę statusu, jeśli ją mają.
Zasięg CAID ma równie duże znaczenie. Uzyskaj pisemną listę, które CAID-y serwer faktycznie obsługuje, zanim się połączysz. Niejasne twierdzenia o „wszystkich kanałach" to czerwona flaga. Chcesz określonych CAID-ów (np. 0x0500, 0x0100, 0x1810), które pasują do twoich kanałów docelowych.
Limity jednoczesnych połączeń są istotne, jeśli planujesz obsługiwać wiele telewizorów z jednej wtyczki. Limit jednego połączenia oznacza, że tylko jeden tuner może dekodować jednocześnie. Wyjaśnij to wcześniej.
Sprawdź również, czy serwer używa statycznego adresu IP czy nazwy hosta DDNS. DDNS jest w porządku, jeśli TTL jest krótki i twój odbiornik szybko go rozwiąże, ale wolna rozdzielczość DDNS na słabym odbiornikowi może powodować limity czasu połączenia, zanim CCcam nawet spróbuje uzgodnienia.
Testowanie czasu odpowiedzi ECM i stabilności
Najlepszym testem bazowym jest samodzielne hostowanie lokalnego serwera OScam z kartą testową i wskazanie wtyczki CCcam na localhost. Eliminuje to wszystkie zmienne sieciowe i definitywnie informuje, czy istnieją problemy po stronie klienta, zanim zaczniesz obwiniać serwer zdalny.
Jeśli nie możesz samodzielnie hostować, poproś o okres próbny — każdy godny serwer go oferuje. Połącz wtyczkę, otwórz port 16001, lo
kliknij na kanał i obserwuj czasy ECM przez 30 minut. Stabilny serwer pokazuje spójne czasy. Zły serwer pokazuje czasy skaczące z 200ms do 2000ms z okresowymi rozłączeniami.Sprawdź CCcam.log pod kątem wzorca ponownych połączeń. Sporadyczne ponowne połączenia (raz dziennie) są normalne. Ponowne połączenia co kilka minut wskazują na problemy sieciowe lub przeciążony serwer.
Czerwone flagi do unikania przy ocenie serwera
Serwery używające portów powyżej 60000 niekoniecznie są złe, ale jest to wystarczająco niezwykłe, aby podnieść pytania — stabilne serwery produkcyjne zwykle używają dobrze znanych portów w zakresie 11000-13000. Porty powyżej 32768 mogą być również blokowane domyślnie przez reguły zapory sieciowej na niektórych obrazach odbiornika.
Brak dostarczonej listy CAID. Brak okresu próbnego. Twierdzenia o „nieograniczonych hopach" (to powinno być żółtą flagą — wspólnie użytkowane karty z wieloma hopami mają z natury wyższą latencję). Brak sposobu sprawdzenia statystyk ECM lub czasu pracy serwera. Wszystkie te znaki wskazują na serwer, który nie jest prowadzony z dużą starannością.
Zwróć również uwagę na roszczenia dotyczące wersji protokołu CCcam. Serwer twierdzący, że uruchamia 2.3.x, ale nie oferujący żadnej dokumentacji, warto zweryfikować — ustaw cccversion = 2.3.0 w konfiguracji czytnika OScam lub spróbuj połączyć się z binarką 2.3, aby potwierdzić kompatybilność.
Często Zadawane Pytania
Jaki jest domyślny port dla połączenia serwera CCcam?
Domyślnie 12000/TCP. Niektóre serwery używają 11000, 13000 lub portów niestandardowych — niezależnie od tego, jaki port określi operator serwera, użyj tej dokładnej wartości w linii C: pliku CCcam.cfg. Zapory sieciowe zarówno na odbiorniczym kliencie, jak i na serwerze muszą zezwalać na ten port: wychodzący na odborniku, przychodzący na serwerze. Jeśli jesteś na niezwykłym wysokim porcie (powyżej 32768), sprawdź również reguły iptables wychodzące w swoim odborniku.
Gdzie znajduje się plik CCcam.cfg na Enigma2?
Zwykle /etc/CCcam.cfg na OpenATV i większości standardowych obrazów. OpenPLi i niektóre kompilacje Vu+ używają /var/etc/CCcam.cfg. Jeśli nie masz pewności, uruchom find / -name CCcam.cfg 2>/dev/null przez SSH. Jeśli plik nie istnieje, utwórz go ręcznie — wtyczka nie będzie go generować automatycznie. Ustaw uprawnienia na 644 za pomocą chmod 644 /etc/CCcam.cfg.
Czy mogę użyć OScam zamiast wtyczki CCcam do połączenia z serwerem CCcam?
Tak, i często jest to lepszy wybór. OScam obsługuje natywnie protokół CCcam za pośrednictwem bloku czytnika w /etc/oscam/oscam.server z Protocol = cccam. Wcale nie potrzebujesz binarki CCcam. CCcam.cfg w OScam jest w tej konfiguracji nieistotny — wszystko jest konfigurowane za pośrednictwem własnych plików konfiguracyjnych OScam. Zaletą jest lepsze logowanie, większa kontrola nad routingiem ECM i bardziej aktywny rozwój bazy kodu OScam.
Dlaczego moja wtyczka CCcam wyświetla połączoną, ale kanały są nadal zaszyfrowane?
"Połączona" oznacza tylko, że sesja TCP jest nawiązana i uwierzytelnienie przeszło. Nic to nie mówi o dostępności karty. Sprawdź port 16001 na twoim odbiorнiku — jeśli lista kart jest pusta lub nie pokazuje żadnego pasującego CAID, serwer nie udostępnia karty dla kanału, który chcesz oglądać. Przyczyny: serwer nie ma karty dla tego CAID, twoje ustawienie HOPS je filtruje, lub jest niezgodność identyfikatora dostawcy. Porównaj CAID kanału (widoczny w informacjach kanału) z CAID-ami wymienionymi na porcie 16001.
Jak sprawdzić, czy moja wtyczka CCcam zainstalowała poprawną wersję architektury?
Uruchom file /usr/bin/CCcam przez SSH. Dane wyjściowe pokażą ci architekturę ELF — ARM, MIPS, SH4 itd. Porównaj to z procesorem twojego odbiornika: Dreambox DM800 to SH4, większość nowoczesnych pudełek Vu+ i AX to ARM (armv7). Niezgodność architektury powoduje błąd "Exec format error" gdy binarka próbuje się wykonać, a wtyczka w cichy sposób nie startuje — brak oczywistego błędu w panelu softcam. Przydatne jest również: opkg info cccam pokazuje architekturę pakietu.
Co kontroluje wartość HOPS w CCcam.cfg?
HOPS ogranicza, jak wiele kroków re-sharingu karty jest akceptowanych. HOPS: 1 oznacza tylko karty bezpośrednio posiadane przez twój upstream serwer — nie karty, które ten serwer otrzymał ze swojego własnego upstream. Domyślnie to 1. Wyższe wartości pozwalają na karty głębiej w drzewie sharingu, ale te karty mają większe opóźnienia relayu i są mniej stabilne. Ustawienie HOPS zbyt wysoko może oznaczać akceptację kart z czasami ECM 1-2 sekund, które czynią kanały nieprzydatnymi do oglądania.
Czy wtyczka CCcam może być używana na odborniku niż Enigma2, takim jak Medialink lub Formuler?
Tylko jeśli odbiornik uruchamia właściwy system operacyjny oparty na Linuksie, który wspiera wtyczki softcam. Pudełka IPTV oparte na Androidzie — w tym wiele modeli Formuler i Medialink — nie wspierają natywnie CCcam. Binarka nie będzie działać na Androidzie bez poważnych obejść, które nie są praktyczne. Enigma2 to główna wspierana platforma. Niektóre starsze odbiorniki oparte na Linuksie mają swoje własne porty CCcam, ale być może będziesz musiał kompilować ze źródła dla określonego procesora, co rzadko jest warte wysiłku w porównaniu z używaniem po prostu pudełka Enigma2.