Autor Thema: unable to submit urb  (Gelesen 10069 mal)

MarkusEh

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
unable to submit urb
« am: März 07, 2013, 09:54:02 Nachmittag »
Hallo,

Ich erhalte folgenden Fehler:
Mar  5 21:26:11 debian kernel: unable to submit urb
Mar  5 21:26:12 debian kernel: unable to submit urb
Mar  5 21:26:12 debian kernel: unable to submit urb
Mar  5 21:26:13 debian kernel: unable to submit urb
Mar  5 21:26:13 debian kernel: unable to submit urb
Mar  5 21:26:14 debian kernel: unable to submit urb
Mar  5 21:26:15 debian kernel: unable to submit urb
Mar  5 21:26:15 debian kernel: unable to submit urb
Mar  5 21:26:16 debian kernel: unable to submit urb
Mar  5 21:26:17 debian kernel: unable to submit urb
Mar  5 21:26:48 debian vdr: [2122] ERROR: video data stream broken
Mar  5 21:26:48 debian vdr: [2122] initiating emergency exit

Der Fehler "unable to submit urb" kommt von usbkhelper:
Mar  5 21:03:36 debian kernel: usb 1-1.1: new high-speed USB device number 9 using orion-ehci
Mar  5 21:03:36 debian kernel: usbkhelper: dreambox acceleration not detected
Mar  5 21:03:36 debian kernel: usbkhelper: device is attached to a USB 2.0 bus
Mar  5 21:03:36 debian kernel: usbkhelper: using isoc transfer
Mar  5 21:03:36 debian kernel: usbkhelper: registered /dev/ngdvr0
Mar  5 21:03:36 debian kernel: usbkhelper: mknod /dev/ngdvr0 c 249 0
Mar  5 21:03:38 debian kernel: usb 1-1.2: new high-speed USB device number 10 using orion-ehci
Mar  5 21:03:38 debian kernel: usbkhelper: dreambox acceleration not detected
Mar  5 21:03:38 debian kernel: usbkhelper: device is attached to a USB 2.0 bus
Mar  5 21:03:38 debian kernel: usbkhelper: using isoc transfer
Mar  5 21:03:38 debian kernel: usbkhelper: registered /dev/ngdvr1
Mar  5 21:03:38 debian kernel: usbkhelper: mknod /dev/ngdvr1 c 249 1

Nach dem VDR Restart wurde die Aufnahme fortgesetzt.
Ich habe 2 Sundtek DVB-S2 Sticks an dem sheeva-plug.
Was ist die Ursache für diesen Fehler?

- Markus

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8604
    • Profil anzeigen
Re:unable to submit urb
« Antwort #1 am: März 09, 2013, 01:12:01 Nachmittag »
Also irgendwas läuft da schief woher hast du denn das "usbkhelper" Modul?

Habe es gerade getestet und bei uns kommt eine andere Ausgabe.
Failure is a good thing! I'll fix it

MarkusEh

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
Re:unable to submit urb
« Antwort #2 am: März 10, 2013, 12:08:18 Vormittag »
Hallo,

das Kernel Modul ist von:

http://sundtek.de/support/khelper.tar.gz

. dmesg gibt folgendes aus:

ERROR: 2M atomic DMA coherent pool is too small!
Please increase it with coherent_pool= kernel parameter!

Wie groß sollte der coherent pool bei 2 Sticks denn sein?

- Markus

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8604
    • Profil anzeigen
Re:unable to submit urb
« Antwort #3 am: März 10, 2013, 12:17:29 Vormittag »
Hast du die Sticks auf Isochronous umgestellt?
Failure is a good thing! I'll fix it

MarkusEh

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
Re:unable to submit urb
« Antwort #4 am: März 10, 2013, 12:41:16 Nachmittag »
Hallo,

ja, die Sticks sind auf Isochronous eingestellt. Mit Bulk gab es andere Probleme.

- Markus

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8604
    • Profil anzeigen
Re:unable to submit urb
« Antwort #5 am: März 10, 2013, 02:56:08 Nachmittag »
Ich denke nicht das du damit weit kommen wirst, welche Probleme gibt es denn mit Bulk?
Failure is a good thing! I'll fix it

MarkusEh

  • Newbie
  • *
  • Beiträge: 39
    • Profil anzeigen
Re:unable to submit urb
« Antwort #6 am: April 09, 2013, 10:31:01 Nachmittag »
Hallo,

Soweit ich mich erinnern kann, hatte ich mit bulk Artefakte und unvollständige Aufnahmen.

Daher habe ich mit coherent_pool=4M getestet. Das hat zwar zunächst funktioniert, aber irgendwann war der auch voll und der Fehler trat wieder auf. Das scheint ein Fehler im Kernel zu sein, der mit 3.8.6 behoben ist. Details siehe lkm.

Der Patch, der den Fehler korrigiert, ist von Soeren Moch (danke, Soeren !!!):
"ehci.diff" (text/x-patch)]

--- linux-3.9.0-rc3-guru/drivers/usb/host/ehci-sched.c.orig     2013-03-21 17:36:21.000000000 +0100
+++ linux-3.9.0-rc3-guru/drivers/usb/host/ehci-sched.c  2013-03-21 17:38:56.000000000 +0100
@@ -1214,6 +1214,7 @@ itd_urb_transaction (

                memset (itd, 0, sizeof *itd);
                itd->itd_dma = itd_dma;
+               itd->frame = -1;
                list_add (&itd->itd_list, &sched->td_list);
        }
        spin_unlock_irqrestore (&ehci->lock, flags);
@@ -1915,6 +1916,7 @@ sitd_urb_transaction (

                memset (sitd, 0, sizeof *sitd);
                sitd->sitd_dma = sitd_dma;
+               sitd->frame = -1;
                list_add (&sitd->sitd_list, &iso_sched->td_list);
        }


Im Kernel wurde der Patch leicht modifiziert (itd->frame = 9999;).

Ich habe diesen Kernel installiert teste jetzt mal damit.

- Markus