[PATCH] ALSA: usb-audio: us144mkii: Fixes for handshake, MIDI out and cleanup

Šerif Rami posted 1 patch 1 month, 1 week ago
sound/usb/usx2y/us144mkii.c      | 2 +-
sound/usb/usx2y/us144mkii.h      | 1 -
sound/usb/usx2y/us144mkii_midi.c | 2 +-
3 files changed, 2 insertions(+), 3 deletions(-)
[PATCH] ALSA: usb-audio: us144mkii: Fixes for handshake, MIDI out and cleanup
Posted by Šerif Rami 1 month, 1 week ago
Add a handshake value of 0x32, which is required when the device
was previously used by another OS with the official drivers.

Correct the last byte of the MIDI output protocol to 0xe0.

Also, remove the unused DRIVER_VERSION macro.

Signed-off-by: Šerif Rami <ramiserifpersia@gmail.com>
---
 sound/usb/usx2y/us144mkii.c      | 2 +-
 sound/usb/usx2y/us144mkii.h      | 1 -
 sound/usb/usx2y/us144mkii_midi.c | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/sound/usb/usx2y/us144mkii.c b/sound/usb/usx2y/us144mkii.c
index 3127a3206..f6572a576 100644
--- a/sound/usb/usx2y/us144mkii.c
+++ b/sound/usb/usx2y/us144mkii.c
@@ -454,7 +454,7 @@ static int tascam_probe(struct usb_interface *intf,
 	}
 
 	if (handshake_buf[0] != 0x12 && handshake_buf[0] != 0x16 &&
-	    handshake_buf[0] != 0x30) {
+	    handshake_buf[0] != 0x30 && handshake_buf[0] != 0x32) {
 		dev_err(&dev->dev, "Unexpected handshake value: 0x%x\n",
 			handshake_buf[0]);
 		return -ENODEV;
diff --git a/sound/usb/usx2y/us144mkii.h b/sound/usb/usx2y/us144mkii.h
index ecc4c2fed..95c4341f0 100644
--- a/sound/usb/usx2y/us144mkii.h
+++ b/sound/usb/usx2y/us144mkii.h
@@ -15,7 +15,6 @@
 #include <sound/rawmidi.h>
 
 #define DRIVER_NAME "us144mkii"
-#define DRIVER_VERSION "1.7.6"
 
 /* --- USB Device Identification --- */
 #define USB_VID_TASCAM 0x0644
diff --git a/sound/usb/usx2y/us144mkii_midi.c b/sound/usb/usx2y/us144mkii_midi.c
index 08b04aa39..ed2afec2a 100644
--- a/sound/usb/usx2y/us144mkii_midi.c
+++ b/sound/usb/usx2y/us144mkii_midi.c
@@ -257,7 +257,7 @@ static void tascam_midi_out_work_handler(struct work_struct *work)
 			if (bytes_to_send < 9)
 				memset(buf + bytes_to_send, 0xfd,
 				       9 - bytes_to_send);
-			buf[8] = 0x00;
+			buf[8] = 0xe0;
 
 			set_bit(urb_index, &tascam->midi_out_urbs_in_flight);
 			urb->transfer_buffer_length = 9;
-- 
2.50.1

Re: [PATCH] ALSA: usb-audio: us144mkii: Fixes for handshake, MIDI out and cleanup
Posted by Takashi Iwai 1 month, 1 week ago
On Mon, 25 Aug 2025 09:25:57 +0200,
Šerif Rami wrote:
> 
> Add a handshake value of 0x32, which is required when the device
> was previously used by another OS with the official drivers.
> 
> Correct the last byte of the MIDI output protocol to 0xe0.
> 
> Also, remove the unused DRIVER_VERSION macro.
> 
> Signed-off-by: Šerif Rami <ramiserifpersia@gmail.com>

Applied now.  Thanks.


Takashi