Hi, All:
I am developing a kernel driver for an amplifier device.I find a intel NUC 15 notebook that supports the soundwire bus. I notice that there is a device that is named as "Intel Smart Sound Technology for MIPI SoundWire Audio" in the device manager and I think it is the soundwire bus device. I use the SoundWireController.h that is in the WDK 26100 to develop a virtual driver. In the virtual driver, I send a IOCTL_SOUNDWIRE_READ_REGISTERS device IO control to the soundwire bus driver, but it returns STATUS_UNSUCCESSFULLY. I can not find any documents about how to use SoundWireController.h and any sample codes to read/write something by soundwire bus driver. Anyone can help me? I want to know is there a soundwire bus driver on windows, and is it support to use SoundWireController.h now?
How did you find the device? Did you load yourself as a filter driver? How did you know what parameters to send?
As Roberts said, do you know which parameters need to be sent to the driver program? This is like an agreement, if you don't follow it, it's definitely not successful
Hi, Roberts:
I tried to load myself as a filter driver and I tried to load myself as a virtual function driver(use devcon.exe to create a device node), but they all failed. I find the SoundWireController.h in the WDK 26100. In this header file, the code comment for IOCTL_SOUNDWIRE_READ_REGISTERS says that the input buffer is SOUNDWIRE_REGISTERS, and the output buffer is NULL. The SOUNDWIRE_REGISTERS struct is also defined in SoundWireConroller.h. I use the WinObj.exe to find the device's symbolic link, the symbolic link is ususlly device hardware ID + interface GUID. I can open the device successfully.
Without documentation, there's little you can do. It might be an internal ioctl. It might be restricted to its own driver stack. It might require some kind of registration. You'll have to wait for documentation.