[wdmaudiodev] Re: Problems accessing HD Audio as a sound device in XPSP3

  • From: Preston <prestonfick@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Mon, 23 Mar 2009 00:54:05 -0500

I have gotten to a point where I can send and receive all verbs to the
codec, initialize and even use a the DMA (to play a wave file read directly
into memory for now) on my HD Audio device, and I'm back to the problem of
exposing the top side of this driver.

Currently I am loading based on all of the recommended startup
sequences<http://msdn.microsoft.com/en-us/library/ms790534.aspx>and
subdevice
creations <http://msdn.microsoft.com/en-us/library/ms790400.aspx> for the
port class driver using a Topology miniport and (now decided based on HD
Audio documentation <http://msdn.microsoft.com/en-us/library/ms790324.aspx>)
WaveCyclic miniport. I don't get anything but STATUS_SUCCESS from any of
these functions during bringup , and it looks good when stepping through.

I do know that I never receive a callback (which occurs in the MSVAD stock
sample) PropertyHandler_WaveFilter which is defined to be used here (pulled
from MSVAD sample):

//=============================================================================
static
PCPROPERTY_ITEM PropertiesWaveFilter[] =
{
    {
        &KSPROPSETID_General,
        KSPROPERTY_GENERAL_COMPONENTID,
        KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
        PropertyHandler_WaveFilter
    },
    {
        &KSPROPSETID_Pin,
        KSPROPERTY_PIN_PROPOSEDATAFORMAT,
        KSPROPERTY_TYPE_SET | KSPROPERTY_TYPE_BASICSUPPORT,
        PropertyHandler_WaveFilter
    }
};

DEFINE_PCAUTOMATION_TABLE_PROP(AutomationWaveFilter, PropertiesWaveFilter);

//=============================================================================

I am missing something here, but I feel that I understand logically how this
is supposed to work. I've read as much on MSDN, this list and Google as I
can. I've scoured the INF to ensure that everything is correct, and played
around with different things like security and double checked to ensure
GUIDs are correct. I feel like I've expired as many options as possible, so
if anyone might have any advice on what the culprit might be it would really
help.

Thanks!
Preston

On Thu, Mar 12, 2009 at 7:20 PM, Preston wrote:

> I am a developer with mostly USB device driver experience and am currently
> writing an HD Audio driver for XPSP3 for an HD Audio codec. The device works
> in Vista with the inbox UAA/HD Audio class driver.
>
> I began with the AC97 sample, and was able to get it to load and
> communicate with the codec through the verbs and get information/resource
> interfaces. However it was not exposing itself to Sound/Device Properties as
> an available default sound device.
>
> At this point I figured something wasn't right with AC97, so I baselined
> off of the MSVAD Simple driver. This installs fine from the WDK and comes up
> as an available device I can actually stream something to, so I modified it
> for my use. However, I am seeing the same problem.
>
> If I use the MSVAD Simple driver, but only modify the INF to contain my
> Hardware ID, it loads with no errors (DriverEntry/AddDevice/StartDevice),
> however its still not available as a sound device. I am still able to add in
> code to talk with the HD Audio Codec without problems. It seems like the
> step I am missing is simple and have tried anything I can think of with no
> positive results.
>
> I'm planning on developing this driver using WavePCI, and I have gone
> through and drawn out my topologies - so I have a good start, but in order
> to proceed I need a little help in the bring-up. Any advice would be great.
>
> Developing using:
> Debugger machine running XPSP3 w/WDK 6001.18002
> Debugee machine running XPSP3 w/all Windows Updates - using the HD Audio
> Link on an Intel MB.
>
> Kind Regards -
> Preston
>

Other related posts: