This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[Help]"No space left on device." error exist when 2 webcams are plugged into same USB hub



"No space left on device." error exist when 2 webcams are plugged into same USB hub

When only connect one webcam on usb hub, everything is ok

When I plug the USB hub (with 2 webcams) to PC, also work fine.

Anyone know how to fix this problem.

P.S.  The board only have one USB port

  • Wong,

    Which platform are you connecting the device to ? Are you connecting it  to OTG port of any TI platform ? Which linux kernel version are you using?

    This looks like OTG port and improper FIFO table casuing this error.

    Regards,

    Ajay

     

  • Dear Ajay,

     

    Thank you very much for your prompt reply. Could you please show me where I can configure the FIFO table?

    FYI, I am using kernel 2.6.29

    I am using DevKit8000 which is a compatible of  BeagleBoard. Here is the hardware information

    Processor       : ARMv7 Processor rev 3 (v7l)
    BogoMIPS        : 610.24
    Features        : swp half thumb fastmult vfp edsp
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant     : 0x1
    CPU part        : 0xc08
    CPU revision    : 3

    Hardware        : OMAP3 Beagle Board
    Revision        : 0020
    Serial          : 0000000000000000

    Regards,

    Fai Wong

  • wong,

    I am not yet sure if you are using OTG port (Mini-AB connector) or USBHOST port (standard PC like connector) for this testing.

    If you are using OTG port for connecting two cameras then you can modify mode_4_cfg in drivers/usb/musb to have two FIFO_RX with 1024 size. Please make sure

    that the sum of all FIFO sizes is less than 16KB-64B as total available FIFO is 16KB and 64 byte reserved for ep0. You can delete some of the endpoint entries also.

    Regards,
    Ajay

  • Dear Ajay,

    I am using USBHOST port (standard PC like connector) for the testing. I suppose there should be a similar cfg file of FIFO_RX for HOSTUSB. Where is it please?

    Regards,
    Fai Wong

  • For USBHOST port this looks like some bug in EHCI stack. A simple below hack shoud help or move to latest kernel,

    diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
    index a081ee6..dbab2a1 100644
    --- a/drivers/usb/host/ehci-sched.c
    +++ b/drivers/usb/host/ehci-sched.c
    @@ -1222,7 +1222,7 @@ itd_slot_ok (
                    /* can't commit more than 80% periodic == 100 usec */
                    if (periodic_usecs (ehci, uframe >> 3, uframe & 0x7)
                                    > (100 - usecs))
    -                       return 0;
    +                       return 1;

                    /* we know urb->interval is 2^N uframes */
                    uframe += period;

    Regards,
    Ajay

  • Dear Ajay,

    Sorry, I don't understand what you are trying to tell me. Is there a FIFO_RX equivalent in the code of USB host?

    Regards,

    Fai Wong

  • Wong,

    There is no FIFO table equivalent to OTG port for USBHOST ports. You can try the changes suggest in my earlier response and test.

    Regards,
    Ajay

  • Dear Ajay,

    I found that I didn't compile this file before. Can you please tell me which option I should select in menuconfig when compiling the kernel?

    Regards,
    Fai Wong

  • It would definitely be getting compiled. It might be included in ehci-hcd.c as  ehci-sched.c for compilation.Please move to latest kernel or use the hack and see if it helps you.

    Regards,

    ajay