??? ???? ????
Login |
  • Why Register?
  • Download development tools
  • Create and track support tickets
  • Subscribe to resource updates
  • Access latest developer news
Register

Configuring the Thesycon Windows Driver for USB Audio

Development Tools:

This document explains how to configure the Thesycon Production driver for use with the XMOS USB Audio 2.0 Reference Designs.

Prerequisites

Configuring the driver

  1. Go to the folder CustomizationKit/DriverPackageBuilder in the installation tree of the Thesycon driver.
  2. Clone XMOS_EVAL_KITS into acmeusbaudio.
  3. 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.
  4. 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}!_SetupClass
    

    to

    Class=!{SETUP_CLASS_GEN}!
    
  5. 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 StartRun

      Windows XP Users

      • Select FileAdd/Remove Snap-in.
      • 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 CertificatesCurrent User under Console Root in left pane.
      • Expand Intermediate Certification Authorities and Certificates.

      Windows Vista/7 Users

      • Select FileAdd/Remove Snap-in.
      • Select Certificates in left-hand pane.
      • Click Add.
      • Click Finish (use default options).
      • Click OK to go back to the main window.
      • Expand CertificatesCurrent User 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 ActionAll TasksImport.
      • 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-----
    
  6. 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:

  1. Launch setup.exe.
  2. Wait while driver “preinstalls”.

    Window pops up prompting to plug in the device.

  3. Plug the device in.
  4. Wait, do not click OK.

    Driver installs in background (see tray area for progress).

  5. 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

References on VeriSign certificates

Version History

Version Released Formats Supported Tools Comment
X2719B March 22, 2012 download view N/A
X2719A December 15, 2011 download view N/A