Giter Club home page Giter Club logo

oscam-patched's Introduction

OSCam: Open Source Conditional Access Module

License

OSCam: Open Source CAM Copyright (C) 2009-2024 OSCam developers

OSCam is based on the Streamboard mp-cardserver 0.9d by dukat and has been extended and worked on by many more since then.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

For the full text of the licese, please read COPYING file in OSCam top directory or visit http://www.gnu.org/licenses/gpl-3.0.html

Version history

OSCam history is accessible through Trac timeline at: https://git.streamboard.tv/common/oscam/-/commits/master

Repositories

GIT repository: git clone https://git.streamboard.tv/common/oscam.git oscam

Building OSCam from source

For more information and examples on using the build system, please see README.build and README.config files.

Building OScam for different CPUs (cross-compilation)

First you need to install the target CPU toolchain. Already built toolchains for various architectures can be downloaded from:

https://git.streamboard.tv/common/oscam/-/wikis/CrossCompiling

In order to cross compile OSCam you need to set CROSS variable when running make. For example to compile for SH4 architecture you need to run: make CROSS=sh4-linux- or if your cross compilers are not in your PATH - make CROSS=/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-.

Dependencies

OSCam by default do not depend on external libraries except when compilation with SSL is requested. In that case openssl (libcrypto) library must be installed.

OSCam supports building with the following external dependencies:

  • libcrypto (libssl) - 'make USE_LIBCRYPTO=1'
  • libusb - 'make USE_LIBUSB=1'
  • PCSC - 'make USE_PCSC=1'
  • SH4 STAPI support - 'make USE_STAPI=1'
  • SH4 STAPI5 support - 'make USE_STAPI5=1'
  • Coolapi support - 'make USE_COOLAPI=1'
  • AZBOX support - 'make USE_AZBOX=1'

For STAPI support you need to download liboscam_stapi.a library and place it in stapi directory under oscam/ root dir. liboscam_stapi.a can be downloaded from: https://board.streamboard.tv

For STAPI5 support you need to download liboscam_stapi5.a library and place it in stapi directory under oscam/ root dir. liboscam_stapi5.a can be downloaded from: https://board.streamboard.tv

For more information and examples on using the build system, run make help.

Help and Support

man pages and configuration examples are in Distribution/doc directory.

You may visit our Trac system for tracking and filling bug reports. https://git.streamboard.tv/common/oscam/-/issues/new

If you experience any problems with OSCam, feel free to post in our support forum under (mainly German and English language) at: https://board.streamboard.tv/forum/

Configuration wiki: https://wiki.streamboard.tv/wiki/OSCam

oscam-patched's People

Contributors

nautilus7 avatar ohmza avatar wxbet avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

oscam-patched's Issues

PowerVu not descrambling

EMM and ECM keys match, no issue in logs. But no image/sound appears in some transponders.
Currently in EMU = 801. Platform: Linux PC.

What info do I need to send for troubleshooting?
Thank you

aarch64

How does DES decoding work for you in PowerVu (1W/TV5, 5E/SIS, 5E/MTN, 16E/SNAI, 16E/IPPICA) in aarch64 (DM One-Two)?

CW shows OK (sometimes ECM Checksum error), but no picture.

2024/03/28 17:11:54 1B890B64 c (ecm) get cw for ecm:
2024/03/28 17:11:54 1B890B64 c (ecm) 80 30 3D 30 37 20 0E 00 00 00 00 64 A0 00 EC CB
2024/03/28 17:11:54 1B890B64 c (ecm) A8 E1 BE DF D5 CA 90 D1 42 B9 57 1A 00 40 E0 09
2024/03/28 17:11:54 1B890B64 c (ecm) 00 9A EC BF 1C 12 5F 08 D9 46 31 BD 01 E5 0E D5
2024/03/28 17:11:54 1B890B64 c (ecm) AD 71 6A FA F3 53 54 6A F3 BA C7 88 65 41 53 8F
2024/03/28 17:11:54 18E23D79 r (emu) csaUsed: 0, xorMode: 0, ecmSrvid: 040E (1038), hashModeCw: 0, modeCW: 0
2024/03/28 17:11:54 18E23D79 r (emu) channel hash: 32D2A9BD, group id: 3592
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 0: 43F7B597D0CE02D3
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 1: 54927F3BC1792F89
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 2: 8F0E52F27AE6D6B9
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 3: 7A259D6D3E5E2551
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 4: 7A259D6D3E5E2551
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 5: 7A259D6D3E5E2551
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 6: B5EF3746EF7FCBCE
2024/03/28 17:11:54 18E23D79 r (emu) calculated cw 7: 94197F7A3D707F8C
2024/03/28 17:11:54 1B890B64 c (ecm) LOCAL (0E00&/040E/1775/0000/40_43F7B597D0CE02D30000000000000000 HOP:00:0000_0000): found (9 ms) by EMU - FEED OCCAS HD
2024/03/28 17:11:54 1B890B64 c (ecm) cw:
2024/03/28 17:11:54 1B890B64 c (ecm) 43 F7 B5 97 D0 CE 02 D3 00 00 00 00 00 00 00 00
2024/03/28 17:11:55 1B890B64 c (ecm) get cw for ecm:
2024/03/28 17:11:55 1B890B64 c (ecm) 81 30 3D 30 36 20 0C 00 00 00 00 65 A0 08 10 99
2024/03/28 17:11:55 1B890B64 c (ecm) BA 11 97 7A 7E C2 C3 2D 15 97 1B B3 02 40 E0 09
2024/03/28 17:11:55 1B890B64 c (ecm) 40 D6 6F 9C 60 35 BF 26 E4 A0 2F 8A F3 49 4B BD
2024/03/28 17:11:55 1B890B64 c (ecm) D0 C3 7B 44 FB D5 24 BC 1C 23 7D DD 23 19 D8 B1
2024/03/28 17:11:55 18E23D79 r (emu) ECM failed: Checksum error
2024/03/28 17:11:55 1B890B64 c (ecm) LOCAL (0E00&/040E/1775/0000/40_00000000000000000000000000000000 HOP:00:0000_0000): not found (4 ms) by EMU - FEED OCCAS HD
2024/03/28 17:11:55 1B890B64 c (dvbapi) Demuxer 0 restarting decoding requests after 0 ms with 1 enabled and 0 disabled ecmpids!
2024/03/28 17:11:55 1B890B64 c (dvbapi) Demuxer 0 trying to descramble PID 0 CAID 0E00 PROVID 000000 ECMPID 1775 ANY CHID PMTPID 0472 VPID 04D6
2024/03/28 17:11:55 1B890B64 c (ecm) cw:
2024/03/28 17:11:55 1B890B64 c (ecm) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2024/03/28 17:11:57 1B890B64 c (ecm) get cw for ecm:
2024/03/28 17:11:57 1B890B64 c (ecm) 80 30 3D 30 37 20 0E 00 00 00 00 66 A0 00 BE 49
2024/03/28 17:11:57 1B890B64 c (ecm) D1 71 B6 00 A9 70 B3 92 CD 5E AF 1F 00 40 E0 09
2024/03/28 17:11:57 1B890B64 c (ecm) 00 C7 82 2F BF 0E 7D B6 9F 98 3C 6A D6 E6 C9 50
2024/03/28 17:11:57 1B890B64 c (ecm) A1 AE 5D 0E 67 00 63 CE AA 4C B6 0C 81 41 89 BD
2024/03/28 17:11:57 18E23D79 r (emu) csaUsed: 0, xorMode: 0, ecmSrvid: 040E (1038), hashModeCw: 0, modeCW: 0
2024/03/28 17:11:57 18E23D79 r (emu) channel hash: 32D2A9BD, group id: 3592
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 0: 4A15152F374CC432
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 1: 3B1F681020CD92D0
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 2: A470F2986D0D4552
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 3: 1C7AB3CEECA44F23
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 4: 1C7AB3CEECA44F23
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 5: 1C7AB3CEECA44F23
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 6: C449C13E0E382992
2024/03/28 17:11:57 18E23D79 r (emu) calculated cw 7: 51FD2592B69286B9
2024/03/28 17:11:57 1B890B64 c (ecm) LOCAL (0E00&/040E/1775/0000/40_4A15152F374CC4320000000000000000 HOP:00:0000_0000): found (6 ms) by EMU - FEED OCCAS HD
2024/03/28 17:11:57 1B890B64 c (ecm) cw:
2024/03/28 17:11:57 1B890B64 c (ecm) 4A 15 15 2F 37 4C C4 32 00 00 00 00 00 00 00 00

With CSA in PowerVu (9E/AFN) , the picture is fine.

Revision number

Hi @nautilus7,
at this time we have (as workaroud) a virtual revison number counting in oscam official. See: https://github.com/oscam-emu/oscam-patched/blob/master/config.sh#L713-L718
This breaks now, because oscam-patched does not have the same commit count as the orginal repo.

Do you have an idea how to manage this? Short resolution is to change the offset here + 2 (and increment it with every additional commit in oscam-patched that oscam official does not have)

But the main issue came from oscam official. There we have no pipeline setup until now to use another revision number generation approach. Maybe we should create an issue in gitlab and discuss the oscam way there...

oscam-emu will not allow remote client to AU keys

Even with AU enabled I cannot get a remote client (oscam using cccam protocol) to update the ECM keys in oscam-emu.
It seems the EMM filters (UAs) are not sent.
From the client log

(dvbapi) Demuxer 0 matching reader  XxxxxxX  against available emmpids -> START!                              
(reader) XxxxxxX  [cccam] EMM: reader 0E00 match since emmpid has no provid -> SEND!                          
(dvbapi) Demuxer 0 cardsystem for emm filter for caid 0E00 of reader  XxxxxxX  not found                      
(dvbapi) Demuxer 0 matching reader  XxxxxxX  against available emmpids -> DONE!                               
(dvbapi) Demuxer 0 handles 0 emm filters                                                                      
(dvbapi) Demuxer 0 filter1[0] = 80, filter mask[0] = F0, flt&mask = 80 , buffer[0] = 80, buffer[0] & mask = 80

Is it possible to fix this?

AU works fine on the local server.
If the correct ECM keys are in the SoftCam.key file of the server then the client gets a picture.
It is just the EMM keys AU'ing that is the problem.

oscam.user file on Server

[account]
description                   = XxxxxxX
user                          = user
pwd                           = password
group                         = 1
caid                          = 0E00
ident                         = 0E00:000000
au                            = 1
emu_auproviders               = 0E00:000000

oscam.server file on the remote client

[reader]
label                         = XxxxxxX 
enable                        = 1
protocol                      = cccam
device                        = DNS.IP.com,xxxx
user                          = user
password                      = password
inactivitytimeout             = 30
caid                          = 0E00
ident                         = 0E00:000000
group                         = 1
cccwantemu                    = 1
au                            = 1
saveemm-u                     = 1
emu_auproviders               = 0E00:000000

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.