I'd appreciate you help testing this on Linux, particularly when it comes to volume control.flashed firmware file "awx_20170718_no_debug_volume.elf" on my good old AW AB-1.1 (the one with the "little-Sabre" ES9023 DAC):
# ./program-widget.sh awx_20170718_no_debug_volume.elf
program-widget with awx_20170718_no_debug_volume.elf
target: at32uc3a3256
chip_id: 0x2ff1
vendor_id: 0x03eb
command: erase
quiet: false
debug: 6
device_type: AVR32
------ command specific below ------
validate: true
target: at32uc3a3256
chip_id: 0x2ff1
vendor_id: 0x03eb
command: flash
quiet: false
debug: 6
device_type: AVR32
------ command specific below ------
validate: true
hex file: /tmp/awx_20170718_no_debug_volume.hex
Validating...
82030 bytes used (32.30%)
target: at32uc3a3256
chip_id: 0x2ff1
vendor_id: 0x03eb
command: reset
quiet: false
debug: 4
device_type: AVR32
------ command specific below ------
Tested on Linux (Debian 9.0 "Stretch", with KDE). Seems to be working fine.
In UAC1 mode ALSA reports support for 44.1K & 48K only: is that normal? (shouldn't UAC1 be able to support up to 96K, as other UAC1 DACs do?)
Kernel msgs while switching between UAC1->UAC2:
kernel: usb 1-2: new full-speed USB device number 21 using uhci_hcd
kernel: usb 1-2: New USB device found, idVendor=16d0, idProduct=075c
kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 1-2: Product: Henry Audio USB DAC 128 mkII
kernel: usb 1-2: Manufacturer: Audio-Widget
kernel: usb 1-2: SerialNumber: 2017071600BSB
kernel: input: Audio-Widget Henry Audio USB DAC 128 mkII as /devices/pci0000:00/0000:00:1a.0/usb1/1-2/1-2:1.1/0003:16D0:075C.0013/input/input32
kernel: hid-generic 0003:16D0:075C.0013: input,hidraw3: USB HID v1.11 Device [Audio-Widget Henry Audio USB DAC 128 mkII] on usb-0000:00:1a.0-2/input1
kernel: usb 1-2: USB disconnect, device number 21
acpid[521]: input device has been disconnected, fd 18
kernel: usb 7-2: new high-speed USB device number 25 using ehci-pci
kernel: usb 7-2: New USB device found, idVendor=16d0, idProduct=075d
kernel: usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 7-2: Product: Henry Audio USB DAC 128 mkII
kernel: usb 7-2: Manufacturer: Audio-Widget
kernel: usb 7-2: SerialNumber: 2017071600BSB
kernel: input: Audio-Widget Henry Audio USB DAC 128 mkII as /devices/pci0000:00/0000:00:1a.7/usb7/7-2/7-2:1.3/0003:16D0:075D.0014/input/input33
kernel: hid-generic 0003:16D0:075D.0014: input,hidraw3: USB HID v1.11 Device [Audio-Widget Henry Audio USB DAC 128 mkII] on usb-0000:00:1a.7-2/input3
In UAC2 mode, "lsusb" shows this:
Bus 007 Device 025: ID 16d0:075d MCS AB-1.x UAC2 [Audio Widget]
Results from "alsacap"; UAC1:
Card 1, ID `mkII', name `Henry Audio USB DAC 128 mkII'
Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
2 channels, sampling rate 44100..48000 Hz
Sample formats: S24_3LE
Subdevice 0, name `subdevice #0'
Results from "alsacap"; UAC2:
Card 1, ID `mkII', name `Henry Audio USB DAC 128 mkII'
Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
2 channels, sampling rate 44100..192000 Hz
Sample formats: S32_LE
Subdevice 0, name `subdevice #0'
BTW: "mkII" it's not so nice as the card name... maybe something like "AWG" or "HAAWG" would be better.
Volume control (see attached pictures):
in UAC2 mode from alsamixer it does not work: fader is shown, but
value can not be changed (and "Mute" does not work, either).
Oddly enough, in a previous test (before switching back and forth from UAC1 mode) the fader appeared as seto to 100%, and it was possible to change its settings... But! As soon as I touched it, sound output disappared and it took a reset (of the AW) to get it back. Tried another couple of time, but haven't been able to reproduce that situation (now it seems to always show up as in the above picture).
in UAC1 mode it works fine: changes done from alsamixer are sinchronized with other tools (KDE pulseaudio Vol. control). Don't know if volume control is done by ALSA or by the widget, though.
That's all... let me know if you need more.