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] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 8 Nov 2023 00:08:31 +0800
From:   Yihong Cao <caoyihong4@...look.com>
To:     Rahul Rameshbabu <sergeantsagara@...tonmail.com>
Cc:     Jiri Kosina <jikos@...nel.org>,
        Benjamin Tissoires <benjamin.tissoires@...hat.com>,
        linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] HID: apple: add Jamesdonkey and A3R to non-apple
 keyboards list

On Mon, Nov 06, 2023 at 03:11:09AM +0000, Rahul Rameshbabu wrote:
> On Mon, 30 Oct, 2023 01:05:38 +0800 "Yihong Cao" <caoyihong4@...look.com> wrote:
> > Jamesdonkey A3R keyboard is identified as "Jamesdonkey A3R" in wired
> > mode, "A3R-U" in wireless mode and "A3R" in bluetooth mode. Adding them
> > to non-apple keyboards fixes function key.
> >
> > Signed-off-by: Yihong Cao <caoyihong4@...look.com>
> > ---
> >  drivers/hid/hid-apple.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
> > index 3ca45975c686..d9e9829b2200 100644
> > --- a/drivers/hid/hid-apple.c
> > +++ b/drivers/hid/hid-apple.c
> > @@ -345,6 +345,8 @@ static const struct apple_non_apple_keyboard non_apple_keyboards[] = {
> >  	{ "AONE" },
> >  	{ "GANSS" },
> >  	{ "Hailuck" },
> > +	{ "Jamesdonkey" },
> 
> Sorry, maybe I misunderstood the commit message. In wired mode, if the
> keyboard is identified as "Jamesdonkey A3R", shouldn't this value be
> "Jamesdonkey A3R" instead of "Jamesdonkey"?
> 

Hi!

"Jamesdonkey" is the manufacturer and "A3R" is the model. I think adding
manufacturer to non-apple list is suggested, just like commit
c4444d8749f696384947192b602718fa310c1caf,
20afcc462579c0bd79a59ab2b87b82ffa833d118, and
a0a05054583fed17f522172e101594f1ff265463 did.

However, my keyboard's hardware is buggy, in wireless and wired mode, the
manufacturer is empty, only model name exists. For your reference, the
result of `lsusb -v` is pasted below.

In wired mode, `lsusb -v` shows:

Bus 003 Device 002: ID 05ac:024f Apple, Inc. Aluminium Keyboard (ANSI)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05ac Apple, Inc.
  idProduct          0x024f Aluminium Keyboard (ANSI)
  bcdDevice            1.26
  iManufacturer           1 Jamesdonkey
  iProduct                2 A3R
  iSerial                 0
  bNumConfigurations      1

In wireless mode:

Bus 001 Device 003: ID 05ac:024f Apple, Inc. Aluminium Keyboard (ANSI)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x05ac Apple, Inc.
  idProduct          0x024f Aluminium Keyboard (ANSI)
  bcdDevice            2.00
  iManufacturer           0
  iProduct                1 A3R-U

And `dmesg` shows:

[ 1779.692121] input: A3R-U as /devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb1/1-2/1-2:1.0/0003:05AC:024F.0008/input/input35
[ 1779.749037] apple 0003:05AC:024F.0008: input,hidraw2: USB HID v1.10 Keyboard [A3R-U] on usb-0000:06:00.3-2/input0

In bluetooth mode, the iProduct is "A3R".

Adding "A3R" to non-apple list makes keyboard to work in both wireless
and bluetooth mode.

Best wishes,

Yihong Cao

> > +	{ "A3R" },
> >  };
> >
> >  static bool apple_is_non_apple_keyboard(struct hid_device *hdev)
> 
> --
> Thanks,
> 
> Rahul Rameshbabu
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ