[Linux] USB issue when powering on unit

AlbertA

Fractal Fanatic
It seems the Axe-Fx 3 errors out when trying to respond to USB control messages while its booting up, for example to query the current clock selector value (UAC2_CS_CUR)

In Linux, I'm seeing a protocol error messages returned by the driver, during the time the Axe-FX 3 boots up.

If I instead disconnect the USB cable, boot up the Axe-Fx 3 then connect the USB cable, it responds to USB messages just fine.

@FractalAudio, would it be possible to have USB enumerate after the Axe-Fx 3 boots up completely?
 
I am not sure if this is related, but I have found that I had issues with USB if I transitioned the Axe FX III while switched on between computers. Often either the device would not be recognized, or I could record but could not hear audio played back from the computer.

In some testing it seemed that powering on the Axe FX III *after* the computer is powered on seemed to rectify these issues.
 
I always had a similar problem with the AX8. I had the wait for the unit to fully power on before I could connect it to the computer, otherwise Fractal-Bot wouldn't see it. I've just followed the same protocol these days with the II and the III, but I can see where that would be a nuisance for anyone who keeps the unit connected to the computer. I'll have to experiment later and see if only certain combinations of power cycles and connections work. FWIW - I'm on a Mac.
 
I've just followed the same protocol these days with the II and the III, but I can see where that would be a nuisance for anyone who keeps the unit connected to the computer. I'll have to experiment later and see if only certain combinations of power cycles and connections work. FWIW - I'm on a Mac.

Ideally if FAS can ensure the Axe FX III is recognized if it is either (a) powered on or off, or (b) already powered on before the computer, I suspect this will resolve some support issues. Also, having to switch off the Axe FX III before you boot a computer is a bit of a pain as it requires switching off studio monitors and potentially other gear first.
 
It seems the Axe-Fx 3 errors out when trying to respond to USB control messages while its booting up, for example to query the current clock selector value (UAC2_CS_CUR)

In Linux, I'm seeing a protocol error messages returned by the driver, during the time the Axe-FX 3 boots up.

If I instead disconnect the USB cable, boot up the Axe-Fx 3 then connect the USB cable, it responds to USB messages just fine.

@FractalAudio, would it be possible to have USB enumerate after the Axe-Fx 3 boots up completely?

The USB is independent of the DSP boot. The USB boots instantly on power on. Sounds like a problem in the Linux driver.
 
The USB is independent of the DSP boot. The USB boots instantly on power on. Sounds like a problem in the Linux driver.

Yes the Axe-Fx 3 enumerates immediately. But when the loading bar is on the screen plugging the USB cable during this time results in protocol errors from the driver as it attempts to send usb control messages. Leaving the cable in and turning on the Axe-Fx results in the same issues. Nothing like that happens after the loading bar disappears, so it seems correlated.
 
Yes the Axe-Fx 3 enumerates immediately. But when the loading bar is on the screen plugging the USB cable during this time results in protocol errors from the driver as it attempts to send usb control messages. Leaving the cable in and turning on the Axe-Fx results in the same issues. Nothing like that happens after the loading bar disappears, so it seems correlated.

I'll have the engineer look at it but we don't support Linux nor do we have Linux machine available so I can't guarantee anything.
 
I always had a similar problem with the AX8. I had the wait for the unit to fully power on before I could connect it to the computer, otherwise Fractal-Bot wouldn't see it. I've just followed the same protocol these days with the II and the III, but I can see where that would be a nuisance for anyone who keeps the unit connected to the computer. I'll have to experiment later and see if only certain combinations of power cycles and connections work. FWIW - I'm on a Mac.
I have not had this issue with the III but had it with AX8 randomly. When I used a different USB cable and changed the port on my Mac it never happened again...so odd.
 
@AlbertA
What kernel version are you running? For kernel 4.16 there has been a fix for UAC2 get_ctl requests with a range attribute. Don't know this affects the issue and sadly don't have the time ATM to have a deeper look into it ... and no Axe-Fx III for quick test as still being on the wait list.

It didn't help.

I start seeing issues during parse_audio_format_rates_v2, which returns -EPROTO (
"parse_audio_format_rates_v2(): unable to find clock source (clock -71)" ) and a bunch of "usb_set_interface failed (-71)").

They are just calling usb_control_msg, which is the one that returns -EPROTO, so it seems something went wrong deeper in the usb core logic rather than in snd-usb-audio.
 
Back
Top Bottom