Bug ID 1209032
Summary Keychron K8 kearboard kernel warning: unknown main item tag 0x0
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware x86-64
OS openSUSE Tumbleweed
Status NEW
Severity Minor
Priority P5 - None
Component Kernel
Assignee kernel-bugs@opensuse.org
Reporter mpdesouza@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

I'm using a Keychron K8 keyboard connected via Bluetooth using the "Windows
compatibility mode", and started seeing this on dmesg:

[100376.456869] apple 0005:05AC:024F.001B: unknown main item tag 0x0
[100376.457182] apple 0005:05AC:024F.001B: Non-apple keyboard detected;
function keys will default to fnmode=2 behavior
[100376.457264] input: Keychron K8 as
/devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10:1.0/bluetooth/hci0/hci0:768/0005:05AC:024F.001B/input/input64
[100376.462635] apple 0005:05AC:024F.001B: input,hidraw7: BLUETOOTH HID v1.07
Keyboard [Keychron K8] on d4:54:8b:88:20:42

I'm running an updates TW system, kernel 6.2.1-1-default.

I started to check the hid-core, on hid_parser_main:

...
        switch (item->tag) {                       
        case HID_MAIN_ITEM_TAG_BEGIN_COLLECTION:   
                ret = open_collection(parser, data & 0xff);
                break;                             
        case HID_MAIN_ITEM_TAG_END_COLLECTION:     
                ret = close_collection(parser);    
                break;                             
        case HID_MAIN_ITEM_TAG_INPUT:              
                ret = hid_add_field(parser, HID_INPUT_REPORT, data);            
                break;                                 
        case HID_MAIN_ITEM_TAG_OUTPUT:             
                ret = hid_add_field(parser, HID_OUTPUT_REPORT, data);
                break;                             
        case HID_MAIN_ITEM_TAG_FEATURE:            
                ret = hid_add_field(parser, HID_FEATURE_REPORT, data);
                break;                             
        default:                                   
                hid_warn(parser->device, "unknown main item tag 0x%x\n",
item->tag);
                ret = 0;                           
        }       
...

But I don't know the HID protocols in order to detect what is the issue. I can
only check that, all these case statements search for a value that is bigger
than 0, actually values from 8 to 12.

Please let me know if I can provide more information to understand what's going
on.

Thanks


You are receiving this mail because: