Вы находитесь на странице: 1из 3

SSSP Simple Serial Sharing Protocol ===================================== This Protocol defines the communication between a DVB Box and

a gbox by using a RS232(serial/com/tty port) with only 4 commands to implement. RS232 communication settings ============================ 115200 8N1 (115200 Baud, 8 data bits, no parity, 1 stop bit) To activate add in the gbox_cfg R: { 01 } for com1, or R: { 02 } for com2 W: and V: should be deactivated 00 00 When developing Software you can activate thers232 debug messages by adding 10 to the R: parameter, a example for com1 would be R: { 11 } Format of data ============== AB CD EF GH .... AB = Command CDEF = length of the data following GH ... = data Total length is CDEF + 3 (1 byte command + 2 bytes len) Command 0x means from STB to gbox Command Fx means from gbox to STB SEND PMT = 01 (send PMT to gbox) -------------------------------01 xx xx yy yy zz zz zz zz data .... xx = Len yy = SID ( byte 2 and bytes 3 from the PMT) zz = PMT CRC32 (last 4 bytes in the PMT) Data = CAID1 (2 bytes) PID1 (2 bytes) PROVIDER1 (3 bytes) CAID2 PID2 PROVIDER2 . ... Provider is only used in Seca and Viaccess, in other systems put 00 00 00 For Seca use 00 xx yy and for viaccess xx yy z0 On each channel change the DVB box must send the PMT first, on FTA Channels plea se send: 01 00 06 yy yy zz zz zz zz SEND ECM = 03 (send ECM to gbox) -------------------------------03 xx xx yy yy ecm_data .... xx = len yy = pid Note: Please send every ecm only once, do not send the same ecm multiple times. REQUESTING PIDS DATA = F1 (receive ECM pid list ) ------------------------------------------------F1 xx xx pid1 pid2 pid3 .... xx = Len pidx = 2 bytes for each pid

Please send me ECM data from these pids only, close all other already open. CW RETURN = F2 (receive ControlWords) ------------------------------------F2 00 10 cw1 (8 bytes) cw2 (8 bytes) Command flow on a channel change ================================ 1. DVB box sends PMT with command 01 on a channel change 2. gbox sends pid list of the ecm's it can handle with command F1 3. DVB box sends ECM's (from all pids in the pid list) with command 03 4. gbox sends CW's with command F2 5. As soon the gbox has success in decoding a ecm it sends again a F1 command with one pid only, the DVB box should close then all other pids and from now on send only ecm data from that pid. After this command 03 and F2 will be repeated until a channel change. On the next channel change the DVB should close all open pids and repeat the above procedure.

//---------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------Advanced protocol cmd 01 and 03 are not enough for multi-channel. so added

Advanced SSSP support = 04 (send cmd to gbox) -------------------------------04 xx xx yy yy xx = Len yy = check value ( returned )

Reply Advanced SSSP support = F4 ------------------------------------------------F4 xx xx yy yy xx = Len yy = 2 bytes, returned from CMD 04

SEND PMT = 05 (send PMT to gbox) -------------------------------05 xx xx aa yy yy zz zz zz zz data .... xx = Len aa = which channel, less than 10, example 00=viewing channel, 01=pip channel, 02= timeshift, 03=recording 1, 04=recording 2,..... yy = SID ( byte 5 and bytes 6 from the PMT) zz = PMT CRC32 (last 4 bytes in the PMT) Data = CAID1 (2 bytes) PID1 (2 bytes) PROVIDER1 (3 bytes) CAID2 PID2 PROVIDER2 . ... Provider is only used in Seca and Viaccess, in other systems put 00 00 00 For Seca use 00 xx yy and for viaccess xx yy z0 On each channel change the DVB box must send the PMT first, on FTA Channels plea se send: 05 00 07 aa yy yy zz zz zz zz REQUESTING PIDS DATA = F5 (receive ECM pid list ) ------------------------------------------------F1 xx xx aa pid1 pid2 pid3 .... xx = Len aa = from cmd 05 pidx = 2 bytes for each pid Please send me ECM data from these pids only, close all other already open.

SEND ECM = 06 (send ECM to gbox) -------------------------------03 xx xx aa bb bb bb bb yy yy ecm_data .... xx = len aa = which channel, less than 10, example 00=viewing channel, 01=pip channel, 02= timeshift, 03=recording 1, 04=recording 2,..... bb = 4bytes, tag, returned from cmd F6 yy = pid Note: Please send every ecm only once, do not send the same ecm multiple times. CW RETURN = F6 (receive ControlWords) ------------------------------------F2 00 15 aa bb bb bb bb cw1 (8 bytes) cw2 (8 bytes) aa = which channel from cmd 06 bb = tag 4bytes from cmd 06

Вам также может понравиться