@Jolt: Endlos Loop avia_av_core.c: avia_cmd_status_get_addr?

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
happydude
Einsteiger
Einsteiger
Beiträge: 262
Registriert: Samstag 1. Dezember 2001, 00:00

@Jolt: Endlos Loop avia_av_core.c: avia_cmd_status_get_addr?

Beitrag von happydude »

Ich habe mal den Release Branch aus dem cvs ausgecheckt und kompiliert und gelange häufiger in eine Endlosschleife im avia Treiber.

Folgendes Vorgehen: sehr schnelles Zapping mit neutrino/zapit (schneller als Bild kommt). Nach 5-6 Sendern hängt zapit komplett in einer Endlosschleife. Ich habe mal versucht, das Ganze zu verfolgen:

apps/dvb/zapit/zapit.cpp: startPlayBack() -> video->start()
apps/dvb/zapit/zapost/video.cpp: video->start() -> ioctl (VIDEO_PLAY)
driver/ost/dvb.c: video_ioctl (VIDEO_PLAY) -> avia_command(Play, 0x00, dvb->video_pid, dvb->audio_pid);
driver/avia/avia_av_core.c: avia_command(u32 command, ...), command == 0x343 (Play) am Ende der Funktion der Aufruf zu avia_cmd_status_get_addr()

Code: Alles auswählen

        va_end(ap);

        if (!(status_addr = avia_cmd_status_get_addr())) {

                printk(KERN_ERR "avia_av: timeout.\n");

                return 0;
         
        }

        dprintk("C: 0x%X -> SA: 0x%X\n", command, status_addr);

        if (command & 0x8000)
                avia_cmd_status_get(status_addr, 1);

        return status_addr;
driver/avia/avia_av_core.c: avia_cmd_status_get_addr():

Code: Alles auswählen

static u32 avia_cmd_status_get_addr(void)
{
        while (!rDR(0x5C))
                schedule();

        return rDR(0x5C);
}
Da hängt er dann in der while Schleife, weil das 5C-Register immer auf 0 bleibt.

Box ist Nokia GTX Avia600 2xI ves1893 (Sat).
Boxfan
Einsteiger
Einsteiger
Beiträge: 359
Registriert: Montag 1. Juli 2002, 19:31

Beitrag von Boxfan »

@happydude :wink:

Das Problem was ich dabei sehe ist die Tatsache, daß die Box zunächst 3-4 Tage ohne irgendwelche Symptome wirklich gut läuft. Zappen ist bis dahin ohne Einschränkungen und auch sehr flott überhaupt kein Problem. Die Box hat meiner Meinung nach mit den Images ab dem 3. 10. Probleme mit dem Abspeichern wenn man sie in den Deep Standby schickt. Das ist ohne services- und bouquets.xml nicht mehr möglich. Im Gegensatz dazu, kann man auch bei älteren Images jederzeit in den Deep Standby runterfahren nachdem man zuvor die Aufforderung zum Kanalsuchlauf bekommen hat. Meine Schlußfolgerung geht nun dahin, wenn services- und bouquets.xml nicht korrekt gespeichert werden, ist es eigentlich nur noch eine Frage der Zeit wenn die Box irgendwann einfach verreckt.

Boxfan :P:P
Nokia D-Box 2 Sat
2x Intel
Avia 600 GTX
happydude
Einsteiger
Einsteiger
Beiträge: 262
Registriert: Samstag 1. Dezember 2001, 00:00

Beitrag von happydude »

Nein, der Fehler tritt direkt nach dem Booten reproduzierbar auf, da muß die Box nicht erst 3-4 Tage laufen. Und ich spreche auch (noch) nicht über ein Flashimage.
charly123
Einsteiger
Einsteiger
Beiträge: 107
Registriert: Dienstag 13. August 2002, 08:24

Beitrag von charly123 »

@happydude:

hi, da das hier der einzige Beitrag für den avia_av ist, frag ich dich mal:
ich hab es jetzt geschafft, das CDK zu übersetzen (freu)

Wenn ich es dann über den DBBM als YADD starten möchte, bekomme ich im Bootlog die Fehlermeldung, dass der avia_av nicht geladen werden kann - mit dem Hinweis, dass das an falschen Einstellungen für IO bzw IRQ liegen kann.

Richtige ucodes sind drauf - was muss ich noch machen ?