- Why Register?
- Download development tools
- Create and track support tickets
- Subscribe to resource updates
- Access latest developer news
Configuring the Thesycon Windows Driver for USB Audio
This document explains how to configure the Thesycon Production driver for use with the XMOS USB Audio 2.0 Reference Designs.
Prerequisites
- Thesycon Windows Production Driver: TUSBAudio_CustomizationKit_v1.xx (available on request from xmos.com subject to a minimum order quantity of the bundled Thesycon production driver part (XS1-L01A-TQ128-C5-THS/XS1-L01A-LQ64-C5-THS/XS1-L01A-TQ48-C5-THS). Request software from:
- SignTools: Installer provided with Thesycon Production driver in CustomizationKitsigningSignTools_vxx.exe.
- GUIDGen: Available from:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17252
- USB Vendor ID and Product ID: see http://www.usb.org/ for details.
- Verisign Certificate for Microsoft Authenticode available from:
http://www.verisign.com/code-signing/microsoft-authenticode/
On Windows 7 64bit developers must use their own VeriSign certificate in order to install the driver.
Configuring the driver
- Go to the folder CustomizationKit/DriverPackageBuilder in the installation tree of the Thesycon driver.
- Clone XMOS_EVAL_KITS into acmeusbaudio.
- Customise set_vars.cmd:
- Set vendor strings:
VENDOR_NAME=Acme Inc PRODUCT_NAME=AcmeDAC DRIVER_NAME_BASE=acmeusbaudio DEFAULT_INSTALL_DIR=%VENDOR_NAME%\AcmeDAC ASIO_DRIVER_NAME=AcmeDAC ASIO Driver
- Generate fresh GUIDs using the GUIDGen tool:
DRIVER_INTERFACE_GUID= ASIO_DRIVER_GUID= INF_SETUP_CLASS_GUID=
- Set VID/PID:
INF_VID_PID_1="VID_234A&PID_0001" INF_VID_PID_1_DESCRIPTION=AcmeDAC Audio 1.0 INF_VID_PID_1_DESCRIPTION_KS=%INF_VID_PID_1_DESCRIPTION% Audio INF_VID_PID_2="VID_234A&PID_0002" INF_VID_PID_2_DESCRIPTION=AcmeDAC Audio 2.0 INF_VID_PID_2_DESCRIPTION_KS=%INF_VID_PID_2_DESCRIPTION% Audio
- Clear VID_PID 3, 4, 5 (these are not used).
- Configure COPYFILE_1 and CPL_EXE variables:
CPL_EXE=AcmeAudioCpl.exe CPL_SHORTCUT_NAME=AcmeDAC Control Panel CPL_SHORTCUT_PARAMS="" CPL_AUTOSTART_SHORTCUT_NAME=AcmeDAC Control Panel Autostart CPL_AUTOSTART_SHORTCUT_PARAMS=-hide COPYFILE_1=AcmeAudioSpy.exe COPYFILE_1_SHORTCUT_NAME=AcmeDAC Spy Tool COPYFILE_1_SHORTCUT_PARAMS=""
- Manually copy these files:
cd DriverPackageBuilder\bin copy release\tusbaudiocpl.exe release\AcmeAudioCpl.exe copy release\tusbaudiospy.exe release\AcmeAudioSpy.exe copy debug\tusbaudiocpl.exe debug\AcmeAudioCpl.exe copy debug\tusbaudiospy.exe debug\AcmeAudioSpy.exe
- If VENDOR_NAME does not contain spaces, go to step 5.
Change SETUP_CLASS_GEN from:
%VENDOR_NAME%_%DRIVER_NAME_BASE%_SetupClass
to
%DRIVER_NAME_BASE%_SetupClass
- Close set_vars.cmd.
- Set vendor strings:
- If VENDOR_NAME does not contain spaces, go to step 5.
Change line 23 of custom.inf.src from
Class=!{VENDOR_NAME}!_!{DRIVER_NAME_BASE}!_SetupClassto
Class=!{SETUP_CLASS_GEN}! - Configure VeriSign certificate:
- Convert the certificate to PFX
pvk2pfx.exe -pvk my_privatekey.pvk -spc my_credentials.spc -pfx my_cert.pfx -pi my_password
- Import certificate
Double click on my_cert.pfx. Go through the Certificate Import Wizard, leaving all options at default. You will need your certificate password.
- Get certificate name
Open certmgr.msc and go to Personal folder. Certificate name will by in the right pane under “Issued To”.
- Set up certificate name
Go to the folder CustomizationKit/signing and edit set_vendor_certificate.cmd:
if "%VENDOR_CERTIFICATE%"=="" set VENDOR_CERTIFICATE=CertificateName- Remove the old Code Signing Intermediate CA certificate.
See: https://knowledge.verisign.com/support/code-signing-support/index
- Launch mmc from
Windows XP Users
- Select .
- Click Add in Standalone tab.
- Select Certificates, click Add and Finish (use default options).
- Click Close and OK to go back to the main window.
- Expand under Console Root in left pane.
- Expand Intermediate Certification Authorities and Certificates.
Windows Vista/7 Users
- Select .
- Select Certificates in left-hand pane.
- Click Add.
- Click Finish (use default options).
- Click OK to go back to the main window.
- Expand under Console Root in left pane.
- Expand Intermediate Certification Authorities and Certificates.
- Delete any items that match the following:
Issued To
Issued by
VeriSign Class 3 Code Signing 2010 CA
VeriSign Class 3 Public Primary Certification Authority - G5
www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
Class 3 Public Primary Certification Authority
- Install the new Code Signing Intermediate CA certificate:
- Stay in the Certificates dialog.
- Copy the text below into a file called verisign.cer.
- Select .
- Follow the wizard to import verisign.cer using default options.
- Check the new item appears under Intermediate Certification Authorities - Certificates:
Issued To
Issued by
VeriSign Class 3 Code Signing 2010 CA
VeriSign Class 3 Public Primary Certification Authority
Contents of verisign.cer:
-----BEGIN CERTIFICATE----- MIIEwzCCBCygAwIBAgIQTWKQ5YxU8PHrFzQaExDmpDANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMTAwOTMwMDAwMDAwWhcNMTQwMTAxMjM1OTU5WjCBtDELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cu dmVyaXNpZ24uY29tL3JwYSAoYykxMDEuMCwGA1UEAxMlVmVyaVNpZ24gQ2xhc3Mg MyBDb2RlIFNpZ25pbmcgMjAxMCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAPUjS16l14q7MunUV/fv5Mcmfq0ZmP6onX2U9jZrENd1gTB/BGh/yyt1 Hs0dCIzfaZSnN6Oce4DgmeHuN01fzjsU7obU0PUnNbwlCzinjGOdF6MIpauw+81q YoJM1SHaG9nx44Q7iipPhVuQAU/Jp3YQfycDfL6ufn3B3fkFvBtInGnnwKQ8PEEA Pt+W5cXklHHWVQHHACZKQDy1oSapDKdtgI6QJXvPvz8c6y+W+uWHd8a1VrJ6O1Qw UxvfYjT/HtH0WpMoheVMF05+W/2kk5l/383vpHXv7xX2R+f4GXLYLjQaprSnTH69 u08MPVfxMNamNo7WgHbXGS6lzX40LYkCAwEAAaOCAaQwggGgMBIGA1UdEwEB/wQI MAYBAf8CAQAwcAYDVR0gBGkwZzBlBgtghkgBhvhFAQcXAzBWMCgGCCsGAQUFBwIB FhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vY3BzMCoGCCsGAQUFBwICMB4aHGh0 dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwDgYDVR0PAQH/BAQDAgEGMG0GCCsG AQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l 0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92 c2xvZ28uZ2lmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDAzAoBgNVHREE ITAfpB0wGzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItODAdBgNVHQ4EFgQUz5mp 6nsm9EvJjo/X8AUm7+PSp50wMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL2NybC52 ZXJpc2lnbi5jb20vcGNhMy5jcmwwDQYJKoZIhvcNAQEFBQADgYEArt0hHV+PgHrS Ugnq227SXYvowhtpBL5RpQEOWfo30XSj7tztiXQrYtWmv0+tNhdU8BPgo0XSTCbL 4m2iH9AeegcPtrN7b1Booukxs7eZfYBwoKfeCx6k//NNgRvdIMkcxK/P8Y/62dqV 8OzcXL/ojFo+erCj61lDdBHgmxpq828= -----END CERTIFICATE-----
- Execute:
create_drvpackages.cmd acmeusbaudio
If not using VeriSign certificate, click through certificate errors.
If using VeriSign certificate, an active internet connection is required.
Driver will be located in DriverPackages/acmeusbaudio/release.
Configuring the firmware
The following values must be customised in customdefines.h.
VENDOR_ID, PID_AUDIO_2, PID_AUDIO_1
Build a new binary and use XFLASH to copy it onto your board.
Power-cycle the board.
Additional info available on: http://www.xmos.com/usbaudio2
Notes
Before installing driver, uninstall any previously installed drivers (installer should take care of that, but this is just in case). USBDeview should not be necessary after that.
Windows Vista/7 Users:
- Launch setup.exe.
- Wait while driver “preinstalls”.
Window pops up prompting to plug in the device.
- Plug the device in.
- Wait, do not click OK.
Driver installs in background (see tray area for progress).
- Click OK to complete the install.
Strings
What |
Where to change |
|---|---|
Path to installer (c:\Program Files\VENDOR_NAME) |
VENDOR_NAME in set_vars.cmd |
Windows hardware popup window during installation |
INF_VID_PID_2_DESCRIPTION and INF_VID_PID_2_DESCRIPTION_KS in set_vars.cmd |
Control panel application |
VENDOR_STR in customdefines.h and string 2 of strDescs_Audio2 in descriptors_2.h |
Device Manager |
INF_VID_PID_2_DESCRIPTION and INF_VID_PID_2_DESCRIPTION_KS in set_vars.cmd |

