USB2 UAC2.0 DFU Windows device driver

Technical questions regarding the XTC tools and programming with XMOS.
Post Reply
twittich
Member++
Posts: 16
Joined: Mon May 06, 2019 9:28 am

USB2 UAC2.0 DFU Windows device driver

Post by twittich »

Hello
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
twittich


User avatar
fabriceo
XCore Addict
Posts: 181
Joined: Mon Jan 08, 2018 4:14 pm

Post by fabriceo »

Hi,
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 !
twittich
Member++
Posts: 16
Joined: Mon May 06, 2019 9:28 am

Post by twittich »

Thank you for sharing your experience. Exactly thats my problem too at the point "xmos reset".
I have to take that time to solve the problem too... but now i know that its possible.
Thank you very much.
Regards twittich
mmar
Experienced Member
Posts: 122
Joined: Fri Jul 05, 2013 5:55 pm

Post by mmar »

Hi i open new topic in Application thread about make DFU WCID compatible, this result to windows automatic load driver for DFU. When you can help try write there. I have now patched audio code to set special PID for DFU to pérevent mix audio and dfu drivers in app and dfu mode ...
Post Reply