Recent Posts

Pages: [1] 2 3 ... 10
1
USB / Re: Should Feature Units define nothing for channels without controls?
« Last post by Jan Axelson on July 24, 2021, 09:35:15 pm »
The audio class spec says:

3.13.6 The Feature Unit (FU) is essentially a multi-channel processing unit that provides basic manipulation of multiple single-parameter Audio Controls on the incoming logical channels. For each logical channel, the Feature Unit optionally provides Audio Controls for the following features:
•   Mute
•   Volume
•   Tone Control (Bass, Mid, Treble)
•   Graphic Equalizer
•   Automatic Gain Control
•   Delay
•   Bass Boost
•   Loudness
•   Input Gain
•   Input Gain Pad
•   Phase Inverter
In addition, the Feature Unit optionally provides the above Audio Controls but now influencing all channels of the cluster at once. In this way, ‘master’ Controls can be implemented

The use of "optionally" to me says that a single control is sufficient.

I don't have direct experience with it however.
2
USB / Should Feature Units define nothing for channels without controls?
« Last post by jb on July 23, 2021, 04:19:56 pm »
If I have a stereo audio stream, and I want only a Master control for Volume/Mute in the Feature Unit (Master controls all channels simultaneously), do I need to define empty controls for the individual channels?

In other words, is this correct?

Code: [Select]
bmaControls:
 0x03    Channel(0) - Mute / Volume

Or should it properly be this?

Code: [Select]
bmaControls:
 0x03    Channel(0) - Mute / Volume
 0x00    Channel(1)
 0x00    Channel(2)

Both seem to work in various operating systems.
4
Very approximately...

Code: [Select]
   HANDLE hub;
   USB_NODE_CONNECTION_INFORMATION_EX info;

   for(i=1;;i++)
   {
      info.ConnectionIndex=i;
      flag=DeviceIoControl(hub, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, &info, sizeof(info), &info, sizeof(info), &n, NULL);
      speed=info.Speed;

5
So that means that Windows would show 2 root hubs for a single XHCI controller: a USB3 and a USB2 (EHCI) root hub ?
6
A USB 3.1 hub contains both a USB 2.0 hub that supports low, full, and high speeds and an Enhanced SuperSpeed hub that contains a SuperSpeed hub and a Super-SpeedPlus hub. The USB 2.0 and Enhanced SuperSpeed hubs operate independently except for sharing logic to control VBUS. The host enumerates a USB 3.1 hub as two hubs.
7
As I saw when comparing USB 2 and USB 3 spec is that bit meanings have changed for the "Get Port Status" message.
Under USB 2.0, the port status bits contained bits for "low speed" and "high speed" (and if neither was set, it was full speed).

For USB 3.x, the port status bits contain a different 3-bit field that is always to be 0.

If you now have a port that supports Superspeed as well as Low/Full/Highspeed devices, how do you know what "variant" of return from "Get Port Status" you will get ? Or does a XHCI controller actually always have 2 completely separate hubs, one for USB 3.0 and yet another one for USB 2.0 with  even separate hub/device addresses ?

If I wanted to write a XHCI HC driver, would that then mean that that driver would actually need to support both, XHCI and EHCI ?



8
USB / Re: Data transfer problem
« Last post by SAE on June 30, 2021, 05:47:20 am »
Hello
I have been working with serial port transmission in embedded environments for many years and have the following suggestions for you.
1. Connect a cable directly between the tx and rx systems to determine if the loss is due to the RF units.
2. I have used USB/RS232 dongles a lot and found these units to be trustworthy.
3. I have also used different chips from FTDI with good result. They connect at embedded CPU rx and tx pins and to USB on the other side of the chip.
4. In older days I found out that serial communication on winxx platforms were not 100% trustworthy. When doing the same on embedded systems I have successfully had links up on 1 Mbaud with good result. Check the cable trick above with higher or lower baudrate to find out.
Brgds

SAE
9
USB / USB stick wait time?
« Last post by SAE on June 30, 2021, 05:19:48 am »
Hello all
I have developed a data logging unit to save data on a USB pen drive. I store data on binary type files with fixed length of several Mb. SW for FAT32 is working quite well. Only issue is that my drive stops recording for up to a few seconds now & then. Can be recording continuously at 25-50Kb/second for many hours without problems but at random times it stops recording for times from a few hundred milliseconds up to several seconds. I have implemented a ring buffer for incoming data that can store up to 30 Kb before it need to access the drive. If drive stops longer than the buffer can hold data there will be a buffer overrun error and current file will be closed and a new one will open and continue the process. I have tested several different drives and it seems problem exists among all of them. Any suggestions would be welcome.
Brgds
SAE
10
Yes, Ellisys USB Explorer 200 Basic Edition (€900) would be sufficient.

A hardware analyzer shows the traffic down to the transaction level, for example, for an IN transaction, did the endpoint return data or NAK?

Good advice from the others here.

Pages: [1] 2 3 ... 10