EEProm structure, v 1.01 FCDK

This paper describes the structure of the external eeprom for the funcard soft

The described structure is valid as long as the field entitiesVersion, into the header, is 0x101

An editor soft must only change the documented fields. The other values of the eeprom must remain intact (included the other bits into the flag fields)

Eeprom header structure

The eeprom header begins at address 0x00

Name Offset Length Comment
signature 0 2 Must be 'F', 'S'
eepromVersion 2 2 0x01, 0x00 for 1.00. This field indicates the version of the complete structure of the eeprom
entitiesVersion 4 2 0x01, 0x01 for 1.01. This field indicates the version of the structure of the configSection, the entitiesSection and the issuerSection
nbSections 6 1 3 (configSection, entitiesSection and issuerSection)
configSection 7 2 Address of the config byte section
entitiesSection 9 2 Address of the entities section
issuerSection 11 2 Address of the issuer section

Before to manipulate the eeprom, a soft must check that signature = 'F', 'S' and entitiesVersion = 0x101

For the configSection, the entitiesSection and the issuerSection fields, address = (second byte << 8) & 0x7f : first byte

Config byte section

The address of the config byte section is given by the configSection field of the header

This section has only 1 byte where :

Name Bit Comment
F_CF_EURO_S2 0 0 : card in ec-m mode. 1 : card in ec-s2 mode
F_CF_ON_CHANNEL 1 0 : card in manual switch. 1 : card in "on-channel" switch
F_CF_ON_RESET 2 0 : card in manual switch. 1 : card in "on-reset" switch

The F_CF_ON_CHANNEL and F_CF_ON_RESET bits can't be set together.

Entities section

The address of the entities section is given by the entitiesSection field of the header

The first byte of the entities section is the number x of entities that follows

Following this byte, there are x entity structures, in any order

Entity structure

Name Offset Length Comment
ident 0 3 i.e 0x00, 0x04, 0x10 for TV1000. An empty entity structure as all 0x00 or all 0xFF
flags 3 1 see below
label 4 16 padded with blanks, i.e "Animal planet   "
UA 20 5 Unique Address (not used)
PPUA 25 4 Programme Provider User Address
(PPUA=SA+CUSWTP)
GCA 29 4 Group Customer Address (not used)
keys[0] 33 7 Key #0
...      
key[15] 138 7 Key #15

Bit values of the flags field :

Name Bit Comment
F_EURO_S2 0 0 : ec-m entity. 1 : ec-s2 entity
F_RESERVED_FLAG 1 not used
F_3_DES_AU 2 1 : the autoupdate routine for this entity is 3-des
F_ON_CHANNEL 3 1 : switch "on-channel" on this entity (the F_CF_ON_CHANNEL bit of the config byte must be 1)

Issuer section

The address of the issuer section is given by the issuerSection field of the header

The issuer section contains only this structure :

Name Offset Length Comment
ident 0 3 0xff, 0xf4, 0x0 (not used)
flags 3 1 like into the entity structure (not used)
label 4 16 "Issuer"
UA 20 5 Unique Address
PPUA 25 4 Programme Provider User Address
(PPUA=SA+CUSWTP) (not used)
GCA 29 4 Group Customer Address (not used)

UA is the only field used into this structure.

Changes

Version 1.01 :

Version 1.00