element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Moto Mods
  • Products
  • Manufacturers
  • Moto Mods
  • More
  • Cancel
Moto Mods
Forum USB3 powering device, but not enumeration
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Moto Mods to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 14 replies
  • Subscribers 59 subscribers
  • Views 1660 views
  • Users 0 members are here
Related

USB3 powering device, but not enumeration

garengllc
garengllc over 8 years ago

I have an Ettus USRP (B205mini) that I can get to work fine with the usb2 project.  When I switches projects to compute (to take advantage of the USRP's USB3 capabilities), I cannot seem to get it to work.

 

When I plug the USRP into the middle USB port on the MotoMod, it powers it up, but I don't see the standard Android pop-up that a USB device was detected (which it does when I use the USBC port on the bottom of the phone).  I started adding debug statements into the fusb302.c file and can see the MotoMod recognizing a device being plugged in. 

 

I believe the issue is that in the decode_cc_termination function, it checks if (fusb302_regs.status0 & FUSB302_STATUS0_VBUSOK_MASK) (which is VBUS Valid), and it is coming up 0.  According to the FUSB302 datasheet, that bit it is checking is bit 7 of the status0 register and it describes it as going high (and interrupt occuring) when VBUS transitions through vVBUSthr. It also says that that bit typically is used to recognize port partner during startup.

 

So any idea what is going on here?  Any idea of further debug that I could try?

  • Sign in to reply
  • Cancel
Parents
  • dpeaslee
    dpeaslee over 8 years ago

    I'm am also looking for help on the same issue. I was hoping that my project would be a direct plug and play into the usb ports on the back. I have not pulled out my old laptop with linux. I was hoping to figure out exactly what I needed before that.

    So I am watching this post, to see if it gets resolved.

    My device also works directly with the bottom usbC device using an app called "SerialTerminal" and usb OTG. But no enumeration when plugged into usb on side in any configuration.

    I'm sure it's because I haven't installed usb2 project, but it would be nice if these ports would work out of the box (ie bypassing the mot mod dev board).

    David

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • motomodsdev
    motomodsdev over 8 years ago in reply to dpeaslee

    There is limited RAM and Flash space, we cannot make the base firmware support absolutely everything.  So until you actually flash firmware with USB support, it isn't going to work.  And you'll need to differentiate whether that's USB2.0 or USB3.1, and be aware that only one set of data lines is valid.  Ultimately you'll want to write your firmware properly, usb2 in particular simply reports an external device as always attached which causes additional current drain on the Moto Z side keeping that transceiver running.

     

    Not sure what you mean by bypassing the MDK, since that's the same as just plugging into the Z's TypeC port right?  On the MDK, make sure you're plugging into the proper port with the Dips set appropriately.  At this moment, I don't know that you have the same issue as Jason.  Please update this with:

    1. firmware running

    2. USB2.0 or USB3.1?

    3. MDK USB Port 2 or 3?

    4. Dip switch configuration

     

    Sounds like you're using an OTG cable, that's good since it flips the data lines for you.  If you're using the TypeC, also note the previous comment that orientation actually matters.  Please provide more details of your configuration so we can assist.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • motomodsdev
    motomodsdev over 8 years ago in reply to dpeaslee

    There is limited RAM and Flash space, we cannot make the base firmware support absolutely everything.  So until you actually flash firmware with USB support, it isn't going to work.  And you'll need to differentiate whether that's USB2.0 or USB3.1, and be aware that only one set of data lines is valid.  Ultimately you'll want to write your firmware properly, usb2 in particular simply reports an external device as always attached which causes additional current drain on the Moto Z side keeping that transceiver running.

     

    Not sure what you mean by bypassing the MDK, since that's the same as just plugging into the Z's TypeC port right?  On the MDK, make sure you're plugging into the proper port with the Dips set appropriately.  At this moment, I don't know that you have the same issue as Jason.  Please update this with:

    1. firmware running

    2. USB2.0 or USB3.1?

    3. MDK USB Port 2 or 3?

    4. Dip switch configuration

     

    Sounds like you're using an OTG cable, that's good since it flips the data lines for you.  If you're using the TypeC, also note the previous comment that orientation actually matters.  Please provide more details of your configuration so we can assist.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • dpeaslee
    dpeaslee over 8 years ago in reply to motomodsdev

    Thanks for your reply,

    I've got a device using cp210x usb to uart bridge. When the device is plugged into a USB3.0 type A to type C OTG connector and connected directly to the bottom port of the motoz I can use a serial terminal app to connect. The device itself is USB 2.0..

    The firmware that was running when I tried to plug stuff into the mdk was the developer firmware which was selected from the MDK Utility app (as opposed to blinky firmware).

     

    I also have a USB type A to micro OTG adapter which I tried on the USB Port 3.

     

    With Switch 1A and 2A ON; and 3A and 4A in each of the 4 possible configurations (all switch B off), I tried USB port 3 with "default" MDK-POWERED firmware and OTG type micro adapter.

    With Switch 1A and 2A ON; and 3A and 4A in each of the 4 possible configurations (all switch B off), I tried USB port 2 with "default" MDK-POWERED firmware and OTG type C adapter.

     

    But again, I haven't had a chance to install anything like USB2 into the moto mod mdk.

     

    Ultimately, I'd like to use the device that we've already built, but just take advantage of the USB port on the 16 pin connector on the back of the MotoZ (is this out of the question?).

     

    Thanks,

    David

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • motomodsdev
    motomodsdev over 8 years ago in reply to dpeaslee

    Mr. Peaslee:

     

    You're on the right track, but the 'Developer' firmware knows how to handle the battery/charging but that's it.  It has no USB support, you need to build and flash the usb2 firmware.  Since your cable and device work properly when plugged into the Moto Z's TypeC, we know it should enumerate properly through the Moto Mod.

     

    So, with the TypeC cable, you'll want to use USB #2 on the MDK.  You WILL need the OTG cable to flip the lines since you're a device.

    Switch A1 and A2 should be OFF, you're using USB2.0.

    Switch A3 OFF and A4 ON will assign USB2.0 to the USB #2 connector.

     

    The B switches are largely Don't Cares, I would recommend them all OFF.  If you are using OpenOCD to flash the usb2 firmware once you build it, you will want to flip B4 ON for flashing.

     

    Again, you need to build and flash the usb2 firmware after you've switched to the developer bootloader.  Please check out the walkthrough we put together.

     

    Thank you,

    Moto Mods Developer

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube