Topic: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

Hi everyone

Trying to isolate a problem I'm seeing with a HDSPe AIO (driver version 3.27, hardware revision 12) and AI4S expansion card.
The software I'm using (PortAudio) will identify the headphone as a 2 input and 2 output channel device in kernel streaming mode.
This is only happening with the expansion card connected.
Removing the expansion card will correctly identify the headphone as a 2 output channel device (no input channels) in kernel mode.

I assume the headphone should always be identified as a 2 output channel device only.
I'm not sure if the problem is with the application or the driver.
I am using Windows 7 64-bit Professional.
Any tips on what I could try next to help identify the problem?

Best regards

2

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

When the AI4S is connected, do you get one stereo channel too much, or is one stereo channel taken from that AI4S for the phones?

Regards
Matthias Carstens
RME

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

It appears I have one device to much.
The devices after the headphone device are bumped up by one.
e.g.
If the order of devices are:

phone output
phone input
AES
SPDIF

To access the SPDIF device, I would reference the AES device (only in kernel streaming with AI4S connected).

Best Regards,
Russell

4

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

I just remember - Windows does not allow devices that are 'single'. Must be record and playback. That's why this got implemented that way.

Regards
Matthias Carstens
RME

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

Are you saying this is how the driver is expected to work?

Best Regards,
Russell

6

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

Yes. Under ASIO it is no problem to have a channel offset in-between, but Windows does not allow that.

Regards
Matthias Carstens
RME

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

This results in a missing device "AIO ADAT (5+6) (Windows WDM-KS) 2 channels":

Available input devices:
  0) Microsoft Sound Mapper - Input (MME) 2 channels
  1) Rear Input (SoundMAX Integrated (MME) 2 channels
  2) Analog (5+6) (RME HDSPe AIO) (MME) 2 channels
  3) Analog (3+4) (RME HDSPe AIO) (MME) 2 channels
  4) ADAT (1+2) (RME HDSPe AIO) (MME) 2 channels
  5) ADAT (3+4) (RME HDSPe AIO) (MME) 2 channels
  6) Microphone (SoundMAX Integrated (MME) 2 channels
  7) ADAT (5+6) (RME HDSPe AIO) (MME) 2 channels
  8) SPDIF (RME HDSPe AIO) (MME) 2 channels
  9) Analog (1+2) (RME HDSPe AIO) (MME) 2 channels
10) AES (1+2) (RME HDSPe AIO) (MME) 2 channels
19) ASIO Hammerfall DSP (ASIO) 12 channels
20) AIO Analog (1+2) (Windows WDM-KS) 2 channels
21) AIO Analog (3+4) (Windows WDM-KS) 2 channels
22) AIO Analog (5+6) (Windows WDM-KS) 2 channels
23) AIO Phones (Windows WDM-KS) 2 channels
24) AIO AES (Windows WDM-KS) 2 channels
25) AIO SPDIF (Windows WDM-KS) 2 channels
26) AIO ADAT (1+2) (Windows WDM-KS) 2 channels
27) AIO ADAT (3+4) (Windows WDM-KS) 2 channels

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

It appears the missing channels is because the settings panel will not allow me to set WDM Devices above 9.

9

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

Checking...

Regards
Matthias Carstens
RME

10

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

There was indeed a bug in the driver: Analog 3+4 was initiated as Input-only device, so they were not available as WDM playback. Please try driver 3.28a:

https://archiv.rme-audio.de/download/hdspwdm_328a.zip

Regards
Matthias Carstens
RME

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

No joy,

It appears there are 2 different issues.

Issue 1) I cannot set "WDM devices" above 9, this prevents input device "AIO ADAT (7+8)" from being available.

Available output devices:
  0) AIO Analog (1+2) (Windows WDM-KS) 8 channels
  1) AIO Analog (3+4) (Windows WDM-KS) 2 channels
  3) AIO Phones (Windows WDM-KS) 2 channels
  4) AIO AES (Windows WDM-KS) 2 channels
  5) AIO SPDIF (Windows WDM-KS) 8 channels
  6) AIO ADAT (1+2) (Windows WDM-KS) 2 channels
  7) AIO ADAT (3+4) (Windows WDM-KS) 2 channels
  8) AIO ADAT (5+6) (Windows WDM-KS) 2 channels

Available input devices:
  0) AIO Analog (1+2) (Windows WDM-KS) 2 channels
  1) AIO Analog (3+4) (Windows WDM-KS) 2 channels
  2) AIO Analog (5+6) (Windows WDM-KS) 2 channels
  3) AIO Phones (Windows WDM-KS) 2 channels
  4) AIO AES (Windows WDM-KS) 2 channels
  5) AIO SPDIF (Windows WDM-KS) 2 channels
  6) AIO ADAT (1+2) (Windows WDM-KS) 2 channels
  7) AIO ADAT (3+4) (Windows WDM-KS) 2 channels
  8) AIO ADAT (5+6) (Windows WDM-KS) 2 channels

Issue 2) With the AI4S connected, to playback on output device "AIO AES" I need to actually playback on device "AIO Phones (Windows WDM-KS) 2 channels".
I've also noticed, to playback on output device "AIO SPDIF" I need to actually playback on device "AIO AES (Windows WDM-KS) 2 channels".

You will also notice that output devices "AIO Analog" and "AIO SPDIF" have 8 channels, shouldn't this be 2 channels.

Best regards,
Russell

12

Re: kernel streaming enumeration with HDSPe AIO and AI4S expansion card

We checked again and found two things:

- under XP (not your case) device names were not correct. This is solved in the new driver 3.29:

https://archiv.rme-audio.de/download/hdsp_wdm_329.zip

- Under W7 we saw similar effects like you do. They were caused by the old (wrong) entries in the registry. After deleting any information and reinstalling the driver everything was correct. To do so:

- in Device Manager: deactivate the driver
- Explorer: delete hdsp.sys and hdsp_64.sys in Windows/System32/drivers
- in Device Manager: Deinstall the driver, make sure 'Delete driver files' is checked.
- Device Manager: search for new or changed hardware
- Install the driver in the manual way, as described in the manual and the readme. NO automatic installation, or the old reg entries will still be used.

Regards
Matthias Carstens
RME