MrK  
                
               
                 
              
                  
                    July 6, 2025,  6:13pm
                   
                   
              1 
               
             
            
              Hope I’m posting to the correct section.
I installed the beta patcher and flashed the usb audio firmware onto one of my legacy axolotis. I’d like to use it with a zynthian I made diy (not the official build but that shouldn’t matter).
I’m not very good with the Linux terminal commands and am assuming that I will need to install the udev file, but don’t know how. The chmod command doesn’t work, I assume because I don’t have the patcher installed on the zynthian?
If anyone is familiar with Zynthian I would very much appreciate any ideas/help. It would be awesome to get the two working together.
             
            
               
               
               
            
            
           
          
            
            
              usb audio is currently not stable yet
             
            
               
               
               
            
            
           
          
            
            
              USB Audio in 1.1 should be fine as far as I am aware. (@ksoloti  is all the new code in there now?)
if you type aplay -l what do you get?
             
            
               
               
               
            
            
           
          
            
            
              I’m not sure if you need to do the udev thing just for USB audio to be available. The USB soundcard part usually doesn’t need any additional permisisons?
You’re planning to run the Patcher on a Mac or PC and program your Axoloti there, then set your patch (with USB audio objects patched up) as startup and connect Axo to your Zynthian?
The Zynthian is just a Raspberry Pi (at least it was back then) so you’d have to create a startup script there which would connect Zynthian’s I/O to Axoloti USB audio I/O. Zynthian possibly uses jackd to make audio and MIDI connections - does Zynthian have some shield with an audio codec on it?
             
            
               
               
               
            
            
           
          
            
              
                MrK  
                
               
              
                  
                    July 8, 2025,  3:23pm
                   
                   
              5 
               
             
            
              Yes on planning to patch on another device and then use the axoloti with the zynthian.
The zynthian sees the axoloti because every time I turn it on with the axoloti plugged in, it won’t start up, instead giving an audio/usb error, I believe it also says “no PID” or something like that.
When I plug the axoloti in after turning on, it shows up with lusb. I can’t try aplay -1 at the moment because my zynthian is currently helping some pieces keep their form while the wheat paste dries on a synth stand I’m building. My guess is that aplay -1 wouldn’t work because when I plug it in and try to use it as a usb hotplug device it doesn’t show up even though it’s there when I type lusb in the terminal.
And Zynthian does use jackd.
             
            
               
               
               
            
            
           
          
            
            
              If the aplay -l is not working try lsusb -v and paste the text for the axoloti here.
Also I’m not sure anyone has actually ever tested the USB Audio on an axoloti before!
             
            
               
               
               
            
            
           
          
            
            
              
Actually I have :D. It seemed to work exactly the same like on Ksoloti.
             
            
               
               
               
            
            
           
          
            
              
                MrK  
                
               
                 
              
                  
                    July 9, 2025,  8:54am
                   
                   
              9 
               
             
            
              So this is what came up with play -l 
             
            
               
               
               
            
            
           
          
            
              
                MrK  
                
               
              
                  
                    July 9, 2025,  9:01am
                   
                   
              10 
               
             
            
              And here is what came up for lsusb -v
Bus 001 Device 005: ID 16c0:0447 Van Ooijen Technische Informatica Axoloti Core 
Device Descriptor: 
bLength                18 
bDescriptorType         1 
bcdUSB               2.00 
bDeviceClass          239 Miscellaneous Device 
bDeviceSubClass         2 
bDeviceProtocol         1 Interface Association 
bMaxPacketSize0        64 
idVendor           0x16c0 Van Ooijen Technische Informatica 
idProduct          0x0447 
bcdDevice            2.00 
iManufacturer           1 Axoloti 
iProduct                5 Axoloti Core 
iSerial                 3 003200293337510E39383937 
bNumConfigurations      1 
Configuration Descriptor: 
bLength                 9 
bDescriptorType         2 
wTotalLength       0x0156 
bNumInterfaces          5 
bConfigurationValue     1 
iConfiguration          5 Axoloti Core 
bmAttributes         0xc0 
Self Powered 
MaxPower              100mA 
Interface Association: 
bLength                 8 
bDescriptorType        11 
bFirstInterface         0 
bInterfaceCount         4 
bFunctionClass          1 Audio 
bFunctionSubClass       0 
bFunctionProtocol      32 
iFunction               0 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        0 
bAlternateSetting       0 
bNumEndpoints           0 
bInterfaceClass         1 Audio 
bInterfaceSubClass      1 Control Device 
bInterfaceProtocol     32 
iInterface              0 
AudioControl Interface Descriptor: 
bLength                 9 
bDescriptorType        36 
bDescriptorSubtype      1 (HEADER) 
bcdADC               2.00 
bCategory               4 
wTotalLength       0x005d 
bmControls           0x00 
AudioControl Interface Descriptor: 
bLength                 8 
bDescriptorType        36 
bDescriptorSubtype     10 (CLOCK_SOURCE) 
bClockID                4 
bmAttributes            3 Internal programmable clock 
bmControls           0x07 
Clock Frequency Control (read/write) 
Clock Validity Control (read-only) 
bAssocTerminal          0 
iClockSource            0 
AudioControl Interface Descriptor: 
bLength                17 
bDescriptorType        36 
bDescriptorSubtype      2 (INPUT_TERMINAL) 
bTerminalID             1 
wTerminalType      0x0101 USB Streaming 
bAssocTerminal          0 
bCSourceID              4 
bNrChannels             2 
bmChannelConfig    0x00000000 
iChannelNames           0 
bmControls         0x0000 
iTerminal               0 
AudioControl Interface Descriptor: 
bLength                26 
bDescriptorType        36 
bDescriptorSubtype      6 (FEATURE_UNIT) 
bUnitID                 2 
bSourceID               1 
bmaControls(0)     0x0000000f 
Mute Control (read/write) 
Volume Control (read/write) 
bmaControls(1)     0x0000000f 
Mute Control (read/write) 
Volume Control (read/write) 
bmaControls(2)     0x0000000f 
Mute Control (read/write) 
Volume Control (read/write) 
bmaControls(3)     0x0000000f 
Mute Control (read/write) 
Volume Control (read/write) 
bmaControls(4)     0x0000000f 
Mute Control (read/write) 
Volume Control (read/write) 
iFeature                0 
AudioControl Interface Descriptor: 
bLength                12 
bDescriptorType        36 
bDescriptorSubtype      3 (OUTPUT_TERMINAL) 
bTerminalID             3 
wTerminalType      0x0302 Headphones 
bAssocTerminal          0 
bSourceID               2 
bCSourceID              4 
bmControls         0x0000 
iTerminal               0 
AudioControl Interface Descriptor: 
bLength                17 
bDescriptorType        36 
bDescriptorSubtype      2 (INPUT_TERMINAL) 
bTerminalID            17 
wTerminalType      0x0201 Microphone 
bAssocTerminal          0 
bCSourceID              4 
bNrChannels             2 
bmChannelConfig    0x00000000 
iChannelNames           0 
bmControls         0x0000 
iTerminal               0 
AudioControl Interface Descriptor: 
bLength                12 
bDescriptorType        36 
bDescriptorSubtype      3 (OUTPUT_TERMINAL) 
bTerminalID            19 
wTerminalType      0x0101 USB Streaming 
bAssocTerminal          0 
bSourceID              17 
bCSourceID              4 
bmControls         0x0000 
iTerminal               0 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        1 
bAlternateSetting       0 
bNumEndpoints           0 
bInterfaceClass         1 Audio 
bInterfaceSubClass      2 Streaming 
bInterfaceProtocol     32 
iInterface              0 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        1 
bAlternateSetting       1 
bNumEndpoints           1 
bInterfaceClass         1 Audio 
bInterfaceSubClass      2 Streaming 
bInterfaceProtocol     32 
iInterface              0 
AudioStreaming Interface Descriptor: 
bLength                16 
bDescriptorType        36 
bDescriptorSubtype      1 (AS_GENERAL) 
bTerminalLink           1 
bmControls           0x00 
bFormatType             1 
bmFormats          0x00000001 
PCM 
bNrChannels             4 
bmChannelConfig    0x00000000 
iChannelNames           0 
AudioStreaming Interface Descriptor: 
bLength                 6 
bDescriptorType        36 
bDescriptorSubtype      2 (FORMAT_TYPE) 
bFormatType             1 (FORMAT_TYPE_I) 
bSubslotSize            2 
bBitResolution         16 
Endpoint Descriptor: 
bLength                 7 
bDescriptorType         5 
bEndpointAddress     0x03  EP 3 OUT 
bmAttributes            9 
Transfer Type            Isochronous 
Synch Type               Adaptive 
Usage Type               Data 
wMaxPacketSize     0x0188  1x 392 bytes 
bInterval               1 
AudioStreaming Endpoint Descriptor: 
bLength                 8 
bDescriptorType        37 
bDescriptorSubtype      1 (EP_GENERAL) 
bmAttributes         0x00 
bmControls           0x00 
bLockDelayUnits         1 Milliseconds 
wLockDelay         0x0001 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        2 
bAlternateSetting       0 
bNumEndpoints           0 
bInterfaceClass         1 Audio 
bInterfaceSubClass      2 Streaming 
bInterfaceProtocol     32 
iInterface              0 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        2 
bAlternateSetting       1 
bNumEndpoints           1 
bInterfaceClass         1 Audio 
bInterfaceSubClass      2 Streaming 
bInterfaceProtocol     32 
iInterface              0 
AudioStreaming Interface Descriptor: 
bLength                16 
bDescriptorType        36 
bDescriptorSubtype      1 (AS_GENERAL) 
bTerminalLink          19 
bmControls           0x00 
bFormatType             1 
bmFormats          0x00000001 
PCM 
bNrChannels             4 
bmChannelConfig    0x00000000 
iChannelNames           0 
AudioStreaming Interface Descriptor: 
bLength                 6 
bDescriptorType        36 
bDescriptorSubtype      2 (FORMAT_TYPE) 
bFormatType             1 (FORMAT_TYPE_I) 
bSubslotSize            2 
bBitResolution         16 
Endpoint Descriptor: 
bLength                 7 
bDescriptorType         5 
bEndpointAddress     0x83  EP 3 IN 
bmAttributes            5 
Transfer Type            Isochronous 
Synch Type               Asynchronous 
Usage Type               Data 
wMaxPacketSize     0x0188  1x 392 bytes 
bInterval               1 
AudioStreaming Endpoint Descriptor: 
bLength                 8 
bDescriptorType        37 
bDescriptorSubtype      1 (EP_GENERAL) 
bmAttributes         0x00 
bmControls           0x00 
bLockDelayUnits         0 Undefined 
wLockDelay         0x0000 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        3 
bAlternateSetting       0 
bNumEndpoints           2 
bInterfaceClass         1 Audio 
bInterfaceSubClass      3 MIDI Streaming 
bInterfaceProtocol      0 
iInterface              0 
MIDIStreaming Interface Descriptor: 
bLength                 7 
bDescriptorType        36 
bDescriptorSubtype      1 (HEADER) 
bcdADC               1.00 
wTotalLength       0x0041 
MIDIStreaming Interface Descriptor: 
bLength                 6 
bDescriptorType        36 
bDescriptorSubtype      2 (MIDI_IN_JACK) 
bJackType               1 Embedded 
bJackID                 1 
iJack                   5 Axoloti Core 
MIDIStreaming Interface Descriptor: 
bLength                 6 
bDescriptorType        36 
bDescriptorSubtype      2 (MIDI_IN_JACK) 
bJackType               2 External 
bJackID                 2 
iJack                   6 Axoloti MIDI 
MIDIStreaming Interface Descriptor: 
bLength                 9 
bDescriptorType        36 
bDescriptorSubtype      3 (MIDI_OUT_JACK) 
bJackType               1 Embedded 
bJackID                 3 
bNrInputPins            1 
baSourceID( 0)          2 
BaSourcePin( 0)         1 
iJack                   6 Axoloti MIDI 
MIDIStreaming Interface Descriptor: 
bLength                 9 
bDescriptorType        36 
bDescriptorSubtype      3 (MIDI_OUT_JACK) 
bJackType               2 External 
bJackID                 4 
bNrInputPins            1 
baSourceID( 0)          1 
BaSourcePin( 0)         1 
iJack                   2 ChibiOS/RT Virtual COM Port 
Endpoint Descriptor: 
bLength                 9 
bDescriptorType         5 
bEndpointAddress     0x01  EP 1 OUT 
bmAttributes            2 
Transfer Type            Bulk 
Synch Type               None 
Usage Type               Data 
wMaxPacketSize     0x0040  1x 64 bytes 
bInterval               0 
bRefresh                0 
bSynchAddress           0 
MIDIStreaming Endpoint Descriptor: 
bLength                 5 
bDescriptorType        37 
bDescriptorSubtype      1 (GENERAL) 
bNumEmbMIDIJack         1 
baAssocJackID( 0)       1 
Endpoint Descriptor: 
bLength                 9 
bDescriptorType         5 
bEndpointAddress     0x81  EP 1 IN 
bmAttributes            2 
Transfer Type            Bulk 
Synch Type               None 
Usage Type               Data 
wMaxPacketSize     0x0040  1x 64 bytes 
bInterval               0 
bRefresh                0 
bSynchAddress           0 
MIDIStreaming Endpoint Descriptor: 
bLength                 5 
bDescriptorType        37 
bDescriptorSubtype      1 (GENERAL) 
bNumEmbMIDIJack         1 
baAssocJackID( 0)       3 
Interface Association: 
bLength                 8 
bDescriptorType        11 
bFirstInterface         4 
bInterfaceCount         1 
bFunctionClass        255 Vendor Specific Class 
bFunctionSubClass       0 
bFunctionProtocol       0 
iFunction               4 Axoloti Bulk Interface 
Interface Descriptor: 
bLength                 9 
bDescriptorType         4 
bInterfaceNumber        4 
bAlternateSetting       0 
bNumEndpoints           2 
bInterfaceClass       255 Vendor Specific Class 
bInterfaceSubClass      0 
bInterfaceProtocol      0 
iInterface              4 Axoloti Bulk Interface 
Endpoint Descriptor: 
bLength                 7 
bDescriptorType         5 
bEndpointAddress     0x02  EP 2 OUT 
bmAttributes            2 
Transfer Type            Bulk 
Synch Type               None 
Usage Type               Data 
wMaxPacketSize     0x0040  1x 64 bytes 
bInterval               0 
Endpoint Descriptor: 
bLength                 7 
bDescriptorType         5 
bEndpointAddress     0x82  EP 2 IN 
bmAttributes            2 
Transfer Type            Bulk 
Synch Type               None 
Usage Type               Data 
wMaxPacketSize     0x0040  1x 64 bytes 
bInterval               0 
Device Status:     0x0000 
(Bus Powered)
             
            
               
               
               
            
            
           
          
            
            
              How does Zynthian configure its audio? jack/qjacktcl? alsa?
             
            
               
               
               
            
            
           
          
            
              
                MrK  
                
               
              
                  
                    July 9, 2025,  6:25pm
                   
                   
              12 
               
             
            
              I believe it’s alsa. At least in the past I’ve used alsa mixer to adjust levels.
             
            
               
               
               
            
            
           
          
            
            
              As aplay -l can see the axoloti it looks like at the ALSA level it is fine, is there a setup screen in Zynthion where you set what audio interface you want to use?
             
            
               
               
               
            
            
           
          
            
            
              What version Zynthian do you even have, there are like 6-7 out there now
It looks like here’s some DAC config stuff
             
            
               
               
               
            
            
           
          
            
              
                MrK  
                
               
              
                  
                    July 11, 2025,  3:09pm
                   
                   
              16 
               
             
            
              Thanks to you both for your help! I haven’t done a full scale test on it yet, but it seems to work just fine!
I’m pretty excited to start expermimenting with what these two can do together (if only saving me some cable connections).
             
            
               
               
              1 Like