lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87wmcr9ap1.wl-tiwai@suse.de>
Date: Fri, 14 Mar 2025 11:19:06 +0100
From: Takashi Iwai <tiwai@...e.de>
To: Ricard Wanderlof <ricard2013@...oba.net>
Cc: Clemens Ladisch <clemens@...isch.de>,
	Jaroslav Kysela <perex@...ex.cz>,
	Takashi Iwai <tiwai@...e.com>,
	linux-sound@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ALSA: usb-audio: Fix CME quirk for UF series keyboards

On Thu, 13 Mar 2025 23:16:17 +0100,
Ricard Wanderlof wrote:
> 
> Fix quirk for CME master keyboards so it not only handles
> sysex but also song position pointer, MIDI timing clock, start
> and stop messages, and active sensing. All of these can be
> output by the CME UF series master keyboards.
> 
> Tested with a CME UF6 in a desktop Linux environment as
> well as on the Zynthian Raspberry Pi based platform.
> 
> Signed-off-by: Ricard Wanderlof <ricard2013@...oba.net>
> ---
> The CME UF6 not only sends sysex messages using CIN 0xf which
> in the standard is only intended for single-byte unparsed
> messages, but also song position pointer, as well as ordinary
> MIDI timing clock, start, stop and active sensing.
> 
> The old quirk sent all four bytes of the USB MIDI message through
> when CIN 0xf was received, which caused trailing bytes in the case
> of single byte data, which would be interpreted as zero-valued
> repeats of the previosly received channel message due to the
> running status feature of MIDI. (In practice, this causes
> continuous controllers to be reset to 0 as soon as a new value is
> set. For note messages, it basically results in a note off for
> note number 0, which is an annoyance although harmless in 
> practice.)
> 
> Furthermore, the UF6 can send multiple messages in the same
> packet. Because of this, and the 0xf quirk, we need to parse each
> such message individually to get the length right, before sending
> it on.
> 
> Finally, the UF6 sends messages with length 0 when it has nothing
> else to send; don't forward these useless messages.
> 
> According to the original comment in the code, the old
> functionality was intended to handle sysex messages only, and this
> commit will still handle that case properly, so should be
> compatible with all devices utilizing this quirk. I have only
> tested this with a CME UF6 as don't have access to any other
> CME devices (which are pretty old and rare these days).

Thanks, applied now.


Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ