Difference between revisions of "Samsung channel list format"


From SamyGO
Jump to: navigation, search
(map-SateD)
(map-SateD)
Line 40: Line 40:
 
Byte 7: MPEG4 (0x00 on MPEG2, 0x01 on MPEG4 channels)<br />
 
Byte 7: MPEG4 (0x00 on MPEG2, 0x01 on MPEG4 channels)<br />
 
Byte 9-14: 0x0001 0307 0500<br />
 
Byte 9-14: 0x0001 0307 0500<br />
Byte 15: service type (01 TV, 02 Radio, 0C Data, 19 HD)<br />
+
Byte 15: service type (0x01 TV, 0x02 Radio, 0x0C Data, 0x19 HD)<br />
 
Byte 17-18: SID<br />
 
Byte 17-18: SID<br />
 
Byte 19-20: Transponder ID (matched against TransponderDataBase.dat)<br />
 
Byte 19-20: Transponder ID (matched against TransponderDataBase.dat)<br />

Revision as of 08:05, 10 December 2009

Samsung TV Sets store channel information in several files on /mtd_rwarea. The files can be extracted to a usb drive using a hidden built-in export/import function, by pressing Vol- and then holding enter for 5-10 seconds.

Following files are known:
map-AirA for analogue terrestrial channels
map-AirD for digital terrestrial channels
map-CableA for analogue cable channels
map-CableD for digital cable channels
map-SateD for digital satellite channels
Clone.bin binary file containing all settings of a TV Set


map-AirD / map-CableD

map-AirD and map-CableD are very similar in their structure. The list always contains a multiple of 1000 entries. If a there are less than a multiple of 1000 entries, the list is filled with null characters. Each entry has a fixed length of 248 bytes, what makes file size also a multiple of 248.000 bytes. The structure of a 248 byte entry is the following (start to count bytes at 1):

Byte 1-2: channel number
Byte 3-4: VPID
Byte 5-6: PID (same as VPID on video channels)
Byte 8: QAM modulation (0x41 QAM64, 0x42 QAM256)
Byte 10: Service Type (0x01 TV, 0x02 Radio, 0x0C DATA, 0x19 HD)
Byte 11-12: SID
Byte 13-14: ONID
Byte 15-16: NID
Byte 24: encryption bitmask (byte 24 & 0x20, encrypted)
Byte 27-28: frequency
Byte 33-34: symbol rate (in ksymb/s)
Byte 35-36: bouqet
Byte 37-38: TSID
Byte 45-244: channel name (100 chars)
Byte 245-246: parental lock (0x00 no lock, 0x01 locked)
Byte 248: checksum over bytes 1-247

Fields are in big endian 64bit.

map-SateD

Number of list entries is always a multiple of 1000, missing entries are filled with null characters. Entry length is fixed to 144 bytes, so file size is a multiple of 144.000 bytes. Fixed length structure consists of the following:

Byte 1-2: channel number
Byte 3-4: VPID
Byte 5-6: PID (same as VPID on video channels)
Byte 7: MPEG4 (0x00 on MPEG2, 0x01 on MPEG4 channels)
Byte 9-14: 0x0001 0307 0500
Byte 15: service type (0x01 TV, 0x02 Radio, 0x0C Data, 0x19 HD)
Byte 17-18: SID
Byte 19-20: Transponder ID (matched against TransponderDataBase.dat)
Byte 21-22: Sat ID (matched against SatDataBase.dat)
Byte 23-24: 0x0000
Byte 25-26: TSID
Byte 27-28: 0x00
Byte 29-30: ONID
Byte 31-32: 0xFFFF
Byte 33-34: ????, 0xFFFF when channel is new, after that an unknown number
Byte 35-36: ????, 0xFFFF when channel is new, after that an unknown number
Byte 37-138: channel name (50 chars)
Byte 139-140: bouqet (always the same for channels of one provider)
Byte 142: parental lock marker (not tested yet)
Byte 143: favourite bitmask (the lowest 4 bits represent a favourite list from 1-4, if its 1, the channel is on it, if 0, its not)
Byte 144: checksum over bytes 1-143

Fields are in big endian 64bit.

Clone.bin

Clone.bin is a binary file containing every setting of a TV, in one single file. Firmware T-CRLPEUHC is known to produce a Clone.bin, when using built-in import/export feature.

The channel block of the file has exactly as many entries as channels are in the list, the block starts at byte offset 0x1342 and its max. length is to byte offset 0x14F59. Empty entries are filled with 0xFF. The structure of the entries is fixed length 81 bytes, consisting of the following:

Byte 1-50: channel name (50 chars)
Byte 51-52: channel number
Byte 53-54: VPID
Byte 55-56: PID (mainly same as vpid, differs on radio channels)
Byte 57: frequency
Byte 58: 0x04
Byte 59: MPEG4? (0x01 on SD channels, 0x21 on HD channels)
Byte 60-61: NID
Byte 62-63: TSID
Byte 64-65: ONID
Byte 66-67: SID
Byte 68-71: 0xFFFF FFFF
Byte 72: service type (0x01 TV, 0x02 Radio, 0x19 HD)
Byte 73: 0x04
Byte 74: seems to be a bitmask, if bitvalue 0x04 is in it, the channel is encrypted, other bits unknown
Byte 75: 0x25
Byte 76: character length of channel name
Byte 77-81: 0x00 0000 0000

In contrast to map-AirD, map-CableD and map-SateD fields are little endian 32bit.