• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » Linux » Linux forum » dm365 URB problem
Share
Linux
  • Forum
Options
  • Subscribe via RSS
Resources
  • Keystone II MCSDK (A15 Linux) Download
  • Forums

    dm365 URB problem

    This question is not answered
    Peter Chen14428
    Posted by Peter Chen14428
    on Aug 11 2010 13:36 PM
    Prodigy245 points

    hello :

    I want to use dm365 with a usb webcam.
    I have two usb webcams and the driver I think is right for them.
    Now I load the usb_core and musb_hdrc module from kernel source,
    and then load the driver for each other.

    But after that, I use the v4l2's example code, I got the following two error messages for each other:

    webcam with UVC driver:

    the driver load sucessful message
    uvcvideo: Found UVC 1.00 device USB 2.0 Camera (0c45:62f1)
    usbcore: registered new driver uvcvideo

    execute error message
    uvcvideo: Failed to submit isoc URB 0 (-90).
    VIDIOC_STREAMON error 90, Message too long

    webcam with gspca driver:

    the driver load sucessful message
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: USB GSPCA cam
    era found.(ZC3XX)
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: [spca5xx_prob
    e:4275] Camera type JPEG
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/Vimicro/zc3xx.h: [zc3xx_con
    fig:669] Find Sensor HV7131R(c)
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: [spca5xx_getc
    apability:1249] maxw 640 maxh 480 minw 160 minh 120
    usbcore: registered new driver gspca
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: gspca driver
    01.00.20 registered

    execute error message
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: [spca5xx_set_
    light_freq:1932] Sensor currently not support light frequency banding filters.
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: [gspca_set_is
    oc_ep:945] ISO EndPoint found 0x81 AlternateSet 7
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: init isoc: us
    b_submit_urb(0) ret -90
    /home/pencil722/獢/DM365/useful/gspcav1-20071224/gspca_core.c: [spca5xx_open
    :1996]  DEALLOC error on init_Isoc

    According the these two messages, I think that there are some problems I need to solve.
    One is the URB related problem, the other is ISO related problem.
    These two problems I think related to the error message are new to me.
    As result, I don't have any idea to solve them.

    Can anyone tell me what my problem with the error message?
    And How to slove the error message?

    regards,

    Peter

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • swami
      Posted by swami
      on Aug 11 2010 21:07 PM
      Expert7435 points

      Peter,

      Pl. ensure that you have programmed the fifo table in "drivers/usb/musb/musb_core.c" file for the needed fifo space for the ISO endpoint.  I believe the camera is asking for 1024 bytes of fifo space but the table is not programmed for one.  This might explain the behavior seen.

      regards

      swami

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Peter Chen14428
      Posted by Peter Chen14428
      on Aug 12 2010 09:58 AM
      Prodigy245 points

      Swami:

      Thanks for your answer.

      I am new to this area, so I still have some problem with your reply.
      You say that "programmed the fifo table in "drivers/usb/musb/musb_core.c" file for the needed fifo space for the ISO endpoint",
      is this mean I need to edit the kernel source code or I can set the values by configure file or command?

      I have seen the musb_core.c of kernel source with editor,
      I think the if I need to edit this file, the code I need to edit is something like the following code

      /*
       * tables defining fifo_mode values.  define more if you like.
       * for host side, make sure both halves of ep1 are set up.
       */
      /* mode 0 - fits in 2KB */
      static struct fifo_cfg __initdata mode_0_cfg[] = {
      { .hw_ep_num = 1, .style = FIFO_TX,   .maxpacket = 512, },
      { .hw_ep_num = 1, .style = FIFO_RX,   .maxpacket = 512, },
      { .hw_ep_num = 2, .style = FIFO_RXTX, .maxpacket = 512, },
      { .hw_ep_num = 3, .style = FIFO_RXTX, .maxpacket = 256, },
      { .hw_ep_num = 4, .style = FIFO_RXTX, .maxpacket = 256, },
      };

      Am I right?

      Except programming the fifo space to 1024, do I need to change the setting of Linux Kernel configuration of the source code before crooss compile a new image file?
      The seting I think related is
      Device Driver--->USB Support--->[ ]Disable DMA (always use PIO)
                                                     [ ]Reserve Bulk Endpoint
                                                     [*]Reserve ISO Endpoint
      the above is the seting of my configuration now.

      Can you explain this clearly?

      Thank you,

      Peter

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • swami
      Posted by swami
      on Aug 13 2010 07:10 AM
      Expert7435 points

      Peter,

      You are almost right.  You should be looking for "mode 2" config structure.  You should have something as below

      /* mode 2 - fits in 4KB */
      static struct fifo_cfg __initdata mode_2_cfg[] = {
      { .hw_ep_num = 1, .style = FIFO_TX,   .maxpacket = 512, },
      { .hw_ep_num = 1, .style = FIFO_RX,   .maxpacket = 512, },
      { .hw_ep_num = 2, .style = FIFO_TX,   .maxpacket = 512, },
      { .hw_ep_num = 2, .style = FIFO_RX,   .maxpacket = 1024, },
      { .hw_ep_num = 3, .style = FIFO_RX,   .maxpacket = 1024, },
      { .hw_ep_num = 4, .style = FIFO_RXTX, .maxpacket = 256, },
      };

      Reserving for ISO EP is good for your use case.

      regards

      swami

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Peter Chen14428
      Posted by Peter Chen14428
      on Aug 14 2010 09:00 AM
      Prodigy245 points

      Swami

      I edit the "driver/usb/musb/musb_core.c", and changing the following lines:

      static struct fifo_cfg __initdata mode_2_cfg[] = {
      { .hw_ep_num = 1, .style = FIFO_TX,   .maxpacket = 512, },
      { .hw_ep_num = 1, .style = FIFO_RX,   .maxpacket = 512, },
      { .hw_ep_num = 2, .style = FIFO_TX,   .maxpacket = 512, },
      { .hw_ep_num = 2, .style = FIFO_RX,   .maxpacket = 1024, },
      { .hw_ep_num = 3, .style = FIFO_TX,   .maxpacket = 512, },
      { .hw_ep_num = 3, .style = FIFO_RX,   .maxpacket = 1024, },
      { .hw_ep_num = 4, .style = FIFO_RXTX, .maxpacket = 256, },
      };

      then make the new musb_hdrc.ko module.

      When I insert the module with command "insmod musb_hdrc.ko mode_default=1", I got the following error messages:

      musb_hdrc: version 6.0, cppi-dma, peripheralhost, debug=0
      switchUSB_HW: gpio_direction_output called, value=0
      ray: plat-mode = 1
      musb_hdrc musb_hdrc: No DMA interrupt line
      musb_hdrc: probe of musb_hdrc failed with error -22
      insmod: error inserting 'musb_hdrc.ko': -1 No such device

      Can you help me why I got this message?

      I also write down my steps for this.
      The steps I do after boot the DM365 is:
      1.plug my usb webcam
      2.insmod usbcore.ko
      3.insmod musb_hdrc.ko mode_default=1
      4.insmod the usb webcam driver
      5.run the sample program come from the v4l
      4. and 5 will do if  2 and 3 sucessful

      Is there any step I do wrong or forget to do?

      regards,

      Peter

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • zanget
      Posted by zanget
      on Aug 31 2011 02:05 AM
      Expert1880 points

      if i change it to 1024 i get the same problem:

      musb_hdrc: probe of musb_hdrc failed with error -22

      now i just want to ask if you know how to fix it ..

      Regards, Mike

      usb webcam usb camera DM365 High-bandwidth ISO mode
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • zanget
      Posted by zanget
      on Aug 31 2011 04:29 AM
      Expert1880 points

      after change .ram_bits       = 11,  in ./arch/arm/mach-davinci/usb.c

      i get the problem sloved,but the previous comes up again...

      usb webcam usb camera DM365 High-bandwidth ISO mode
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • zanget
      Posted by zanget
      on Sep 01 2011 20:42 PM
      Expert1880 points

      the problem comes form the High-bandwidth ISO mode webcam with DM365.

      check it out: section 4.72 about USB

      usb webcam usb camera DM365 High-bandwidth ISO mode
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pradeep Acharya
      Posted by Pradeep Acharya
      on Apr 12 2012 04:43 AM
      Intellectual930 points

      Hi Zanget,

              I'm also facing the same problem when i capture VGA frame through external USB camera. This problem is not seen if i configure to get QVGA frame from the camera.the frame rate is very low. Its only 3 fps. I used Logitech camera. Please let me know if there is a patch which solves the URB errorson DM 368

      regards

      pradeep

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ravi B
      Posted by Ravi B
      on Apr 13 2012 08:14 AM
      Expert3710 points

      Pradeep

      Can you check with this patch http://arago-project.org/git/projects/?p=linux-omap3.git;a=commitdiff;h=09f9005fc4438feb2225ea67c37c176843002a48;hp=d95a57edef3489ca21b67ca2ad3a025f295609b5

      arago link http://arago-project.org/git/projects/?p=linux-omap3.git;a=shortlog;h=refs/heads/TI814XPSP_04.01.00.07

      Regards

      Ravi B

      If my reply answers your question then please click on the green button "Verify Answer"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • zanget
      Posted by zanget
      on Apr 13 2012 10:24 AM
      Expert1880 points

      Ravi B

      the patch tell us that :

      This patch is still being tested and not intended for any official release to customer. This will be released in PSP release after complete testing.

      are  you sure it works ?

      regards, Mike

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ravi B
      Posted by Ravi B
      on Apr 13 2012 20:26 PM
      Expert3710 points

      You can pickup all the patches from arago link and see whether this resolve the issue. Currently these patches are available on top of 4.01.00.07 PSP release for DM814X series, will be included for the next PSP release after complete testing.

      Regards

      Ravi B

      If my reply answers your question then please click on the green button "Verify Answer"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pradeep Acharya
      Posted by Pradeep Acharya
      on Apr 14 2012 05:35 AM
      Intellectual930 points

      Hi ravi,

      The patch is for 2.6.37 for DM 8148 where as i want it on linux 2.6.32 on DM 368. Is there any patch on 2.6.32 for DM 368

      regards

      pradeep

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Pradeep Acharya
      Posted by Pradeep Acharya
      on Apr 14 2012 06:39 AM
      Intellectual930 points

      ravi

      i've downloaded I've downloaded linux-omap3-094a37960c7fee23bc38386a280491a97502a99b.tar.gz ,compiled the kernel and used it to boot DM 8148. i could capture HD image (1280 x 720) through external usb camera and in raw format (yuyv).  Is it  04.01.00.07.  version which were you mentioning ? Please confirm ? I thought all the patches which you have mentioned are present in linux-omap3-094a37960c7fee23bc38386a280491a97502a99b.tar.gz

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use