8-ch audio card USB Bus Problems

XCore Project reviews, ideas, videos and proposals.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

:(

1) Consider to open a support ticket with XMOS for their review of your design against the applied CPU package.

2) Can you post an updated schematic and PCB layout for this design? Or forward via PM is ok.

3) What are the details of your USB cable? Is the USB cable certified for HS (480 Mbps) use? Keep the cable short as possible and try to source from a branded make of the cable. For example, Belkin USB 2.0 cable. There are differences in the quality of the cables. Do test with other cables.

4) Are your voltages stable on the power supply? Clocks are stable? 5 volts solid? 3v3 ? 1v0? Since you have a buck boost from the USB to your product, you could consider to power the board using a known good external power supply @ 5 volts (bypass the buck boost) for testing. Of course, do not feed the external 5v0 back to the host PC!!

5) From this thread, USB HS (480 mbps) is not reliable but this version of the PCB enumerates ok? What PC ports have been tested? Can you test with other PCs? Test with ports with the black insulator only (USB 2.0 ports) and not USB 3.0 (Blue insulator) for now.

6) Do you have access to a USB bus analyzer?

7) Not that you have much between the USB connector and the XMOS device but can you remove the EMI filter and just bypass with a clean piece of solder for each track and test again?

8) From the original schematic, how is 3.3PG generated? Could not locate the source, at least one the last review.

9) Is R109 = 4R7 ohms? (4.7 ohms)

10) XMOS has some USB CDC / HID model IP posted. Consider to upload this onto this board to check on the stability of their IP.

11) Is the end result that you have enumeration faults? Are the results the same on Windows and Linux platforms?

Post your results.


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Remove C147 from your design.
Attachments
remove_c147.png
(42.41 KiB) Not downloaded yet
remove_c147.png
(42.41 KiB) Not downloaded yet
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

It will be best to review your latest schematic and PCB design. Given that the XMOS Explorer kit uses the same CPU package, this has to work as well and support USB 2.0 HS traffic. We have many USB 2.0 and now USB 3.0 designs that are working well (non XMOS based) but the concepts are the same and we really do not require any issues with USB 2.0 HS support.

Concerned about the following issue which may be the smoking gun:

How is this product being powered? From the USB port or a stand alone power supply? The concern is with pin # 45 = USB_VBUS which appears to be hard strapped to +3v3 on your PCB layout. This is not correct if being powered from the USB port.



Do see that you had a front end filter from the USB_VBUS pin of the connector but that is not what is mated with pin # 45. Pin #45 appears to be hard strapped to +3v3 (next pin in the XMOS device). Please confirm this detail.

Also, USB_ID does not need to be connected to the XMOS device so cut that trace for now to isolate that leg. This is now getting interesting so please post your results.
Attachments
xmos_vbus_comment.png
(20.52 KiB) Not downloaded yet
xmos_vbus_comment.png
(20.52 KiB) Not downloaded yet
xmos_usb_vbus.png
(202.08 KiB) Not downloaded yet
xmos_usb_vbus.png
(202.08 KiB) Not downloaded yet
hamtam
Active Member
Posts: 34
Joined: Wed Jun 28, 2017 7:37 am

Post by hamtam »

Hey mon2 first I thank you for your quick reply.
I will check your advices today an I will come up with my results.
  • - My Idea with c147 was to make it more robust against ESD. I check what happens if I remove it.
    - I tried a lot of different cables. I have the best results with a 0.5m Delock USB 2.0 cable
    - The voltages are stable when I ckeckt it the last time. I will check again with the oscilloscope
    - Yes the device enumerates but when I start sending a stream I get a lot of USB failures in the log
    - Unfortunately I have no access to an USB analyzer
    - The 3.3PG Signal is still the same as (Page 5 top right) Schematic
    - R109 is 4.7 Ohms (4R7)
    - The enummeration semmes to be OK from what I see in the log:

    Code: Select all

    [ 5340.895735] usb 3-1.4.2: new high-speed USB device number 8 using xhci_hcd
    [ 5341.000578] usb 3-1.4.2: New USB device found, idVendor=2f3f, idProduct=2001
    [ 5341.000580] usb 3-1.4.2: New USB device strings: Mfr=1, Product=3, SerialNumber=2
    [ 5341.000581] usb 3-1.4.2: Product: CONET 8-ch-sc
    [ 5341.000582] usb 3-1.4.2: Manufacturer: CONET Solutions GmbH
    [ 5341.000583] usb 3-1.4.2: SerialNumber: 910574B1
    
    After I open the alsamixer or try sending an audio stream I get:

    Code: Select all

    1:1: usb_set_interface failed (-71)
    ...
    [ 5021.902218] usb 3-1.4.2: 1:1: usb_set_interface failed (-110)
    ...
    [ 5023.181548] usb 3-1.4.2: cannot get ctl value: req = 0x81, wValue = 0x101, wIndex = 0xb00, type = 1
    ...
    [ 5027.021955] usb 3-1.4.2: 1:1: usb_set_interface failed (-110)
    I did not check the the card with windows yet.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

This sounds like a Linux bug. Check the Internet with the error code and definitely test with more current distributions and of course Windows:



https://ubuntuforums.org/showthread.php?t=2321394

This post is noting power mode issues which may point back to the usb vbus pin...

https://bbs.archlinux.org/viewtopic.php?id=212593

Please post your results.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

From the above 2nd link..
I have the same issue after upgrading to 16.04.
The workaroud is to kill the process fwupd and remove the package (sudo apt-get remove fwupd)
My DAC work like a charm now. By the way I don't need this tools (fwupd)
hamtam
Active Member
Posts: 34
Joined: Wed Jun 28, 2017 7:37 am

Post by hamtam »

I would preclude a linux bug as some sound cards are working but not verry safe.
Our problem is that we are running out of time our customer needs to get 400 working soundcards as soon as possible. Do you know anyone who can support us?

We really need to get this run quickly :-(.

The floating VBus did not work with this setting USB did not start at all. I will try it with the 2.2 µF capacitor which is mentioned in 13.1 of the datasheet.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

http://www.xcore.com/viewtopic.php?f=37&t=4525

What is the value for this define? For using usb pc powered, should be 0. Please check and test if different.
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Perhaps not related but is important, your DAC is CS4382A? Please check the datasheet for this device and check the MAX VD rail voltage. The current design is mated with +3v3 which is beyond the spec.

CS4382A


Image


Image
hamtam
Active Member
Posts: 34
Joined: Wed Jun 28, 2017 7:37 am

Post by hamtam »

I have this in the costomdefines.h

Code: Select all

/* Board is self-powered i.e. not USB bus-powered */
#define SELF_POWERED       0 // bus powered
The capacitor on the VBUS did not help. The device does not start if VBUS is floating or connected with GND.

Good advice I check the voltage levels of the DAC.
Post Reply