PDA

View Full Version : [VU+ Solo2] Configure OpenViX to use an external SoftCAM (camd.socket)



johnluv778
05-12-15, 20:15
Hello OpenVix support team,

I have been running OpenViX 3.2.021 on my VU+ Solo2 and I really love it.
Thanks for the great effort to bring to us such a quality product.

I have a question for you.

At the moment I have installed both CCCam and OSCam and they both work great.

I now would like to run OSCam on a Linux machine and force OpenViX to use it instead of the default internal one installed as a plugin.

From what I have understood OpenViX communicates with OSCam through the camd.socket protocal which I think implies OSCam must be running on the same machine.

Now, as OSCam can be run in network mode to allow exactly what I wanted to do, I would like to know how to configure OpenViX to use full TCP sockets instead of unix domain sockets.

Please note that what I want to do is remove my OSCam plugin from OpenViX and only use OSCam running on my linux box.

If this is not the correct forum to post this question I apologies in advance and please let me know where to post.

Cheers
John

2stein
05-12-15, 21:17
i have never read about such a setup. i only know client/server setups where you have a client softcam on the box communicating to a server softcam.

johnluv778
05-12-15, 21:30
i have never read about such a setup. i only know client/server setups where you have a client softcam on the box communicating to a server softcam.

Hi 2stein,

This is not something commonly discussed as it's quite low-level.
Only OpenViX developers can answer to this question properly.
I tried to find a forum more specific for OpenViX development but I couldn't find it so far.

Let's wait a reply from somebody of the DEV team.

Cheers,
John

johnluv778
05-12-15, 21:38
More specifically,

ENIGMA2 OpenViX opens a socket (server mode) here: /tmp/.listen.camd.socket.

This allows OSCam to act as a client and connect to the socket opened by OpenViX core.

OSCam commonly runs on the same machine but it is possible to specify OSCam to connect to another server to receive all the PMTs/ECMs/EMMs.

I need to know how to get the socket information so that i can configure OSCam to work in network mode and specify the IP and port of the socket.

Cheers,
John

chaser
05-12-15, 22:06
i have never read about such a setup. i only know client/server setups where you have a client softcam on the box communicating to a server softcam.

There's some more info here:


http://www.oscam.cc/svn/oscam-mirror/trunk/README.dvbapi_protocol
http://wiki.openpli.org/caPMT

I've no idea how you'd go about setting this up in OpenVIX.

johnluv778
06-12-15, 01:57
Hi chaser,

Yes, that's the OSCam side of the documentation but I need to have details from the ENSIGMA2 side (OpenviX).
Are you a developer?
If not, do you know if there is an OpenviX developer forum/IRC?

Cheers,
john

twol
06-12-15, 08:17
1) I would have thought(?) that you need to look at the softcam and how that handles things .... And the Oscam softcam is not written or supported to the best of my knowledge by Vix .... You need to look elsewhere ... Perhaps Openpli?
2) No
3) No

johnluv778
06-12-15, 10:43
Hi twol,

Thanks for replying.
I think that is only partially true.

Yes, you need to know how OSCam works as the protocol is OSCam specific and I have been looking into OSCam source code indeed and discussed few things with OSCam DEV team.

But each image, like ViX , needs to support this protocol and the way you implement it is image specific. It is ViX which opens the socket.
How can I control that socket?
If I I want to stop/uninstall OSCam running on ViX, how can I keep the socket opened into ViX?
Who is providing/packaging the OSCam plugin for ViX? Somebody must be compiling it and creating all the associated scripts specifically modified for ViX.

So all this to say that the image comes into account in this client/server protocol where ViX is the server.

I can (and I actually am) look into ViX code but some hints/suggestions from the DEV team would make my life easier. :)

Cheers
John

chaser
06-12-15, 11:01
Are you a developer?
If not, do you know if there is an OpenviX developer forum/IRC?
No, I'm not a developer, and I don't have access to any either. I'm also not aware of any specific developer forum / irc for OpenVix, but I'm sure something probably does exist.


Who is providing/packaging the OSCam plugin for ViX? Somebody must be compiling it and creating all the associated scripts specifically modified for ViX.
I don't think there's anything special about the OSCAM plugin that makes it unique to OpenVix. Anyone can compile OSCAM for Tuxbox (easy using the simplebuild script). There is no need to have any special developer knowledge to be able to create the plugin.

chaser
06-12-15, 11:34
Sorry for the double post. I wasn't able to edit my previous post - timed out.

But each image, like ViX , needs to support this protocol and the way you implement it is image specific. It is ViX which opens the socket.
How can I control that socket?Interestingly, if running OSCam on your STB and you set PMT mode to '6 - Use CA PMT Server' in OSCam DVB-Api config, this opens the listening socket. If you then force the Listen Port to anything other than 0, then it stops decrypting. I note from an earlier post that you're using CCCam with OSCam, so you may not have noticed this. I only use OSCam. I'm a bit confused about how this whole thing is meant to work :confused:

Larry-G
06-12-15, 13:40
No, I'm not a developer, and I don't have access to any either. I'm also not aware of any specific developer forum / irc for OpenVix, but I'm sure something probably does exist.

This is the ViX development forum and the only one for that matter.



I don't think there's anything special about the OSCAM plugin that makes it unique to OpenVix. Anyone can compile OSCAM for Tuxbox (easy using the simplebuild script). There is no need to have any special developer knowledge to be able to create the plugin.

Correct.

johnluv778
06-12-15, 14:40
Hi Larry-G,

Could you please provide some more details?

Say that I build OSCam for my Linux box.
Then when I want ViX to use the instance running on my Linux Box what should I do?

I guess that I have to specify OSCam to connect to the socket running on the STB? Is it just enough to make it work?

Is the socket not using internal loopback IP 127.0.0.1? So it is accessible from external IPs as well?

Cheers
John

lincsat
06-12-15, 14:48
I notice there are OScam builds with OSEMU patched. I'm not an emulator expert but some of the information how they communicate with each other may be helpful to you.

johnluv778
06-12-15, 15:31
I notice there are OScam builds with OSEMU patched. I'm not an emulator expert but some of the information how they communicate with each other may be helpful to you.

Agreed. :thumbsup:

I am indeed looking for somebody from the ViX DEV team kind enough to explain how ViX interacts with OSCam.

My bet is that:
1)ViX provides OSCam support through the /tmp/listen.camd.socket socket
2)Normally, when OSCam is started (in ViX itself), it connects to the socket above and registers itself as an active SoftEMU

In theory, if I don't start OSCam on the STB and I run my local copy on my linux box, it should be enough to specify the IP address of the STB and it should just work.
What I am not sure about is if this socket is internal (127.0.0.1) or external (STB's IP) and if I need to change something else from ViX side.

Since it's quite a low level question, I expect very few people to be able to provide details of how the client/server protocol between ViX and OSCam is actually implemented.

I did discuss this with people from the OSCam DEV team and for these questions they suggested me to ask to ViX developers so here I am.:)

Looking onto ViX source code you can find a #define associated to that socket into "lib/dvb/cahandler.h ":

* eDVBCAHandler now also provides a serversocket on "/tmp/.listen.camd.socket".
29 * Clients can connect to this socket, and receive CAPMT objects as channel

36 * the client (re)connects.
37 *
38 */
39
40 /* CAPMT client sockets */
41 #define PMT_SERVER_SOCKET "/tmp/.listen.camd.socket"

Unfortunately last time this file was indexed on GitHub was the 3rd of October and since then the file above has been modified and I can't find it anymore.

I need to download the entire source code so that I can look into it by myself.

It would just be so much easier if a developer would explain it to us. I'm sure it's quite simple.:)

Cheers
John

johnluv778
06-12-15, 16:26
Unfortunately last time this file was indexed on GitHub was the 3rd of October and since then the file above has been modified and I can't find it anymore.

Ignore me, I was looking at another file, socket reference and some documentation is still in lib/dvb/cahandler.h:



/*
* eDVBCAHandler provides external clients with CAPMT objects
*
* The traditional way of receiving this information was by providing a listening
* socket on /tmp/camd.socket.
* For every channel change, a connection will be opened, and a CAPMT object is transmitted.
*
* This has a few disadvantages:
* 1. a new connection has to be opened for each channel change
* 2. only one external client can receive CAPMT objects
* 3. when the client restarts, it has no way of requesting the DVBCAHandler
* to reconnect
*
* To overcome these disadvantages, a new method has been added;
* eDVBCAHandler now also provides a serversocket on "/tmp/.listen.camd.socket".
* Clients can connect to this socket, and receive CAPMT objects as channel
* changes occur. The socket should be left open.
* Clients should check the ca_pmt_list_management field in the CAPMT objects, to
* determine whether an object is the first or last object in the list, an object in the middle,
* or perhaps an update for an existing service.
*
* the DVBCAHandler will immediately (re)transmit the current list of CAPMT objects when
* the client (re)connects.
*
*/

This is into ViX source code. Somebody must have coded this protocol and hence should be able to provide me with some more information.

I will keep digging.:)

Cheers
John