Dear all, I'm struggling with getting a RPi Zero based UAC2 gadget working with Windows 10. In the progress I've found a bug in f_uac2.c , where wTotalLength was calculated erroneously https://github.com/torvalds/linux/pull/515 (I'll be preparing a proper patch submission for this, which I've tested on Raspbian Stretch Lite). However, that wasn't enough. The device still isn't loaded properly. Any pointers on how to proceed would be appreciated. The setup script for the gadget: --------------------------------------------- #!/bin/bash -e modprobe libcomposite cd /sys/kernel/config/usb_gadget/ mkdir g1 && cd g1 echo 0x1d6b > idVendor # Linux Foundation echo 0x0104 > idProduct # Multifunction Composite Gadget echo 0x0100 > bcdDevice # v1.0.0 echo 0x0200 > bcdUSB # USB 2.0 echo 0x01 > bDeviceClass echo 0x02 > bDeviceSubClass echo 0x20 > bDeviceProtocol mkdir -p strings/0x409 echo "deadbeef00115599" > strings/0x409/serialnumber echo "irq5 labs" > strings/0x409/manufacturer echo "Pi Zero Gadget" > strings/0x409/product mkdir -p functions/uac2.usb0 # audio echo 3 > functions/uac2.usb0/c_chmask echo 48000 > functions/uac2.usb0/c_srate echo 4 > functions/uac2.usb0/c_ssize echo 3 > functions/uac2.usb0/p_chmask echo 48000 > functions/uac2.usb0/p_srate echo 4 > functions/uac2.usb0/p_ssize mkdir -p configs/c.1 echo 250 > configs/c.1/MaxPower mkdir -p configs/c.1/strings/0x409 echo "Audio" > configs/c.1/strings/0x409/configuration ln -s functions/uac2.usb0 configs/c.1/ echo 1 > os_desc/use echo 0xcd > os_desc/b_vendor_code echo MSFT100 > os_desc/qw_sign ln -s configs/c.1 os_desc #udevadm settle -t 5 || : ls /sys/class/udc/ > UDC --------------------------------------------- Best regards /Robert Bielik Ps. Apologies if this isn't the correct forum for these kinds of questions. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html