MOTU MicroBook II playback issue snd-usb-audio (hacky fix)
Hi - quick help wanted:
*Issue:*
MOTU MicroBook 2 produced really crunchy sound on the output with snd-usb-audio driver.
*hacky Fix:*
Just setting urb_packs = 8 fixed in usb/endpoint.c (in data_ep_set_params)
*Question:*
I would love to contribute, but just implementing a quirk that fixes urb_packs at 8 seemed really hacky to me, any recommendations on further things to check / try?
*How I figured it out:*
When I modified the old module https://github.com/manuel-rhdt/snd-microbookii to compile with a modern kernel it worked fine. Looking at the usb traffic with WireShark the usb packet size was smaller in case of snd-usb-audio compared to the snd-microbookii driver.
*Kernel (issue also verified on a newer one, on this I did all my debugging / testing):* 7.1.8-arch1-3 (Arch Linux)
*Relevant dmesg output:*
[17703.794487] usb 1-2: new high-speed USB device number 40 using xhci_hcd [17703.922374] usb 1-2: New USB device found, idVendor=07fd, idProduct=0004, bcdDevice= 0.49 [17703.922383] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [17703.922386] usb 1-2: Product: MicroBookII [17703.922389] usb 1-2: Manufacturer: MOTU [17703.926053] usb 1-2: Waiting for MOTU Microbook II to boot up... [17703.926874] MicroBookII snd: 00 00 00 00 00 00 0b 14 00 00 00 01 [17703.927854] MicroBookII rcv: 00 02 00 00 00 00 0b 14 […] [17707.052011] MicroBookII snd: 00 04 00 00 00 00 0b 18 [17707.052932] MicroBookII rcv: 00 06 00 00 00 00 0b 18 00 00 00 01 [17707.052943] usb 1-2: MOTU MicroBook II ready [17707.053014] usb 1-2: 0:1 : invalid sync pipe. bmAttributes 03, bLength 7, bSynchAddress 00
Thanks for any help / advice,
Sally
PATCH 1/1 ALSA: usb-audio: MOTU MicroBook II playback fix
Add correct datainterval in the quirks-table for Microbook II
This patch fixes playback issues on the Microbook II. The correct value was in the older driver for this device ( https://github.com/manuel-rhdt/snd-microbookii/blob/dd304c097bb6a9d52276ac29c6969fa02bc7674a/audio.c#L914 ).
---
sound/usb/quirks-table.h | 2 ++
1 file changed, 2 insertions(+)
sound/usb/quirks-table.h +0 -0
@@ -2813,6 +2813,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.rates = SNDRV_PCM_RATE_96000, .ep_attr = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,
@@ -2835,6 +2836,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.rates = SNDRV_PCM_RATE_96000, .ep_attr = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC,
+ .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,
Signature · 1 line
2.55.0
Quoted 35 lines · Sally Marcher
Hi - quick help wanted:
*Issue:*
MOTU MicroBook 2 produced really crunchy sound on the output with snd-usb-audio driver.*hacky Fix:*
Just settingurb_packs= 8 fixed inusb/endpoint.c(indata_ep_set_params)*Question:*
I would love to contribute, but just implementing a quirk that fixesurb_packsat 8 seemed really hacky to me, any recommendations on further things to check / try?*How I figured it out:*
When I modified the old module https://github.com/manuel-rhdt/snd-microbookii to compile with a modern kernel it worked fine. Looking at the usb traffic with WireShark the usb packet size was smaller in case of snd-usb-audio compared to the snd-microbookii driver.*Kernel (issue also verified on a newer one, on this I did all my debugging / testing):* 7.1.8-arch1-3 (Arch Linux)
*Relevant dmesg output:*
[17703.794487] usb 1-2: new high-speed USB device number 40 using xhci_hcd [17703.922374] usb 1-2: New USB device found, idVendor=07fd, idProduct=0004, bcdDevice= 0.49 [17703.922383] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [17703.922386] usb 1-2: Product: MicroBookII [17703.922389] usb 1-2: Manufacturer: MOTU [17703.926053] usb 1-2: Waiting for MOTU Microbook II to boot up... [17703.926874] MicroBookII snd: 00 00 00 00 00 00 0b 14 00 00 00 01 [17703.927854] MicroBookII rcv: 00 02 00 00 00 00 0b 14 […] [17707.052011] MicroBookII snd: 00 04 00 00 00 00 0b 18 [17707.052932] MicroBookII rcv: 00 06 00 00 00 00 0b 18 00 00 00 01 [17707.052943] usb 1-2: MOTU MicroBook II ready [17707.053014] usb 1-2: 0:1 : invalid sync pipe. bmAttributes 03, bLength 7, bSynchAddress 00Thanks for any help / advice,
Sally
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): [email protected]
Re: [PATCH] ALSA: usb-audio: MOTU MicroBook II playback fix
Hi,
patch is attached to this email.
Thanks,
Sally Marcher
Quoted 43 lines · Alexander Tsoy
В Пн, 26/10/2026 в 14:40 +0100, Sally Marcher пишет:
Quoted 33 lines
From
cd7f80a8beaa40bcb2b313586a3c698d35982c21Mon Sep 17 00:00:00
2001
From: Sally Marcher <[email protected]>
Date: Mon, 26 Oct 2026 14:29:34 +0100
Subject: [PATCH] Add correct datainterval in the quirks-table for Microbook IIThis patch fixes playback issues on the Microbook II. The correct value was in the older driver for this device (
https://github.com/manuel-rhdt/snd-microbookii/blob/dd304c097bb6a9d522
76ac29c6969fa02bc7674a/audio.c#L914).Datainterval needs to be set explicitly.
Signed-off-by Sally Marcher <[email protected]>--- sound/usb/quirks-table.h | 2 ++ 1 file changed, 2 insertions(+)sound/usb/quirks-table.h +1
-0@@ -2781,6 +2781,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,sound/usb/quirks-table.h YAMAHA_DEVICE(0x7010, "UB99"), · line 2810
Quoted 7 lines
sound/usb/quirks-table.h +1
-0@@ -2803,6 +2804,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,Hi!
Quoted 7 lines
You should send this path to [email protected] and CC
mainterners: Takashi Iwai <[email protected]>, Jaroslav Kysela <[email protected]>Also your email client garbles the patch. For example tabs are replaced by spaces. If you cannot fix that, then it's better to just attach the patch as a text file.
From cd7f80a8beaa40bcb2b313586a3c698d35982c21 Mon Sep 17 00:00:00 2001
From: Sally Marcher <[email protected]>
Date: Mon, 26 Oct 2026 14:29:34 +0100
Subject: [PATCH] Add correct datainterval in the quirks-table for Microbook II
This patch fixes playback issues on the Microbook II.
The correct value was in the older driver for this device (https://github.com/manuel-rhdt/snd-microbookii/blob/dd304c097bb6a9d52276ac29c6969fa02bc7674a/audio.c#L914).
Datainterval needs to be set explicitly.
--- sound/usb/quirks-table.h | 2 ++ 1 file changed, 2 insertions(+)
sound/usb/quirks-table.h +2 -0
@@ -2781,6 +2781,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr =USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,
@@ -2803,6 +2804,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr =USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,
Signature · 1 line
2.56.0
Re: [PATCH] ALSA: usb-audio: MOTU MicroBook II playback fix
Quoted 3 lines · Sally Marcher
Hi,
patch is attached to this email.
OK, I applied manually now.
thanks,
Takashi
Quoted 93 lines
Thanks,
Sally MarcherQuoted 43 lines · Alexander Tsoy
В Пн, 26/10/2026 в 14:40 +0100, Sally Marcher пишет:
Quoted 33 lines
From
cd7f80a8beaa40bcb2b313586a3c698d35982c21Mon Sep 17 00:00:00
2001
From: Sally Marcher <[email protected]>
Date: Mon, 26 Oct 2026 14:29:34 +0100
Subject: [PATCH] Add correct datainterval in the quirks-table for Microbook IIThis patch fixes playback issues on the Microbook II. The correct value was in the older driver for this device (
https://github.com/manuel-rhdt/snd-microbookii/blob/dd304c097bb6a9d522
76ac29c6969fa02bc7674a/audio.c#L914).Datainterval needs to be set explicitly.
Signed-off-by Sally Marcher <[email protected]>--- sound/usb/quirks-table.h | 2 ++ 1 file changed, 2 insertions(+)sound/usb/quirks-table.h +1
-0@@ -2781,6 +2781,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,sound/usb/quirks-table.h YAMAHA_DEVICE(0x7010, "UB99"), · line 2810
Quoted 7 lines
sound/usb/quirks-table.h +1
-0@@ -2803,6 +2804,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,Hi!
Quoted 7 lines
You should send this path to [email protected] and CC
mainterners: Takashi Iwai <[email protected]>, Jaroslav Kysela <[email protected]>Also your email client garbles the patch. For example tabs are replaced by spaces. If you cannot fix that, then it's better to just attach the patch as a text file.
From
cd7f80a8beaa40bcb2b313586a3c698d35982c21Mon Sep 17 00:00:00 2001
From: Sally Marcher <[email protected]>
Date: Mon, 26 Oct 2026 14:29:34 +0100
Subject: [PATCH] Add correct datainterval in the quirks-table for Microbook IIThis patch fixes playback issues on the Microbook II.
The correct value was in the older driver for this device (https://github.com/manuel-rhdt/snd-microbookii/blob/dd304c097bb6a9d52276ac29c6969fa02bc7674a/audio.c#L914).Datainterval needs to be set explicitly.
Signed-off-by Sally Marcher <[email protected]>--- sound/usb/quirks-table.h | 2 ++ 1 file changed, 2 insertions(+)sound/usb/quirks-table.h +2
-0@@ -2781,6 +2781,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr =USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,@@ -2803,6 +2804,7 @@ YAMAHA_DEVICE(0x7010, "UB99"), .rates = SNDRV_PCM_RATE_96000, .ep_attr =USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC, + .datainterval = 1, .rate_min = 96000, .rate_max = 96000, .nr_rates = 1,Signature · 1 line
2.56.0
Re: [PATCH] ALSA: usb-audio: MOTU MicroBook II playback fix
В Вт, 27/10/2026 в 08:33 +0100, Takashi Iwai пишет:
Quoted 7 lines
Quoted 3 lines · Sally Marcher
Hi,
patch is attached to this email.OK, I applied manually now.
Thanks!
I just want to add some context here for the history. I replied to original thread on alsa-devel ML, but it seems MTA on alsa-project.org is currently down.
This device is not class compliant and all endpoints are contained in a single interface. snd_usb_parse_datainterval() probably returns bInterval of the first endpoint which is an Interrupt endpoint with bInterval=4. That's why datainterval needs to be set explicitly.