Ich habe a schon einen Thread wegen meines Problems mit meiner Nokia 2*I, AVIA500 Sat laufen und habe mir mal den Quellcode angesehen, an der Stelle, wo "microcode validation failed" ausgegeben wird.
Hier mal der Code aus gen-dmx.c:
void LoaduCode (u8 * microcode)
{
unsigned short *dst=(unsigned short*)&rh (RISC);
unsigned short *src=(unsigned short*)microcode;
int words=0x800/2;
rh(RR1) |= 1 << 5; // reset RISC
udelay (10);
rh(RR1) &= ~(1 << 5);
while (words--)
{
udelay(100);
*dst++=*src++;
}
dst=(unsigned short*) &rh (RISC);
src=(unsigned short*) microcode;
words=0x800 / 2;
while (words--)
if (*dst++ != *src++)
break;
if (words>=0)
{
printk(KERN_CRIT "microcode validation failed at %x\n", 0x800 - words);
return;
}
}
Diese Funktion lädt ja den Code byteweise in den Prozessor (*dst++=*src++) und wartet jeweils 100µs (?) bis zum nächsten Byte.
Danach wird noch ein Verify gemacht (if (*dst++ != *src++) break), der ja bei mir schiefzugehen scheint.
Könnte es sein, daß die Wartezeit von 100µs bei einigen Boxen zu gering ist?
Ich würde das ja gern mal selbst ändern, nur fehlt mir sowohl eine Linux-Büchse als auch jeder Funken Erfahrung mit gcc und Co.
Oder könnte mir mal jemand testweise ein gen-dmx.o mit udelay(200) bauen?
Erwähnte ich, daß die BN2.0 im Rahmen ihrer beschränkten Möglichkeiten wunderprächtig läuft ;-)
Gruß,
Terminator
µCode in Demux laden evtl. fehlerhaft?
-
- Einsteiger
- Beiträge: 219
- Registriert: Donnerstag 20. Dezember 2001, 00:00
-
- Einsteiger
- Beiträge: 219
- Registriert: Donnerstag 20. Dezember 2001, 00:00
Hi!
So, den Thread kann man wohl schließen, das Problem lag an einer anderen Stelle, für einige Nokia-Boxen braucht man ein gefixtes ppcboot, das man hier findet: http://www.noernet.de/dbox2/flash/ppcboot_ram_fix.bz2
Gruß,
Terminator
So, den Thread kann man wohl schließen, das Problem lag an einer anderen Stelle, für einige Nokia-Boxen braucht man ein gefixtes ppcboot, das man hier findet: http://www.noernet.de/dbox2/flash/ppcboot_ram_fix.bz2
Gruß,
Terminator