Hallo an alle :)
Ich sitze seit einigen Tagen hier an einer AzBox HD Elite, und versuche über den dort laufenden YAMON (Rev 2.06) per TFTP ein Kernel S-Record in den RAM zu laden.
Das Ganze will allerdings nicht. Entweder erhalte ich nach dem "load tftp://IPTFTPSERVER/vmlinux.srec" ein Timeout oder einen Internal Error mit Code 1.
Der TFTP Server wird angesprochen und möchte auch senden, aber sobald dieser anfängt fliegt sofort der YAMON mit dem Error Code 1 raus.
Man muss auch dazu sagen dass die Box im Netzwerk nicht erreichbar ist.
Sie selbst kann alle im LAN befindlichen Geräte anpingen, ist aber von den anderen Geräten nicht auffindbar, bzw. nur genau in dem Moment in dem die Box selbst einen Ping an irgendein Gerät im Netzwerk sendet.
Das Netzwerk wurde gesetzt mit
setenv ipaddr 192.168.1.3 (freie IP im LAN)
setenv gateway 192.168.1.1 (IP des Routers)
setenv subnetmask 255.255.255.0
net init
net initpci
net up
Das sollte doch alles korrekt und vollständig sein, oder?
Die Box ist danach aber weder im Router als "online" markiert, noch sonst von irgendeinem Netzwerkgerät erreichbar.
Beim TFTP will die Kiste wie gesagt auch nicht.
Mir scheint fast als wolle der Hersteller das Laden und Starten eines "alternativen" Kernels vermeiden?
Soweit ich weiß hat der Hersteller (Opensat aus Portugal) die komplette Firmware vom koreanischen IPTV Boxen Hersteller Celrun gekauft.
Ist es möglich dass diese eine Art "Sperre" eingebaut haben?
gruß und schönen Sonntag
Bowser
Nur "net init" reicht aus (bzw macht initpci und konsorten bei mir alles mögliche kaputt), aber selbst das macht auf den Pirelliboxen manchmal aus unerklärlichen gründen Probleme, es ging 10 mal, und dann gehts plötzlich mal wieder nicht. Ist halt die Frage wie sehr der Yamon verbastelt wurde. Eine Srecord-Datei zu laden hab ich ehrlichgesagt noch nie versucht, ich lade meine Kernel immer direkt via "load -b tftp:/1.2.3.4/vmlinux.bin"
Vielen Dank.
Ich habe im User Manual nur gelesen dass man den Motorola SREC verwenden soll.
Load image from serial port or Ethernet to RAM or flash (depending on address). The only
image type currently supported is SREC.
Zudem wird nur die -r Option angeboten, nicht aber -b.
Ich werde es trotzdem mal versuchen.
Nachtrag: -b kennt der auf der Azbox genutzte YAMON nicht...wäre auch zu schön gewesen...nur bei -r wird nicht gemeckert. :-\
Hast du statt "load" mal "fread" versucht ?
Ich werde es mal versuchen. Erstmal schauen wo da freier RAM ist. Der will unbedingt eine Adresse haben.
Idr. lädt man den kernel an 0x90020000, "irgendwohin" geht nicht. Frei ist der Ram aber überall, ausser in den beim Yamonstart ausgegebenen Bereichen, die man logischerweise erst überschreiben sollte wenn man den Yamon nicht mehr braucht.
Hey danke! Der Kernel steht jetzt an 0x90020000 :)
YAMON> fread tftp://192.168.1.2/vmlinux.srec 0x90020000
About to binary read tftp://192.168.1.2/vmlinux.srec
Successfully transferred 0x7cfe62 (10'8191586) bytes
YAMON>
Vielen Dank, jetzt kanns losgehn mit den weiteren Tests ;)
Danke Danke :)
mal abgesehen davon das es natürlich extrem viel sinn macht den kernel an die addresse zu laden für die er erzeugt wurde ;)
an ner anderen addresse läuft der eh nich.
aber warum srecord format ? ist das nich etwas lästig ? einfach das binary dahin laden wo man es braucht ist irgendwie deutlich entspannter
Ja, schon, vom "load" cmd war aber SREC gefordert.
Werde jetzt mal etwas rumtesten.
Ich erhalte bei "go 0x90020000" nur eine seltsame Meldung:
go 0x90020000
em86xx_eth ethernet stop
* Exception (user) : Coprocessor Unusable *
BadVAddr = 0x1fefcbff Cause = 0x1080002c
Compare = 0xffffffff Config = 0x80200483
Config1 = 0xbed96c8e Config2 = 0x80000000
Config3 = 0x00000020 Context = 0xf50ff7e0
Count = 0xd7ce4eac DEPC = 0x2fe1edf3
Debug = 0x0e017411 EBase = 0x91000000
EPC = 0x90020008 EntryHi = 0x9007c000
EntryLo0 = 0x00000000 EntryLo1 = 0x00000000
ErrorEPC = 0xbff5fea6 HWREna = 0x00000000
Index = 0x80000000 IntCtl = 0x00000000
PRId = 0x00019069 PageGrain = 0x00000000
PageMask = 0x00000000 Random = 0x00000016
SRSCtl = 0x00000000 SRSMap = 0x00000000
Status = 0x00009c02 WatchHi = 0x80000000
WatchLo = 0x00000000 Wired = 0x00000000
Hi = 0x00000000 Lo = 0x90020000
$ 0(zr):0x00000000 $ 8(t0):0x00000000 $16(s0):0x00000000 $24(t8):0x00000000
$ 1(at):0x00000000 $ 9(t1):0x00000000 $17(s1):0x00003053 $25(t9):0x00000000
$ 2(v0):0x00000000 $10(t2):0x00000000 $18(s2):0x00000000 $26(k0):0x00000000
$ 3(v1):0x00000000 $11(t3):0x00000000 $19(s3):0x00000000 $27(k1):0x910f8f20
$ 4(a0):0x00000001 $12(t4):0x00000000 $20(s4):0x00000000 $28(gp):0x00000000
$ 5(a1):0x910fa220 $13(t5):0x00000000 $21(s5):0x00000000 $29(sp):0x91105520
$ 6(a2):0x9107b4f8 $14(t6):0x00000000 $22(s6):0x00000000 $30(s8):0x91105520
$ 7(a3):0x10000000 $15(t7):0x00000000 $23(s7):0x00000000 $31(ra):0x91045614
em86xx_eth ethernet start
YAMON>
Der Kernel ist wohl für den falschen Prozessor compiled. Ich lasse den jetzt mal für MIPS Malta und MIPS32 Release 2 durchlaufen.
Afaik lädt fread nur binäre Daten, daher in deinem fall nur Schrott, wenn du da so eine srecord-Datei hinlädst.
Ich habe heute nochmal etliche Sachen versucht. Erhalte aber immer den obigen Fehler (Coprocessor Unusable).
Ich habe auch schon den Kernel von NMT versucht, der ja genau auf den SMP863x abgestimmt zu sein scheint.
Allerdings geht das immer in die Hose.
Hat irgendwer eine Idee woran das liegen könnte?
Ich teste jetzt nochmal ein anderes Toolchain, eventuell spinnt an dem "original Azbox HD Toolchain" etwas...
Sicher das der Kernel auch an der richtigen Adresse steht (via "dump" an der Adresse mal ein paar Daten mit der Datei vergleichen) und kein elf/srec oder im falle des popcornhourkernels gar xloadformat hat ?
OK, war elf, als binary siehts besser aus ;D