32U4 Audio DAC works under Linux, not Win7

Go To Last Post
4 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm using the 32U4 eval board from Olimex and AVR Studio 4.  I've programmed the AVR in assembly.  I'm not using a canned USB stack.

 

Under Linux (Raspbian), the device is detected and driven correctly.  The AVR handles a 16-bit 48Khz PCM stereo stream perfectly and generates the left and right signals with high speed 10-bit PWM.

 

Under Windows, the AVR is detected as and audio device and input device, but has a yellow exclamation mark next to it.  It does not appear under the list of audio devices on the system.

 

While getting useful debugging messages from Linux has been easy, I'm not sure how to get the same from usbaudio.sys under Windows.  After a lot of searching and posting in the MS hardware dev forum, I haven't found what I'm looking for.  How can I see what usbaudio.sys is doing?  Thanks in advance.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

redtail wrote:
Under Windows, the AVR is detected as and audio device and input device, but has a yellow exclamation mark next to it. It does not appear under the list of audio devices on the system.

Windows will need a .inf file to match a .sys driver to the device class. It sounds like the operation is generic and therefore you probably don't need to write a specific .sys for it but you will need the .inf to tell it to match your VID/PID to a specific, existing .sys file.

 

(you just learned why a lot of people prefer Linux ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for your response.  I hoped that Windows would load the proper drivers based on the configuration descriptors, but it turned out not to be the case.  When I use the VIP/PID from a Behringer DAC, it was detected as an audio device, but would not function. 

 

Once I get a proper .inf file, is there a way to get debug messages from the .sys driver?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You need to explore the Windows DDK (Driver Development Kit) to know more about this kind of thing. A .sys file in Windows is just a .dll with the extension changed and it provides certain "hook" functions. There may well be ways to interact with it but I don't know enough about that to advise (now if you asked me about Linux drivers - that'd be something else - I know quite a lot about those!)