Rimini:
Wegen dem Alice-Receiver:
Wenn die Receiver-Platinen prinziepiell die selben sind, dann ganz genau die Bestückung mit Bauteilen (insbesondere auch den kleinen SMD-Widerständen) zwischen beiden Platinen vergleichen und jeden kleinsten Unterschied genau dokumentieren.
Die STi71xx-Chips besitzen einige Konfigurations-Pins, die je nach dem ob sie mit GND oder einer Betriebsspannung verbunden (z.B. auch über Widerstände) sind, bestimmte Funktionalitäten aktivieren oder deaktivieren können.
Datenblatt vom M28W320HST (so müsste die Grundversion richtig heißen) findet man nicht, aber vom M28W320FST, der die selbe Device-ID (0x880A) hat. Der M28W320HST könnte also eine neuere Chip-Version des M28W320FST sein (neuere H-Version und der F-Version).
Code:
pdf.datasheetcatalog.com/datasheets2/10/1044705_1.pdf
Das sieht nicht besonders gut aus, da es NOR-Flashs mit einer Security-Funktion sind:
Software Protection thanks to KRYPTO
Security Features:
– Modify Protection: volatile and nonvolatile.
– Read Protection.
The KRYPTO Security features are described in a
dedicated Application Note. Please contact STMicroelectronics
for further details.
Two registers are available for protection purpose:
■ The Protection Register
■ The KRYPTO Protection Register.
The Protection Register is a 192 bit Protection
Register to increase the protection of a system design.
The Protection Register is divided into a 64
bit segment and a 128 bit segment. The 64 bit segment
contains a unique device number written by
ST, while the second one is one-time-programmable
by the user. The user programmable segment
can be permanently protected. Figure 7., shows
the Protection Register Memory Map.
The KRYPTO Protection Register is used to manage
the Modify and Read protection modes. It also
features a Device Authentication mechanism.
The KRYPTO Protection Register is described in a
dedicated Application Note. Please contact STMicroelectronics
for further details.
--------------------------------------------------------------------------------
Erstellt wurde die flasher.out ganz normal mit dem Example-Code für OS21 aus dem ST40-Toolset, also mit make TARGET=mb411. Vorher muss man noch make clean machen, wenn man schonmal was kompliert hatte, was nicht funktionierte.
Den im Source-Code bisher unbekannte M28W320HST NOR-Chip muss man mit entsprechenden Definitionen dem Source-Code hinzufügen. Für NOR-Chips gibt es zwei dafür zuständige Dateien, nor.h und norutil.c.
In der Datei nor.h befinden sich die grunsätzlichen Definitionen, wie mit NOR-Chips umgegegangen werden soll und insbesondere die Tabelle mit den "Namen" der bekannten Flash-Chips, wo man einfach einen passenden, noch nicht vorkommenden Namen hinzufügen kann.:
Code:
/*
* Types used by flashutil.c
*/
typedef enum
{
M28W320HS,
M58LT256GT,
.
.
.
S29GL064N
} flashType_t;
Danach folgen die Struktur-Definitionen für die Beschreibung der Flash-Chips:
Code:
/*
* Type used for describing the block layout
* of devices
*/
typedef struct flashBlockInfo_s flashBlockInfo_t;
struct flashBlockInfo_s
{
unsigned int offset; /* Blocks lower than this offset ... */
unsigned int size; /* ... have this size */
};
.
.
.
/*
* A FLASH device
*/
typedef struct flashDevice_s flashDevice_t;
struct flashDevice_s
{
flashType_t type;
const char* deviceName;
const char* manufacturerName;
unsigned int deviceID0;
unsigned int deviceID1;
unsigned int deviceID2;
unsigned int bankSize;
unsigned int baseAddress;
flashBlockInfo_t* blockInfo;
unsigned int bufferSize; /* NOR device program buffer size in bytes */
/*
* Methods
*/
void (*reset) (flashDevice_t*);
void (*blockUnprotect) (flashDevice_t*, unsigned int);
void (*blockErase) (flashDevice_t*, unsigned int);
void (*chipErase) (flashTarget_t*, flashDevice_t*, flashProgress_t);
void (*writeWord) (flashDevice_t*, unsigned int, unsigned int);
void (*writeBuffer) (flashDevice_t*, unsigned int, void*);
};
deren Werte dann in der Datei norutil.c zu finden sind und bei einem neuen Flash-Chip entsprechend dort hinzugefügt werden müssen:
Code:
/*
* Block layout of the FLASH parts used on our boards
*
* These are address and size pairs. Read the tables
* as 'addresses below this are broken up into blocks
* of this size'.
*/
static flashBlockInfo_t M28W320HS_blockInfo[] = {
{0x1F8000, 0x08000},
{0x200000, 0x01000},
{0x000000, 0x00000}
};
static flashBlockInfo_t M58LT256GB_blockInfo[] = {
{0x0020000, 0x08000},
{0x2000000, 0x20000},
{0x0000000, 0x00000}
};
.
.
.
static flashBlockInfo_t SPANSION_MIRRORBITx16_128MB_param_blockInfo[] = {
{0x8000000, 0x20000},
{0x0000000, 0x00000}
};
/*
* The list of support FLASH parts, and their attributes
*/
static flashDevice_t supportedDevices[] = {
{
M28W320HS,
"M28W320HS",
NULL,
0x0000880A,
0,
0,
1024 * 1024 * 4,
0,
M28W320HS_blockInfo,
0,
resetM29W,
blockUnprotectCFI,
blockEraseCFI,
chipEraseSimple,
writeWordCFI,
NULL
},
{
M58LT256GT,
"M58LT256GT",
NULL,
0x00008870,
0,
0,
1024 * 1024 * 32,
0,
M58LT256GT_blockInfo,
64,
resetM58LT16,
blockUnprotectCFI16,
blockEraseCFI16,
chipEraseSimple,
writeWordCFI16,
writeBufferCFI16
},
.
.
.
{
S29GL064N,
"S29GL064N",
NULL,
0x0000227e,
0x00002210,
0x00002200,
1024 * 1024 * 8,
0,
M29W640DB_blockInfo,
0,
resetM29W16,
NULL,
blockEraseM29W16,
chipEraseM29W,
writeWordM29W16
},
{.deviceName = NULL}
};
Was man da als Werte verwenden muss bzw. kann, findet man in den Datenblättern der Flash-Chips bzw. muss es an Hand vorhandener Definitionen für bekannte Flash-Chips entsprechend erraten.
Die Block-Definitionen sollten richtig sein, Device-ID stimmt auch und die erstmal aufgeführten Routinen zum Löschen und Schreiben des M28W320HST-Chips zu verwendenden Routinen:
Code:
resetM29W,
blockUnprotectCFI,
blockEraseCFI,
chipEraseSimple,
writeWordCFI,
sind einfach nur geraten und passen höchstwahrscheinlich und wegen der Krypto-Funktionen nicht oder nicht richtig, aber da muss eben auch was angebenen werden, sonst bekommt man beim Kompilieren gleich erstmal eine Fehlermeldung.
Ansonsten mach gute Fotos (senkrechter Blick auf die Receiver-Platine und gut ausgeleuchtet ohne Blitzlicht) von der gesamten Receiver-Platine (auch von der Unterseite, um eventuell Verbindungen verfolgen zu können), so dass man (ich) die Beschriftung der Chips sehen kann. Bin mir noch nicht sicher, ob der Receiver einen extra Flash-Chip für den Bootloader hat oder nicht. Dem entsprechend müsste man dann den Source-Code von dem OS21 Sample-Programm eventuell anpassen.
- - - - - - - - - -
Ja also, wirklich Respekt. Die flasher.out Datei hätte ich nich geschafft.
Die versprochenen Bilder :
Code:
forum.ican3800.zajsoft.net/download/HSN3800TW/Alice_Bilder.rar
forum.ican3800.zajsoft.net/download/HSN3800TW/NAND_chip.rar
Beim einschalten und hochfahren von Alice ist nur diese einzige Konsolenausgabe:
Code:
ADB Loader 1.02A
[lib v9 (15-09-2003)][drv: STD_1_0_2_FW_1_0_0 (Jul 27 2006)]
---
STG LOADER Version 1.02a, Built Jul 28 2006 11:30:48
Bei uns etwas mehr:
Code:
BusyBox v1.2.2 (2008.09.01-09:17+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
Loading modules...
All modules loaded.°ą°ą¸
STG LOADER Version 1.031, Built Jun 1 2006 14:19:04
IP: 192.168.1.51
PL
RebootLinux version 2.6.11.12_stm20-33 (A.Mielcarek@autogrator1) (gcc version 3.4.3 (STMicroelectronics/Linux Base 3.4.3-19) [build Mar 10 2006]) #1 Wed Sep 8 11:32:36 CEST 2010
ADB STB initialisation
STb7100 version 3.x
Built 1 zonelists
Kernel command line: console=ttyAS0,115200 splasharea=4096,0x0B000000
PID hash table entries: 512 (order: 9, 8192 bytes)
Calculated peripheral clock value 65108 differs from sh_pclk value 66000000, fixing..
PLL1 : 531.00MHz
PLL2 : 402.00MHz
ST40 CPU : 265.50MHz
ST40 BUS : 132.75MHz
ST40 PER : 66.37MHz
SLIM : 265.50MHz
ST231 : 402.00MHz
STBUS : 201.00MHz
EMI : 100.50MHz
LMI : 201.00MHz
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 67712k/126976k available (1898k kernel code, 59196k reserved, 227k data, 39412k init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: STb710x
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
SH Virtual Bus initialized
splasharea: Allocated 4096 pages at 0x0b000000.
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
STPIO layer initialised
STMicroelectronics ASC driver initialized
asc_init: check the clock
ttyAS0 at MMIO 0xb8032000 (irq = 121) is a asc
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
Freeing unused kernel memory: 39412k freed
[UPDATE] Setting up the environment
Loading modules...
bios: module license 'Proprietary' taints kernel.
[Pcb] Default PCB variant is e88tlfa
[Pcb] PCB e99tlfa does not match to preferred e88tlfa
[e99tlfa] Registering to pcb failed
insmod: cannot insert `/lib/modules/pcb_e99tlfa.ko': No such device (-1): No such device
[Pcb] Registering PCB e88tlfa
[Pcb] Registering Memory config for PCB e88tlfa (size: 24 bytes)
[Pcb] Registering DCO Clock config for PCB e88tlfa (size: 24 bytes)
[Pcb] Registering SmartCard config for PCB e88tlfa (size: 32 bytes)
[Pcb] Registering Scart config for PCB e88tlfa (size: 104 bytes)
[Pcb] Registering Power-Off config for PCB e88tlfa (size: 44 bytes)
[Pcb] Registering Flash Nor config for PCB e88tlfa (size: 28 bytes)
[Pcb] Registering Flash Nand config for PCB e88tlfa (size: 64 bytes)
[Pcb] Registering Ethernet config for PCB e88tlfa (size: 32 bytes)
[Pcb] Registering Front Panel config for PCB e88tlfa (size: 20 bytes)
[Pcb] Registering HDMI I2C config for PCB e88tlfa (size: 36 bytes)
[e88tlfa] Registering to pcb ok
SOC revision 3.7
[Ethernet] Config for e88tlfa h/w platform.
[Ethernet] Config for e88tlfa h/w platform.
_LOX_CONFIG_VERSION = 0x00000001
[Pcb] Note! ExtFilter config not supported for PCB e88tlfa.
[ExtFilter] Note! No External Filter config for e88tlfa h/w platform.
PWM device driver v.1.2.1
[DCO Clock] DCO Clock config for e88tlfa h/w platform.
[DCO Clock] PCR PWM tolerance : 20
[DCO Clock] PCR PWM init value : 32787
SCART driver version 1.0
[Scart] SCART config for e88tlfa h/w platform.
[Scart] Active PIO : 0
[Scart] Outputs : 2
[Scart] Chipset ID : 2
[Scart] Data size : 88
Register ADB_SCART device (scart) - result:0
Power Panic Driver v.1.2.0
[Pwroff] Power-Off config for e88tlfa h/w platform.
[Pwroff] power_panic_use_nmi_irq: NO
$Name: $
[Flash NOR] Nor Flash config for e88tlfa h/w platform.
[Flash NOR] Chip size : 4 MB
[Flash NOR] Base Address: 0xa0000000
[Flash NOR] Bus Width : 2
[INFO] nor_map_flash flash device: 400000 at a0000000
nor_map_flash: Found 1 x16 devices at 0x0 in 16-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 4 MTD partitions on "nor_map_flash":
0x000e0000-0x000f0000 : "info0"
0x000f0000-0x00100000 : "info1"
0x00100000-0x00320000 : "kernel"
0x00320000-0x00380000 : "backup"
device stb7100 successfully registered
protocol sejin added
map for protocol : sejin registered successfully.
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
$Name: $
[Flash NAND] Config for e88tlfa h/w platform.
NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 2 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x03c00000 : "filesystem"
0x03c00000-0x04000000 : "customer"
[Front Panel] Config for e88tlfa h/w platform.
Neither FP PT6302 nor FP PT6958 is supported
FP PT6958 not supported
insmod: cannot insert `/lib/modules/pt6958.ko': No such device (-1): No such device
[Pwroff] Power-Off config for e88tlfa h/w platform.
[Pwroff] Restart available : 1
[Pwroff] Restart PIO : 1.1
[Pwroff] Restart PIO value : 0
[Pwroff] Power down available : 1
[Pwroff] Power down PIO : 4.4
[Pwroff] Power down button PIO : 1.7
All modules loaded.
STB: tlf3800tw
[UPDATE] Unlocking /dev/mtd0 (info0), /dev/mtd1 (info1), /dev/mtd2 (kernel)
[UPDATE] Backup mounted
[UPDATE] Store config...
jffs2_scan_dirent_node(): Node CRC failed on node at 0x0103a5e8: Read 0xffffffff, calculated 0x63244cdd
jffs2_scan_dirent_node(): Node CRC failed on node at 0x025079ec: Read 0xffffffff, calculated 0x0f3413f4
Empty flash at 0x02507a28 ends at 0x02507c00
[UPDATE] Create /mnt/backup/restore.flag
[UPDATE] Store config done.
[UPDATE] Erasing kernel
Erasing 64 Kibyte @ 210000 -- 97 % complete.
[UPDATE] Updating kernel
3653+1 records in
3653+1 records out
[UPDATE] Erasing Linux FileSystem
Erasing 16 Kibyte @ 3bfc000 -- 99 % complete. Cleanmarker written at 3bfc000.
[UPDATE] Updating Linux FileSystem
NAND total size : 62914560b
block size : 16384b
num of blocks: 3840
Writing data to block 2370 [@ 02508000]
Total blocks marked as bad: 0
0
[UPDATE] Locking /dev/mtd0 (info0), /dev/mtd1 (info1), /dev/mtd2 (kernel)
[UPDATE] Restore config...
Empty flash at 0x00000410 ends at 0x00000600
Empty flash at 0x00000a18 ends at 0x00000c00
Empty flash at 0x00000e28 ends at 0x00001000
Empty flash at 0x00001228 ends at 0x00001400
jffs2_scan_dirent_node(): Node CRC failed on node at 0x000055f4: Read 0xffffffff, calculated 0x2322e93d
Writing token values...
Tokens written
cfg.locale.ui set to cs-CZ
[UPDATE] STAUDLX_REL code settuped
[UPDATE] Add fonts to mozilla user prefs
[UPDATE] Restore config done.
[UPDATE] Setup OPCH Loader 2010.10.04.07.07.16
[UPDATE] Rebooting...
The system is going down NOW !!
Sending SIGTERM to all processes.
Sending SIGKILL to all processes.
Please stand by while rebooting the system.
Restarting system. Linux version 2.6.11.12_stm20-33 (A.Mielcarek@autogrator1) (gcc version 3.4.3 (STMicroelectronics/Linux Base 3.4.3-19) [build Mar 10 2006]) #1 Wed Sep 8 11:32:36 CEST 2010
ADB STB initialisation
STb7100 version 3.x
Built 1 zonelists
Kernel command line: console=ttyAS0,115200 splasharea=4096,0x0B000000 bigphysarea=4030,0x09000000
PID hash table entries: 512 (order: 9, 8192 bytes)
Calculated peripheral clock value 63520 differs from sh_pclk value 66000000, fixing..
PLL1 : 531.00MHz
PLL2 : 402.00MHz
ST40 CPU : 265.50MHz
ST40 BUS : 132.75MHz
ST40 PER : 66.37MHz
SLIM : 265.50MHz
ST231 : 402.00MHz
STBUS : 201.00MHz
EMI : 100.50MHz
LMI : 201.00MHz
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 88192k/126976k available (1898k kernel code, 38692k reserved, 227k data, 732k init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: STb710x
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
SH Virtual Bus initialized
bigphysarea: Allocated 4030 pages at 0x89000000.
splasharea: Allocated 4096 pages at 0x0b000000.
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
STPIO layer initialised
STMicroelectronics ASC driver initialized
asc_init: check the clock
ttyAS0 at MMIO 0xb8032000 (irq = 121) is a asc
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Linux video capture interface: v1.00
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
Freeing unused kernel memory: 732k freed
Loading modules...
bios: module license 'Proprietary' taints kernel.
[Pcb] Default PCB variant is e88tlfa
[Pcb] PCB e99tlfa does not match to preferred e88tlfa
[e99tlfa] Registering to pcb failed
insmod: cannot insert `/lib/modules/pcb_e99tlfa.ko': No such device (-1): No such device
[Pcb] Registering PCB e88tlfa
[Pcb] Registering Memory config for PCB e88tlfa (size: 24 bytes)
[Pcb] Registering DCO Clock config for PCB e88tlfa (size: 24 bytes)
[Pcb] Registering SmartCard config for PCB e88tlfa (size: 32 bytes)
[Pcb] Registering Scart config for PCB e88tlfa (size: 104 bytes)
[Pcb] Registering Power-Off config for PCB e88tlfa (size: 44 bytes)
[Pcb] Registering Flash Nor config for PCB e88tlfa (size: 28 bytes)
[Pcb] Registering Flash Nand config for PCB e88tlfa (size: 64 bytes)
[Pcb] Registering Ethernet config for PCB e88tlfa (size: 32 bytes)
[Pcb] Registering Front Panel config for PCB e88tlfa (size: 20 bytes)
[Pcb] Registering HDMI I2C config for PCB e88tlfa (size: 36 bytes)
[e88tlfa] Registering to pcb ok
SOC revision 3.7
[Ethernet] Config for e88tlfa h/w platform.
[Ethernet] Config for e88tlfa h/w platform.
_LOX_CONFIG_VERSION = 0x00000001
[Pcb] Note! ExtFilter config not supported for PCB e88tlfa.
[ExtFilter] Note! No External Filter config for e88tlfa h/w platform.
PWM device driver v.1.2.1
[DCO Clock] DCO Clock config for e88tlfa h/w platform.
[DCO Clock] PCR PWM tolerance : 20
[DCO Clock] PCR PWM init value : 32787
SCART driver version 1.0
[Scart] SCART config for e88tlfa h/w platform.
[Scart] Active PIO : 0
[Scart] Outputs : 2
[Scart] Chipset ID : 2
[Scart] Data size : 88
Register ADB_SCART device (scart) - result:0
Power Panic Driver v.1.2.0
[Pwroff] Power-Off config for e88tlfa h/w platform.
[Pwroff] power_panic_use_nmi_irq: NO
$Name: $
[Flash NOR] Nor Flash config for e88tlfa h/w platform.
[Flash NOR] Chip size : 4 MB
[Flash NOR] Base Address: 0xa0000000
[Flash NOR] Bus Width : 2
[INFO] nor_map_flash flash device: 400000 at a0000000
nor_map_flash: Found 1 x16 devices at 0x0 in 16-bit bank
Intel/Sharp Extended Query Table at 0x0035
cfi_cmdset_0001: Erase suspend on write enabled
Creating 2 MTD partitions on "nor_map_flash":
0x000e0000-0x000f0000 : "info0"
0x000f0000-0x00100000 : "info1"
device stb7100 successfully registered
protocol sejin added
map for protocol : sejin registered successfully.
JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
$Name: $
[Flash NAND] Config for e88tlfa h/w platform.
NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 2 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x03c00000 : "NAND_FS"
0x03c00000-0x04000000 : "Configs"
[Front Panel] Config for e88tlfa h/w platform.
Neither FP PT6302 nor FP PT6958 is supported
FP PT6958 not supported
insmod: cannot insert `/lib/modules/pt6958.ko': No such device (-1): No such device
[Pwroff] Power-Off config for e88tlfa h/w platform.
[Pwroff] Restart available : 1
[Pwroff] Restart PIO : 1.1
[Pwroff] Restart PIO value : 0
[Pwroff] Power down available : 1
[Pwroff] Power down PIO : 4.4
[Pwroff] Power down button PIO : 1.7
All modules loaded.
STB: tlf3800tw
Empty flash at 0x022852f4 ends at 0x02285400
Switching...
Empty flash at 0x00000410 ends at 0x00000600
Empty flash at 0x00000a18 ends at 0x00000c00
Empty flash at 0x00000e28 ends at 0x00001000
Empty flash at 0x00001228 ends at 0x00001400
jffs2_scan_dirent_node(): Node CRC failed on node at 0x000055f4: Read 0xffffffff, calculated 0x2322e93d
JFFS2 notice: (199) read_dnode: header CRC failed on node at 0x0011e0: read 0xffffffff, calculated 0x1719c89f
JFFS2 notice: (199) read_dnode: header CRC failed on node at 0x000de0: read 0xffffffff, calculated 0x1719c89f
JFFS2 notice: (199) read_dnode: header CRC failed on node at 0x0009d0: read 0xffffffff, calculated 0x93862840
JFFS2 notice: (199) read_dnode: header CRC failed on node at 0x0003cc: read 0xffffffff, calculated 0xc556e269
Device eth0 not Found
My IPADDR is: 237.255.255.255
(C) Alcatel-Lucent KALU(RTP) version $Revision: 1.77 $.
mknod /dev/avdi/feipmgr0 c 250 12
(C) Alcatel-Lucent FrontendIP (VSA) version $Revision: 1.44 $.
mknod /dev/dvb/adapter0/frontendip0 c 251 2
mknod /dev/dvb/adapter0/frontendip1 c 251 18
mknod /dev/dvb/adapter0/frontendip2 c 251 34
MAX_MATRICES [4] * FIB_MATRIX_MAX_SIZE [700] * sizeof(TsIBCell_t) [192] = 537600
memset matricesBuffer[0]: c06f5000 -> c0778400
MAX_MATRICES [4] * FIB_MATRIX_MAX_SIZE [700] * sizeof(TsIBCell_t) [192] = 537600
memset matricesBuffer[1]: c077a000 -> c07fd400
MAX_MATRICES [4] * FIB_MATRIX_MAX_SIZE [700] * sizeof(TsIBCell_t) [192] = 537600
memset matricesBuffer[2]: c07ff000 -> c0882400
Device eth0 not Found
CNAME: [020304@0506] chunk lenght was 12 and I lined it up to 14
Getting Dinamic Udp Port
port Selected: 60001
Device eth0 not Found
Udp/RET socket OPEN in port 60001
Getting Dinamic Udp Port
port Selected: 60002
Device eth0 not Found
Udp/RET socket OPEN in port 60002
Getting Dinamic Udp Port
port Selected: 60003
Device eth0 not Found
Udp/RET socket OPEN in port 60003
Initialization of RTP_ext for RET or FCC done
Init 3 RTP data structures:
FEC-RET module initialization done
UseFEC = 0
UseRetry = 0
FEC In Band Support: 0
FCC Support: 0
Getting Dinamic Udp Port
port Selected: 60004
######################### CREATING SKBUFF RING of 512 elements
insmod: cannot mmap `/home/telefonica/modules/': No such device
Loading modules...
bigprivarea: Init OK.
[macrovision enabled]
FDMA firmware version is 0x02030209
rev: 0x00c0
stos_core_init_module(): Initializing STOS Module
PTI00: slots cnt 32
PTI00: filters cnt 16
PTI00: init OK
PTI01: slots cnt 32
PTI01: filters cnt 16
PTI01: init OK
PTI02: slots cnt 32
PTI02: filters cnt 16
PTI02: init OK
audio companion loader: start addr from insmod param: 0x4200000
MINI_MME_Init()...
openning binary file: /lib/firmware/st_comp_video_MME311.bin
loading up to 2097152 bytes from binary file: /lib/firmware/st_comp_video_MME311.bin
loaded 321540 bytes
openning binary file: /lib/firmware/st_comp_audio_MME311.bin
loading up to 2097152 bytes from binary file: /lib/firmware/st_comp_audio_MME311.bin
loaded 652868 bytes
[st231cm enabled]
2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (ST40)
drivers/usb/host/ohci-stcore.c: requesting IRQ 168
drivers/usb/host/ohci-stcore.c: ohci_hcd (ST40) at 0xb91ffc00, irq 168
ST40-ohci ST40-ohci1: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
MINI_MME_Init()...
VCONF [OK]
st231cm_RegisterDriver
h263 register succesful
pwc: Philips webcam module version 10.0.11-unofficial loaded.
pwc: Supports Philips PCA645/646, PCVC675/680/690, PCVC720[40]/730/740/750 & PCVC830/840.
pwc: Also supports the Askey VC010, various Logitech Quickcams, Samsung MPC-C10 and MPC-C30,
pwc: the Creative WebCam 5 & Pro Ex, SOTEC Afina Eye and Visionite VCS-UC300 and VCS-UM100.
usbcore: registered new driver Philips webcam
MUX: fdma_api_ver: 1.0
0: 0x0a0b3000, 0xaa0b3000
st231cm_RegisterDriver
h264vdec register succesful
st231cm_DspLock
lock from h264vdec
h264vdec st231cm_DspLock ok: 15
R422 Decoder ID 2
r422vdec: Initialisation OK
[Ethernet] Config for e88tlfa h/w platform.
$Name: $
<DM9000> I/O: a0c00000, VID: 90000a46 CHIP Revision 19
<DM9000> MAC address provided:
Found MAC address 00:03:91:c8:73:2f
<DM9000> found
SMSC_WARNING: smsc911x_init: idrev top 16 bits equal to bottom 16 bits, idrev: 0x0C070C07
aud_config_adb_audio: 0
aud_config_drv_partial_init: 1
aud_config_es_buf_lvl: 524288
aud_config_finetune_pts: 3000
aud_config_alsa: 1
aud_config_ac3: 0
aud_config_wma: 0
aud_config_aac_he: 0
aud_config_dts_enc: 0
aud_config_false_aac_main_patch: 1
aud_config_only_audio_streams_prebuffer_timeout: 1200
aud_config_underrun_prebuffer_time: 200
aud_config_spdif_cc: 0xc00
aud_config_mp3_nonrealtime: 0
aud_config_max_lipsync: 0ms
st231cm_RegisterDriver
aud register succesful
st231cm_RegisterDriver
alsa register succesful
usbcore: registered new driver snd-usb-audio
usbcore: registered new driver audio
drivers/usb/class/audio.c: v1.0.0:USB Audio Class driver
insmod: /lib/modules/feip.ko: No such file or directory
All modules loaded.
ln: /dev/mixer2: File exists
/
=========================================
STB: : TLF 3800TW
SDK version : 1.46.4.33.dual
Software version : 2010.10.04.07.07.16
Locale : cs-CZ
=========================================
Embedded Linux 2.6.11 by ADB
(none) login: [Info] AllocatePArea can't allocate 1658888 memory bytes because of quota 0 exceeded by 1658888 bytes
Couldn't load XKB keymap, falling back to pre-XKB keymap
[Info] AllocatePArea can't allocate 829440 memory bytes because of quota 0 exceeded by 829440 bytes
st231cm_DspLock
lock from aud
Embedded Linux 2.6.11 by ADB
(none) login:
So weit ich weiß besteht unsere Flashdatei aus 3 Teilen.
2 kleine (firmfs) (glaub ich u-boot und etwas) und dann der Rest, Dateien und Ordner.
Der Rest besteht aber auch aus zwei Teilen, firm und NAND.RAW
firm ist der Teil, auf den nach dem Fläschen kein Zugang mehr ist.
NAND.RAW sind die Dateien und Ordner auf die zugrif über telnet und SSH ist.
Oder so irgendwie.
Bei der Konsole von Alice wird es glaubich absichtlich unterdrückt.
Bei beiden Boxen ist am Anfang kein Zutritt, unabhängig von der Tastenkombination. Erst, wenn es zu cca. 70 Prozent
hochgefahren ist, erscheint die login Möglichkeit, nur für die Konsole, sonst bis dato nur Textausgang.
Die einzige möglichkeit den Bootloader zu stoppen ist beim Fläschen, aber nur wenn die Firmware schlecht eingepackt ist.
Dem Kollegen hat es 4 Monate gedauert herauszufinden, wie es richtig gemacht werden soll.
Er hat versuch sowas zu machen, aber es ist ihm nicht gelungen.
Code:
RebootLinux version 2.6.11.12_stm20-33 (A.Mielcarek@autogrator1) (gcc version 3.4.3 (STMicroelectronics/Linux Base 3.4.3-19) [build Mar 10 2006]) #1 Wed Sep 8 11:32:36 CEST 2010
ADB STB initialisation
STb7100 version 3.x
Built 1 zonelists
Kernel command line: console=ttyAS0,115200 splasharea=4096,0x0B000000
PID hash table entries: 512 (order: 9, 8192 bytes)
Calculated peripheral clock value 65108 differs from sh_pclk value 66000000, fixing..
PLL1 : 531.00MHz
PLL2 : 402.00MHz
ST40 CPU : 265.50MHz
ST40 BUS : 132.75MHz
ST40 PER : 66.37MHz
SLIM : 265.50MHz
ST231 : 402.00MHz
STBUS : 201.00MHz
EMI : 100.50MHz
LMI : 201.00MHz
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 67712k/126976k available (1898k kernel code, 59196k reserved, 227k data, 39412k init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: STb710x
Kernel panic - not syncing: invalid compressed format (err=1)
Hilft aber auch nicht viel, weil die Box eingefroren ist.
Einfacher ist es über das Fläschen nur eine Datei (shadow) in die Box zu kopieren/entpacken, ohne den Rest zu löschen.
Die bedingung ist richtigen BootCast Passierschein zu haben.
Zur flashen der CZ ADB3800TW Box:
Mit der Alice ging Antennenempfang. Dann wurde die Firmware aktualisiert und der Empfang geht nicht mehr.
Da USB nicht verwendbar ist, musste es automatisch über IPTV Anschluss passiert sein, genau
wie bei uns. Also ist es möglich in den chip zu schreiben. Wahrscheinlich ist nur das Auslesen teilweise
blockiert, oder es ermöglicht u-boot, oder etwas anderes am Anfang.
Bei uns geht es so:
Die Box muss auf DHCP eingestellt (Alice hat keine andere Möglichkeit) und über einen
Router, oder so etwas ans IPTV des Anbieters angeschlossen sein.
Die Firmware Aktualisierung erzwingt die Box selbst, oder der Benutzer.
- passiert ganz am Anfang, aber nur wenn wir wollen, bei Alice ist es immer bei jedem Neustart, glaube ich
Die Box wartet cca. 10 Sekunden auf Pakete (BootCast). Um zu passieren ist nicht der Inhalt wichtig, sondern
der Name der Datei. Bei uns ist es:
Code:
0002-4000-adb-TLF3800TW-182.176
0002-4000-adb-TLF3801TW-180.177
Beide mit Inhalt:
Code:
bc_kernel_addr 239.232.255.3:22220
bc_kernel_name kernel-PROD-dual-2010-10-04
bc_kernel_version 2010.10.04.07.07.16
bc_splash_addr 239.232.255.1:22221
bc_splash_name adb3800-o2
bc_splash_version 56
sO
Der Inhalt kann in einem gewöhnlichem editor geändert werden, nur darf nicht das unsichtbare
gelöscht werden. - es ist keine einfache Textdatei
Jetzt werden die Angaben in der Datei mit den Angaben in der Box verglichen.
Wenn sie identisch sind, passiert nichts. - in der Box ist schon diese Firmware
Wenn sie nicht identisch sind, geht die Box davon aus, dass in ihr eine Alte Firmware
ist und daher läst sie das Flaschen zu. Sie vergleicht nicht ob die Angaben der Firmware
eine ältere, oder neuere Version ist (vom Anbieter immer neuer).
- da haben wir die Angaben geändert um wiederholt Flashen zu können
Die Firmware wird auch nicht verglichen. Der Name der Datei muss nur mit dem in der Liste genau stimmen.
Genau so wird es auch in einer anderen Box gemacht:
Code:
forum.ican3800.zajsoft.net/download/BootCast_06_09_2008.rar
Also die Box läst das Flashen zu.
Das neue Bild für den Hintergrund wird gleich ausgetauscht. - ist nicht immer notwendig
Die Firmware wird in die Box kopiert.
Nach dem Umkopieren erfolgt reboot. Vor dem rebooten wird noch eine Checksumkontrolle gemacht.
Jetzt wird die Firmware entpackt und ein Checksum von dem eingepacktem kontrolliert.
So fern gut, werden paar Dateien und Ordner aus dem Chip archiviert.
Jetzt wird der gesamte Chip gelöscht und aus der Firmwaredatei auf den Chip Daten umkopiert.
- dauert cca. 10 Minuten
Zuletzt werden die archivierten Dateien umkopiert.
Lesezeichen