Pioneer DJ DDJ-SR2 sound degradation
Hi everyone,
I'm running stable kernel 5.11.6 together with my Pioneer DJ DDJ-SR2 and JACK. Mixxx is running on top of JACK.
After I start JACK I have about 40 minutes of good sound quality from the inputs. After this period the sound will begin to degrade slowly until it is almost pure distortion.
The issue is gone if I restart the JACK server, no need to reboot the hardware. The description I gave above sounds a lot like soundcard clock drift (which happens to those using more than one soundcard. You know) which motivates me to believe we missed a bug somewhere around the recent changes introduced in implicit feedback sync for Pioneer devices
Dyndbg shows nothing useful I guess. No xruns reported.
I've recorded a 1KHz tone and after 50+ minutes the sound degradation kicks in. Only problem is even after cutting and encoding to mp3 128kbps it's still a 10 megabytes file. I suppose I could post it to Soundcloud or Mixcloud if anyone is interested.
Is anyone else experiencing these symptoms with Pioneer hardware? Note that the sound degradation kicks in after about an hour, more or less, and it's for the inputs only. Outputs continue to operate fine without the need to restart the JACK server every hour.
Thanks everybody, Geraldo
Until we manage to engage implicit feedback sync for Pioneer gear I'm afraid the clock will drift on DUPLEX mode.
I reread the Pioneer related source code and implicit feedback sync was disabled because it gave Incompatible EP Setup messages. I should know, I was a reporter on that regression.
Only those messages are fake. They arise because our ALSA code it's not honoring .ep_attr on quirks-table.h specifically in regards to USB_ENDPOINT_USAGE_IMPLICIT_FB.
In fact the new improved implicit feedback sync code inside pcm.c that sets sync upon probe is failing to set implicit_fb to 1. I commented the conditional for testing and I told endpoint_compatible to always return true.
VoilĂ , JACK started in duplex mode without nasty Incompatible EP Setup problems and supposedly with implicit feedback sync on. We are not setting bits 5..7 of bmAttributes, at least that's what I get from the missing Usage field in lsusb.
My JACK transport has been rolling for 17 minutes and if it goes for two complete hours without distortion passing-thru vinyl on Mixxxx I'll provide the list with a more elegant PATCH and not this gambiarra as we say on Brazil.
Hopefully their will be implicit feedback sync for Pioneer :-)
On Thu, Mar 18, 2021 at 7:41 PM Geraldo geraldogabriel@gmail.com wrote:
Hi everyone,
I'm running stable kernel 5.11.6 together with my Pioneer DJ DDJ-SR2 and
JACK. Mixxx is running on top of JACK.
After I start JACK I have about 40 minutes of good sound quality from the
inputs. After this period the sound will begin to degrade slowly until it is almost pure distortion.
The issue is gone if I restart the JACK server, no need to reboot the
hardware. The description I gave above sounds a lot like soundcard clock drift (which happens to those using more than one soundcard. You know) which motivates me to believe we missed a bug somewhere around the recent changes introduced in implicit feedback sync for Pioneer devices
Dyndbg shows nothing useful I guess. No xruns reported.
I've recorded a 1KHz tone and after 50+ minutes the sound degradation
kicks in. Only problem is even after cutting and encoding to mp3 128kbps it's still a 10 megabytes file. I suppose I could post it to Soundcloud or Mixcloud if anyone is interested.
Is anyone else experiencing these symptoms with Pioneer hardware? Note
that the sound degradation kicks in after about an hour, more or less, and it's for the inputs only. Outputs continue to operate fine without the need to restart the JACK server every hour.
Thanks everybody, Geraldo
On Sun, 21 Mar 2021 05:31:11 +0100, Geraldo wrote:
Until we manage to engage implicit feedback sync for Pioneer gear I'm afraid the clock will drift on DUPLEX mode.
I reread the Pioneer related source code and implicit feedback sync was disabled because it gave Incompatible EP Setup messages. I should know, I was a reporter on that regression.
Only those messages are fake. They arise because our ALSA code it's not honoring .ep_attr on quirks-table.h specifically in regards to USB_ENDPOINT_USAGE_IMPLICIT_FB.
That's right. The parser reads from the original descriptor, not the one from the quirk table. That is, the implicit fb quirk has to be declared explicitly in another quirk table. And, the implicit fb is skipped for those devices because they didn't work; see sound/usb/implicit.c.
In fact the new improved implicit feedback sync code inside pcm.c that sets sync upon probe is failing to set implicit_fb to 1. I commented the conditional for testing and I told endpoint_compatible to always return true.
VoilĂ , JACK started in duplex mode without nasty Incompatible EP Setup problems and supposedly with implicit feedback sync on. We are not setting bits 5..7 of bmAttributes, at least that's what I get from the missing Usage field in lsusb.
My JACK transport has been rolling for 17 minutes and if it goes for two complete hours without distortion passing-thru vinyl on Mixxxx I'll provide the list with a more elegant PATCH and not this gambiarra as we say on Brazil.
Hopefully their will be implicit feedback sync for Pioneer :-)
I know there are quite a few users with Pioneer devices around here, so let's hope that they can test the implicit feedback things and find the culprit of the buggy behavior. Unfortunately it's quite hard to debug such a thing remotely without the hardware from my side.
Takashi
On Thu, Mar 18, 2021 at 7:41 PM Geraldo geraldogabriel@gmail.com wrote:
Hi everyone,
I'm running stable kernel 5.11.6 together with my Pioneer DJ DDJ-SR2 and
JACK. Mixxx is running on top of JACK.
After I start JACK I have about 40 minutes of good sound quality from the
inputs. After this period the sound will begin to degrade slowly until it is almost pure distortion.
The issue is gone if I restart the JACK server, no need to reboot the
hardware. The description I gave above sounds a lot like soundcard clock drift (which happens to those using more than one soundcard. You know) which motivates me to believe we missed a bug somewhere around the recent changes introduced in implicit feedback sync for Pioneer devices
Dyndbg shows nothing useful I guess. No xruns reported.
I've recorded a 1KHz tone and after 50+ minutes the sound degradation
kicks in. Only problem is even after cutting and encoding to mp3 128kbps it's still a 10 megabytes file. I suppose I could post it to Soundcloud or Mixcloud if anyone is interested.
Is anyone else experiencing these symptoms with Pioneer hardware? Note
that the sound degradation kicks in after about an hour, more or less, and it's for the inputs only. Outputs continue to operate fine without the need to restart the JACK server every hour.
Thanks everybody, Geraldo
participants (2)
-
Geraldo
-
Takashi Iwai