@balaton It doesn't work on a real C-Media device when passed to QEMU PPC AOS4. The result is the same as with the -device usb-audio option. Someone with a real Pegasos II or AmigaOne needs to let us know if this driver works for them. I haven't tested it on QEMU Linux PPC.
bus: pci.1
type PCI
dev: pci-ohci, id ""
masterbus = ""
num-ports = 3 (0x3)
firstport = 0 (0x0)
addr = 06.0
romfile = ""
romsize = 4294967295 (0xffffffff)
rombar = 1 (0x1)
multifunction = false
x-pcie-lnksta-dllla = true
x-pcie-extcap-init = true
failover_pair_id = ""
acpi-index = 0 (0x0)
x-pcie-err-unc-mask = true
x-pcie-ari-nextfn-1 = false
class USB controller, addr 00:06.0, pci id 106b:003f (sub 1af4:1100)
bar 0: mem at 0x8428c000 [0x8428c0ff]
bus: usb-bus.2
type usb-bus
dev: usb-audio, id ""
audiodev = "audiodev0"
debug = 1 (0x1)
buffer = 512 (0x200)
multi = false
port = ""
serial = ""
msos-desc = true
pcap = ""
addr 2.2, port 1, speed 12, name QEMU USB Audio Interface, attached
Debug output from AOS4 (the label ‘usb-audio’ comes from the QEMU driver debug output)
[USB] INFO | "USB Fkt Init" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "USB Fkt Init" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
[USB] INFO | "USB Fkt Init" | "Init Fkt" | [fkt 0x6fdd7150] Fkt ("","","") initialized
usb-audio: control transaction: request 0x8006 value 0x0200 index 0x0000 length 0x0009
usb-audio: control transaction: request 0x8006 value 0x0200 index 0x0000 length 0x0071
usb-audio: control transaction: request 0x0009 value 0x0001 index 0x0000 length 0x0000
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "USB FD Starter" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "USB FD Starter" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
[USB] INFO | "USB FD Starter" | "Bind FD" | Trying FD "usbaudio.usbfd" v1.0 for Ifc 0x694A1880
[usbaudio.usbfd] USB Audio device attached, refreshing AHI modes
[USBAudio] libExpunge: OpenCnt=0
[USB] INFO | "USB FD Starter" | "Sys_EndInitialAttachmentPhase" | Initial USB Attachment Phase terminated
[USB] INFO | "USB FD Starter" | "Bind FD" | Trying FD "usbaudio.usbfd" v1.0 for Ifc 0x694A1740
[USB] INFO | "USB FD Starter" | "Bind FD" | FD "usbaudio.usbfd" did not support Ifc 0x694A1740
[USB] INFO | "USB FD Starter" | "Bind FD" | No driver found for fkt 0x6fdd7150/ifc 0x694a1740 {Class 0
....
USBAudio] AHIsub_AllocAudio: entry
[USBAudio] scan: waiting for USB stack full-boot...
[USBAudio] wait_fullboot: subscribed for STACKFULLBOOTED (0x6FE45530)
[USBAudio] wait_fullboot: timeout (stack already booted)
[USBAudio] scan: USB stack ready
[USBAudio] scan: opening libusb-1.library...
[USBAudio] scan: OpenLibrary returned 0x656AAD68
[USBAudio] libusb-1.library opened OK
[USBAudio] prefs: reading ENVARC:USBAudio.prefs
[USBAudio] prefs: added 46F4:0002 = "QEMU USB Audio"
[USBAudio] prefs: loaded 1 user device(s)
[USBAudio] scan_usb_audio_device: entry (scanned=0, num_devs=0)
[USBAudio] scan: calling libusb_get_device_list...
[libusb-1] ensure_usbsys_open: opening usbsys.device...
[libusb-1] ensure_usbsys_open: OpenDevice OK
[USBAudio] libusb_get_device_list: cnt=5, list=0x65CC5D88
[USBAudio] Device 0: VID=0x0000 PID=0x0000 Class=0x09
[USBAudio] Device 0: hub, skipping
[USBAudio] Device 1: VID=0x46F4 PID=0x0002 Class=0x00
[USBAudio] Ifc 0 Alt 0: Class=0x09 Sub=0x00 NumEP=1
[USBAudio] Ifc 0 Alt 0: Class=0x01 Sub=0x01 NumEP=0
[USBAudio] => Audio Control found! Ifc=0
[USBAudio] Ifc 0 Alt 0: Class=0x09 Sub=0x00 NumEP=1
[USBAudio] Ifc 0 Alt 0: Class=0x08 Sub=0x06 NumEP=2
[USBAudio] Ifc 0 Alt 0: Class=0x09 Sub=0x00 NumEP=1
[USBAudio] Ifc 1 Alt 0: Class=0x01 Sub=0x02 NumEP=0
[USBAudio] => Audio Streaming (playback) found! Ifc=1
[libusb1] libusb_open: rawIfc=0x694A1740 lad_Interface=0x654B7070 rawFunc=0x6FDD7150
usb-audio: control transaction: request 0x8006 value 0x0200 index 0x0000 length 0x0009
usb-audio: control transaction: request 0x8006 value 0x0200 index 0x0000 length 0x0071
[USBAudio] enumerate: config total_len=113 for 46F4:0002
[USBAudio] enumerate: best play so far: 2ch alt=1 ep=0x01 maxpkt=192
[USBAudio] enumerate: output #0 "Front" alt=1 ep=0x01 ch=2 offset=0 maxpkt=192
[USBAudio] enumerate: output FU ID=2 (USB Streaming)
[USBAudio] enumerate: 1 outputs, 0 inputs, default out=#0
[USBAudio] USB Audio device #0 found: "QEMU USB Audio"
[USBAudio] VID=0x46F4 PID=0x0002 Iface=1 Alt=1
[USBAudio] EP=0x01 MaxPkt=192 2ch/16bit
[USBAudio] Device 2: VID=0x0000 PID=0x0000 Class=0x09
[USBAudio] Device 2: hub, skipping
[USBAudio] Device 3: VID=0x46F4 PID=0x0001 Class=0x00
[USBAudio] Ifc 0 Alt 0: Class=0x09 Sub=0x00 NumEP=1
[USBAudio] Ifc 0 Alt 0: Class=0x01 Sub=0x01 NumEP=0
[USBAudio] => Audio Control found! Ifc=0
[USBAudio] Ifc 0 Alt 0: Class=0x09 Sub=0x00 NumEP=1
[USBAudio] Ifc 0 Alt 0: Class=0x08 Sub=0x06 NumEP=2
[USBAudio] Ifc 0 Alt 0: Class=0x09 Sub=0x00 NumEP=1
[USBAudio] Device 3: no Audio Streaming interface
[USBAudio] Device 4: VID=0x0000 PID=0x0000 Class=0x09
[USBAudio] Device 4: hub, skipping
[USBAudio] scan_usb_audio_device: 1 device(s) found, default="QEMU USB Audio"
[USBAudio] flat output #0: "Front"
[USBAudio] scan: 1 total outputs, 0 total inputs
[USBAudio] AHIsub_AllocAudio: OK, VID=0x46F4 PID=0x0002
[USBAudio] AHIsub_Start: Flags=0x00000001
[USBAudio] AHIsub_Stop: Flags=0x00000001
[libusb1] libusb_open: rawIfc=0x694A1740 lad_Interface=0x654B7070 rawFunc=0x6FDD7150
[USBAudio] Start: open_device VID=0x46F4 PID=0x0002 => handle=0x6718B6E8
[USBAudio] discover_usb_audio_details: entry
[USBAudio] discover: output mode #0: Ifc=1 Alt=1 EP=0x01 MaxPkt=192 Ch=2 Bits=16
[USBAudio] discover: Output FU ID=2 AC Ifc=0
[USBAudio] discover: querying output volume range...
usb-audio: control transaction: request 0xa182 value 0x0200 index 0x0200 length 0x0002
usb-audio: fail: get control
usb-audio: failed control transaction: request 0xa182 value 0x0200 index 0x0200 length 0x0002
usb-audio: control transaction: request 0x0201 value 0x0000 index 0x0000 length 0x0000
usb-audio: failed control transaction: request 0x0201 value 0x0000 index 0x0000 length 0x0000
[USBAudio] discover: GET_MIN volume failed (-9), disabling volume queries
[USBAudio] discover: no input Feature Unit, input gain not available
[USBAudio] Start: after discover => EP=0x01 Ifc=1 Alt=1 MaxPkt=192 Ch=2 Sub=2
[libusb1] claim_interface(1): rawIfc=0x694A1740 lad_Interface=0x654B7070
[libusb1] claim_interface: USBGetEndPoint(0x01) after claim(alt=0) => 0x00000000
[USBAudio] Start: claim_interface(1) => 0
[USBAudio] Start: calling set_alt_setting(1, 1)...
[libusb1] set_alt_setting(1,1): lad_Interface=0x654B7070 rawIfc=0x694A1740
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "Sound" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
usb-audio: control transaction: request 0x010b value 0x0001 index 0x0001 length 0x0000
usb-audio: set interface 1
[libusb1] set_alt_setting: USBIntSetAltSettingA stat=1
[libusb1] set_alt_setting: declaiming for re-claim...
[libusb1] set_alt_setting: rawIfc after SetAlt: ifc=1 alt=1 numEP=1
[libusb1] set_alt_setting: re-claim rawIfc=0x694A1740 => lad_Interface=0x654B7070
[libusb1] set_alt_setting: USBGetEndPoint(NULL, ifc, 0x01)=0x657EA7B0
[libusb1] set_alt_setting: FOUND EP OUT 0x00 => 0x6FF45910
[libusb1] set_alt_setting: FOUND EP OUT 0x01 => 0x657EA7B0
[libusb1] set_alt_setting: brute-force scan complete
[USBAudio] Start: set_alt_setting => 0
[USBAudio] Start: setting sample rate 11025 Hz on EP 0x01
usb-audio: control transaction: request 0x2201 value 0x0100 index 0x0001 length 0x0003
usb-audio: failed control transaction: request 0x2201 value 0x0100 index 0x0001 length 0x0003
usb-audio: control transaction: request 0x0201 value 0x0000 index 0x0000 length 0x0000
usb-audio: failed control transaction: request 0x0201 value 0x0000 index 0x0000 length 0x0000
[USBAudio] Start: SET_CUR sample rate failed: -9
[USBAudio] Start: waiting for slave to signal alive...
[USBAudio] PlaySlave: entry, AudioCtrl=0x656AA440
[USBAudio] PlaySlave: EP=0x01 MaxPkt=192 Channels=2 SubSz=2
[USBAudio] PlaySlave: got UsbEndPoint 0x657EA7B0 for EP 0x01
[USBAudio] PlaySlave: cachedFrames=2 maxXferSize=192 xfersPerFrame=1
[USBAudio] PlaySlave: frameSize=4 baseSamples=11 fracNum=25/1000 framesPerIOR=8 iorCount=2
[USBAudio] PlaySlave: allocated 2 IORequests (1536 bytes, 8 subXfers each)
[USBAudio] PlaySlave: first mix produced 880 bytes
[USBAudio] PlaySlave: all 2 IORequests launched
[USBAudio] Start: slave alive, playback running
[USBAudio] AHIsub_Start: OK
Isochronous transfer had error 0x8
[USBAudio] AHIsub_Stop: Flags=0x00000001
[USBAudio] PlaySlave: exiting (loops=200 xfer_errors=0)
[USBAudio] Stop: waiting 500ms for USB stack to settle...
[USBAudio] Stop: set_alt_setting(1, 0)...
[libusb1] set_alt_setting(1,0): lad_Interface=0x654B7070 rawIfc=0x694A1740
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "Sound" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
usb-audio: control transaction: request 0x010b value 0x0000 index 0x0001 length 0x0000
usb-audio: set interface 0
[libusb1] set_alt_setting: USBIntSetAltSettingA stat=1
[libusb1] set_alt_setting: declaiming for re-claim...
[libusb1] set_alt_setting: rawIfc after SetAlt: ifc=1 alt=0 numEP=0
[libusb1] set_alt_setting: re-claim rawIfc=0x694A1740 => lad_Interface=0x654B7070
[libusb1] set_alt_setting: USBGetEndPoint(NULL, ifc, 0x01)=0x00000000
[libusb1] set_alt_setting: FOUND EP OUT 0x00 => 0x6FF45910
[libusb1] set_alt_setting: brute-force scan complete
[USBAudio] Stop: release_interface(1)...
[USBAudio] Stop: closing device...
[USBAudio] Stop: device closed OK
[USBAudio] AHIsub_Stop: Flags=0x00000003
[USBAudio] Stop: stopping recording
[USBAudio] AHIsub_FreeAudio
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x80000073 Arg=0 Def=1
[USBAudio] GetAttr: Attr=0x8000006F Arg=0 Def=128
[USBAudio] GetAttr: Attr=0x80000088 Arg=0 Def=0
[USBAudio] GetAttr: Attr=0x8000008B Arg=0 Def=1
[USBAudio] GetAttr: Attr=0x80000082 Arg=0 Def=0
[USBAudio] GetAttr: Attr=0x80000083 Arg=0 Def=0
[USBAudio] GetAttr: Attr=0x80000084 Arg=0 Def=65536
[USBAudio] GetAttr: Attr=0x80000085 Arg=0 Def=65536
[USBAudio] GetAttr: Attr=0x80000086 Arg=0 Def=65536
[USBAudio] GetAttr: Attr=0x80000087 Arg=0 Def=65536
[USBAudio] GetAttr: Attr=0x8000007C Arg=48000 Def=0
[USBAudio] GetAttr: Attr=0x8000007D Arg=0 Def=0
[USBAudio] GetAttr: Attr=0x80000076 Arg=0 Def=1721506440
[USBAudio] GetAttr: Attr=0x80000077 Arg=0 Def=1721506440
[USBAudio] GetAttr: Attr=0x80000078 Arg=0 Def=1721506440
[USBAudio] GetAttr: Attr=0x80000072 Arg=0 Def=0
[USBAudio] GetAttr: Attr=0x80000081 Arg=0 Def=0
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x80000086 Arg=0 Def=65536
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x80000082 Arg=0 Def=0
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x80000084 Arg=0 Def=65536
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x80000075 Arg=1 Def=0
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x8000008A Arg=-1 Def=1766412296
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x8000008D Arg=0 Def=1766412296
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] GetAttr: Attr=0x8000006E Arg=0 Def=0
[USBAudio] libOpen: version=2, our VERSION=2
[USBAudio] libOpen: OK, OpenCnt=1
[USBAudio] AHIsub_AllocAudio: entry
[USBAudio] AHIsub_AllocAudio: OK, VID=0x46F4 PID=0x0002
[USBAudio] AHIsub_Start: Flags=0x00000001
[USBAudio] AHIsub_Stop: Flags=0x00000001
[libusb1] libusb_open: rawIfc=0x694A1740 lad_Interface=0x6FE43D60 rawFunc=0x6FDD7150
[USBAudio] Start: open_device VID=0x46F4 PID=0x0002 => handle=0x66599F98
[USBAudio] discover_usb_audio_details: entry
[USBAudio] discover: output mode #0: Ifc=1 Alt=1 EP=0x01 MaxPkt=192 Ch=2 Bits=16
[USBAudio] discover: Output FU ID=2 AC Ifc=0
[USBAudio] discover: skipping volume queries (previously failed)
[USBAudio] discover: no input Feature Unit, input gain not available
[USBAudio] Start: after discover => EP=0x01 Ifc=1 Alt=1 MaxPkt=192 Ch=2 Sub=2
[libusb1] claim_interface(1): rawIfc=0x694A1740 lad_Interface=0x6FE43D60
[libusb1] claim_interface: USBGetEndPoint(0x01) after claim(alt=0) => 0x00000000
[USBAudio] Start: claim_interface(1) => 0
[USBAudio] Start: calling set_alt_setting(1, 1)...
[libusb1] set_alt_setting(1,1): lad_Interface=0x6FE43D60 rawIfc=0x694A1740
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "Sound" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
usb-audio: control transaction: request 0x010b value 0x0001 index 0x0001 length 0x0000
usb-audio: set interface 1
[libusb1] set_alt_setting: USBIntSetAltSettingA stat=1
[libusb1] set_alt_setting: declaiming for re-claim...
[libusb1] set_alt_setting: rawIfc after SetAlt: ifc=1 alt=1 numEP=1
[libusb1] set_alt_setting: re-claim rawIfc=0x694A1740 => lad_Interface=0x6FE43D60
[libusb1] set_alt_setting: USBGetEndPoint(NULL, ifc, 0x01)=0x66264E90
[libusb1] set_alt_setting: FOUND EP OUT 0x00 => 0x6FF45910
[libusb1] set_alt_setting: FOUND EP OUT 0x01 => 0x66264E90
[libusb1] set_alt_setting: brute-force scan complete
[USBAudio] Start: set_alt_setting => 0
[USBAudio] Start: setting sample rate 11025 Hz on EP 0x01
usb-audio: control transaction: request 0x2201 value 0x0100 index 0x0001 length 0x0003
usb-audio: failed control transaction: request 0x2201 value 0x0100 index 0x0001 length 0x0003
usb-audio: control transaction: request 0x0201 value 0x0000 index 0x0000 length 0x0000
usb-audio: failed control transaction: request 0x0201 value 0x0000 index 0x0000 length 0x0000
[USBAudio] Start: SET_CUR sample rate failed: -9
[USBAudio] Start: waiting for slave to signal alive...
[USBAudio] PlaySlave: entry, AudioCtrl=0x69452580
[USBAudio] PlaySlave: EP=0x01 MaxPkt=192 Channels=2 SubSz=2
[USBAudio] PlaySlave: got UsbEndPoint 0x66264E90 for EP 0x01
[USBAudio] PlaySlave: cachedFrames=2 maxXferSize=192 xfersPerFrame=1
[USBAudio] PlaySlave: frameSize=4 baseSamples=11 fracNum=25/1000 framesPerIOR=8 iorCount=2
[USBAudio] PlaySlave: allocated 2 IORequests (1536 bytes, 8 subXfers each)
[USBAudio] PlaySlave: first mix produced 880 bytes
[USBAudio] PlaySlave: all 2 IORequests launched
[USBAudio] Start: slave alive, playback running
[USBAudio] AHIsub_Start: OK
[USBAudio] AHIsub_Stop: Flags=0x00000001
[USBAudio] PlaySlave: exiting (loops=190 xfer_errors=0)
[USBAudio] Stop: waiting 500ms for USB stack to settle...
[USBAudio] Stop: set_alt_setting(1, 0)...
[libusb1] set_alt_setting(1,0): lad_Interface=0x6FE43D60 rawIfc=0x694A1740
usb-audio: control transaction: request 0x8006 value 0x0300 index 0x0000 length 0x00ff
[USB] INFO | "Sound" | "SetFktLanguageID" | [fkt 0x6fdd7150] Fkt has no languages
usb-audio: control transaction: request 0x010b value 0x0000 index 0x0001 length 0x0000
usb-audio: set interface 0
[libusb1] set_alt_setting: USBIntSetAltSettingA stat=1
[libusb1] set_alt_setting: declaiming for re-claim...
[libusb1] set_alt_setting: rawIfc after SetAlt: ifc=1 alt=0 numEP=0
[libusb1] set_alt_setting: re-claim rawIfc=0x694A1740 => lad_Interface=0x6FE43D60
[libusb1] set_alt_setting: USBGetEndPoint(NULL, ifc, 0x01)=0x00000000
[libusb1] set_alt_setting: FOUND EP OUT 0x00 => 0x6FF45910
[libusb1] set_alt_setting: brute-force scan complete
[USBAudio] Stop: release_interface(1)...
[USBAudio] Stop: closing device...
[USBAudio] Stop: device closed OK
[USBAudio] AHIsub_Stop: Flags=0x00000003
[USBAudio] Stop: stopping recording
[USBAudio] AHIsub_FreeAudio
Something’s alive and kicking – it’s a bit of a nightmare, but I can see the driver is communicating with the USB audio and nothing’s freezing up. I don’t think I can hear any sound, though. It’s just an experiment, of course
EDIT4: I passed the “0d8c:000c C-Media Electronics” USB pass-through device to QEMU. On Linux, QEMU PPC works without any issues. On OS4, it doesn't work. The device has an LED that lights up when it's in use. There's no indication that it's working.
Edited by smarkusg on 2026/3/19 7:34:07 Edited by smarkusg on 2026/3/19 11:31:36 Edited by smarkusg on 2026/3/19 13:42:59 Edited by smarkusg on 2026/3/19 13:43:29 Edited by smarkusg on 2026/3/19 13:59:43 Edited by smarkusg on 2026/3/19 14:31:39 Edited by smarkusg on 2026/3/21 0:00:02
UsbAudio 2.3 and Rubix, AHI prefs lists few usbaudio modes at least, but trying to play something it doesn't make any audio output (AmigaAmp). Output and input sliders can't be moved in the prefs.
Also the driver spits so much debug info out that it slows down the whole system.
Rock lobster bit me - so I'm here forever X1000 + AmigaOS 4.1 FE "Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
I'm trying to configure a SoundBlaster Extigy. I get this in the USB log :
USB stack | New Fkt | Attached Fkt 0x67106e70 to hub Fkt 0x6ff90e60 on port 1 (HCD "ehci.usbhcd" unit 1, level 2)
hub.usbfd | HUB | Device on hub port 1 attached as fkt 0x67106e70 (ifc 0x6edaae50)
USB Fkt Init | Init Fkt | [fkt 0x67106e70] Fkt is {Vendor: 0x041E, Product: 0x3000, Class: 00.00}
USB Fkt Init | Init Fkt | [fkt 0x67106e70] Fkt ("Creative Technology Ltd.__","Sound Blaster Extigy__","") initialized
USB FD Starter | Bind FD | Trying FD "usbaudio.usbfd" v1.0 for Ifc 0x61D6A400
USB FD Starter | Bind FD | FD "usbaudio.usbfd" did not support Ifc 0x61D6A400
USB FD Starter | Bind FD | No driver found for fkt 0x67106e70/ifc 0x61d6a400 {Class 01.02}
USB FD Starter | Bind FD | Trying FD "usbaudio.usbfd" v1.0 for Ifc 0x61D6AA80
USB FD Starter | Bind FD | Trying FD "usbaudio.usbfd" v1.0 for Ifc 0x61D6A4C0
USB FD Starter | Bind FD | FD "usbaudio.usbfd" did not support Ifc 0x61D6A4C0
USB FD Starter | Bind FD | No driver found for fkt 0x67106e70/ifc 0x61d6a4c0 {Class 01.02}
USB FD Starter | Bind FD | Trying FD "usbaudio.usbfd" v1.0 for Ifc 0x61D6A580
USB FD Starter | Bind FD | FD "usbaudio.usbfd" did not support Ifc 0x61D6A580
USB FD Starter | Bind FD | No driver found for fkt 0x67106e70/ifc 0x61d6a580 {Class 01.02}
Testing on my Sam460LE with driver's version 2.3 and the CSL card you've suggested in your post #2.
So far so good, the device is recognized by the OS on the fly, I can select one of the new modes. Played some games (Quake 2, Starfall Defenders and UBEK) and had a proper sound in all of these. Watching videos with Emotion worked good as well.
What didn't work quite well was playing music with AmigaAMP. It gets sound glitches from time to time, and if there's a concurrent operation happening in the OS like resizing Filer's or MultiViewer's window, the sound gets terribly sliced while window keeps getting rerendered.
Two more observations, that are not problems by themselves, but probably worth mentioning: * the test sound in Sound Prefs is rather weird * there is also weird sound playing for a while in the exact moment the AmigaOS 4.1 splash screen appears during OS loading.
Thank you for your reports. I can work on the drivers (and all other stuff i'm working on) in a few weeks. Unfortunately my real work is filling up all my free time..
Open Prefs/AHI Select "Music Unit" , then select the new USB Audio driver Select "Unit 0", then select the new USB Audio Driver Select "Unit 1", then select the new USB Audio Driver Select "Unit 2", then select the new USB Audio Driver Select "Unit 3", then select the new USB Audio Driver Select "Save"
I never cared for the GUI design of AHI Prefs. I think having tabs for each unit would be more visually clear.
- I can confirm, I am getting audio output from my external USB speaker but with problems.
- I am not sure why TuneNet internet radio is not able to playback any audio output at all?
- I checked TuneNet settings, i tried setting the AHI audio 0, 1, 2, 3, or AHI user mode and specifying it to USB mono driver, there still no sound output?
- Aall internet radio stations, no sound playback at all?
- It can't be all of the stations are offline or is it?
- After rebooting the system.
- It seem to lock up my system entirely when playing the startup chime.
- If I leave the system alone for an extended period of time, say 10 mins.
- I get a response from the system, the mouse pointer moves, I can use the system.
- Or sometimes, after 10 mins, I have to reboot the system to get nromal operation again.
- After reboot, the audio output seem to go very quiet, I could hear something coming from the external USB speaker but very faintly.
- I tried adusting the USB mono driver volume in AHI prefs to maximum.
- I also notice in Sound prefs, it USB mono driver volume is set at the middle, so I push that volume to max.
- Each time I play a test sound either on AHI Prefs or Sound Prefs, the audio output can be still quite low sound output even at already set to maximum.
- Sometimes adjusting sound volume can also lock up my system, forcing another reboot.
- Despite all of this.
- If I power down the system, start again, setting AHI Prefs, 0,1,2, etc, set to maximum volume, including sound prefs and another reboot.
- I am getting a clear loud sound output when system boots into the Amiga OS 4.1 startup chime but I still have the problem of complete system lock up.
- To encourage continued development of the USB audio driver, I will contribute a donation soon and I look forward to future updates and enhancements to audio USB driver.
- It seems we heading on the right way, If you need debug logs, let me know how to gather them for you, I will provide them for you.
- If you have any other suggestions, please let me know, any advice and feedback is appreciated.
@boabster I am not the author, but I THINK this new USB auidio driver is for Audio Class 1 devices only.
In past projects of my own, I had a lot of trouble explaining that Audio Class 1 and Audio Class 2 are not compatible.
So I recenly wrote "AudioClassID", to at least make it easy to TELL which is which. When you run it with no other arguments, the last line of each interface says "USB Audio Class Compliance: " followed by 01.xx or 02.xx
Since I'm digging into details, here's the back story: Audio was the very first USB Class. When the Audio class was laid out, there were a few details that were not defined properly. So manufactuirers each decided how to fill in the blanks. This made the driver more complicated, and the worst part is that the "fancy" bits have no documentation.
Eventually they decided to re-design the standard. Part of the changes meant changing descriptors, structures, and sometimes even used the same names for changed parts. At least it's all documented now, but there's a LOT of class 1 devices already out in the wild.
So the driver has to check this "Class Compatibility" when they attach to a new device. The Class 2 drivers know to check. Older Class 1 drivers were not expecting a redesign, so they are often unaware of the need to check this.
And that's probably way more than you wanted to know. I THINK he said this driver is for class 1 devices only. I also recall you said your device said class 2. I think you might find the problem with that mismatch.
I do have a class 2 driver in the works, but like many of my projects it's not been worked on in a while, and I don't plan on connecting it to AHI. Most likely it will go directly to AudioLink.library instead. (AudioLink is another unfinished project, I have a lot of those)
Again, too much information, but it'll give the people just browsing something to read today.
Open Prefs/AHI Select "Music Unit" , then select the new USB Audio driver Select "Unit 0", then select the new USB Audio Driver Select "Unit 1", then select the new USB Audio Driver Select "Unit 2", then select the new USB Audio Driver Select "Unit 3", then select the new USB Audio Driver Select "Save"
I think this came up before and then those who understand it said only the Unit 0-4 should be set to the audio driver and the Music Unit should stay audio device (or whatever it was originally) because that's how multiple audio streams are supported by software mixing or something like that. Not that this would fix a non-working driver but that should be the correct way to configure this in my understanding.