USB2 UAC2.0 DFU Windows device driver

Technical questions regarding the xTIMEcomposer, xSOFTip Explorer and Programming with XMOS.
Posts: 13
Joined: Mon May 06, 2019 9:28 am

USB2 UAC2.0 DFU Windows device driver

Postby twittich » Thu Feb 06, 2020 2:23 pm

i'm working with windows 10 64 using the dev kit: "VocalFusion 4-mic mono-AEC circular dev kit" and free eval driver.
I just used a makefile with usb2 settings "2i4o2" and after driver installation i had the sound and microphones running like with usb1 settings but the dfu and control device is not visible nor in the device manager ?
I connected it to ubuntu and used dfu-util for listing all dfu devices and there it is and with xmos dfu i was able to flash it.
Anyone has an idea how to get the dfu device in windows too ?

Thanks in advance
Active Member
Posts: 37
Joined: Mon Jan 08, 2018 4:14 pm

Postby fabriceo » Thu Feb 13, 2020 9:19 pm

I ve recently spent almost 70 hours on experiencing and trying to find solution for using dfu... for OSX and linux everything easy, just set your #define DFU 1 and you can see the interface (3) with any simple source code using libusb for example, and the xmos dfutool is a good starting point. on windows this is just a nightmare. if you have a thesycon driver installed, then no any interface remains visible (using libusb) even HID, CDC, DFU... if you uninstall all thesycon driver, then windows install its own usbaudio2.sys and then you also get also errors in trying to list and access the device. The way I found to make the DFU interface visible with the base windows driver is to activate the HID. for some reason, then you can list and access all the devices interfaces (0..4). Now if you want to "talk" to the DFU interface, you MUST install winusb.sys driver, for example with Zadig which will recognize the interface 3 immediately.
Then you can start exchange data with the DFU interface with libusb.
but now if you send the command XMOS_RESETINTODEVICE, your device will reboot and will present the DFU on interface 0 instead of 3 and once again you need to install the winusb driver... then you can download the firmware or implement any sort of USB command using this interface,
But then when you reboot, the interface 0 which is by default the Audio Control endpoint is now connected to the winusb and you turn in circle !

I have overcome this last problem by tweaking the usb_app to avoid the reboot... but this was taff.

so if your time is free, then good luck, otherwise, consider stoping now and talking to your prefer partner for a windows driver !

Who is online

Users browsing this forum: No registered users and 1 guest