[Philips, Sony, TCL Android TV] tomeko12:
Channel list backup

Hi.

I did research the channel list backup generated by 48PUS7600/12 TV. I successfully modified and imported to TV cable channel list. I've explored only cable related files. Maybe this information will be useful for someone to explore terrestrial and satellite channels.

Main files are: chanLst.bin and tv.db. First one must be updated after modification files inside ChannelList folder. With TV.db it's possible to modify Android TV channel list.

PhilipsChannelMaps\ChannelMap_25\ChannelList\chanLst.bin - file contains backup files list with CRC16 modbus checksums. If CRC is wrong, TV rejects this backup. It's binary file with structure:

[B]HEADER:[/B]
2 bytes int16 - Minor Version (0x00 - 1)
2 bytes int16 - Major Version (0x19 - 25)
14 bytes string - 10x ASCII zeros ( 0000000000) and few 0x00
2 bytes int16 - TV model name string length
ASCII string - TV model name wih 0x00 (48PUS7600/12)
[B]FILES LIST:[/B]
Every file entry has structure:
2 bytes int16 - filename length
ASCII string - file name with 0x00
2 bytes int16 - file CRC16 (Modbus) or 0x00,0x00 for some files (for HsvDvbTSettings.bin file CRC is not required)
Before files entries from s2channellib folder, there's entry:
2 bytes int16 - "s2channellib" string length
ASCII string - "s2channellib" with 0x00

PhilipsChannelMaps\ChannelMap_25\ChannelList\tv.db is a sqlite database with all TV channel. It's possibile (with i.e. SQLite Expert Personal) to:

- remove unwanted channels,

- change order,

- change channel name,

- add logo for channels not identified by TV (TV uses country and channel name to search internal logo database and overwrite logo).

After modification this file, checksum should be computed and updated in chanLst.bin

PhilipsChannelMaps\ChannelMap_25\ChannelList\channellib\CableDb.bin is a binary file that contains informations about cable channels. In this file is possibile to:

- change name

- change number

- change logo to custom 136x104 png graphics (this logo isn't overwrited by TV)

After modification any channel entry, "Service Edit" should be set to 1. Custom logo should have "Logo Number" set to value >=10000, file with name <number>.png (i.e. 10000.png) should be stored in PhilipsChannelMaps\ChannelMap_25\usr folder and "User modified logo" should be set to 1.

File structure:

[B]HEADER:[/B]
4 bytes int32 - Major Version
4 bytes int32 - Minor Version
4 bytes int32 - Channels Count

[B]LIST OF CHANNELS:[/B]
4 bytes int32 - Channel ID
4 bytes int32 - Frequency
4 bytes int32 - Channel number
4 bytes int32 - Analog UID
4 bytes int32 - Original Network ID
4 bytes int32 - Transport Stream ID
4 bytes int32 - Service ID
4 bytes int32 - Symbol Rate
4 bytes int32 - Logo Number
4 bytes int32 - Scramble Stat (0/1)
4 bytes int32 - Locked (0/1)
4 bytes int32 - Modulation
4 bytes int32 - ???
4 bytes int32 - Service Type
4 bytes int32 - System Hide ????
4 bytes int32 - User modified logo (0/1)
4 bytes int32 - Service Edit (0/1)
4 bytes int32 - Stream Priority ???
4 bytes int32 - ???
4 bytes int32 - Network ID
4 bytes int32 - ???
4 bytes int32 - Type
64 bytes string - Unicode Channel name
4 bytes int - 0x00,0x00,0x12,0x34

I'm not planning to research other files at this moment.