Skip to content

[New Device] Logitech G915 TKL

Name of device:

Logitech G915 TKL

Link to manufacturer's product page:

https://www.logitechg.com/en-us/products/gaming-keyboards/g915-tkl-wireless.html

Please select what type of device/interface the device uses:

DeviceTypeUSB

ID information:

Bus 002 Device 011: ID 046d:c343 Logitech, Inc. G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc343 
  bcdDevice           14.00
  iManufacturer           1 Logitech
  iProduct                2 G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard
  iSerial                 3 4EB658E9
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0054
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          4 MPK14.00_B0017
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      67
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     123
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      54
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

Please attach screenshots of the device's official control application here:

image_2020-12-24_22-46-51

image_2020-12-24_22-47-16

image_2020-12-24_22-47-40

image_2020-12-24_22-47-54

image_2020-12-24_22-48-06

image_2020-12-24_22-48-18

image_2020-12-24_22-48-31

image_2020-12-24_22-48-51

image_2020-12-24_22-49-04

image_2020-12-24_22-49-18

image_2020-12-24_22-49-39

image_2020-12-24_22-49-52

image_2020-12-24_22-50-05

image_2020-12-24_22-50-30

image_2020-12-24_22-50-40

image_2020-12-24_22-50-55

image_2020-12-24_22-51-08

image_2020-12-24_22-51-22

image_2020-12-24_22-51-45

image_2020-12-24_22-52-07

Please attach device captures here:

Logitech has SDK available. However, I have no idea how useful it is to this project. I see other Logitech RGB keyboards are supported so maybe some implementation already exists. https://www.logitechg.com/en-us/innovation/developer-lab.html

I used Lenovo X230 with docking station. USB Root Hub 2 was empty and I connected G915 TKL to this Root Hub and used Wireshark to capture only USBPcap2 interface.

g915_ghub_animation_ocean_wave_cycle_bounce_speed70ms.pcapng

g915_ghub_animations.pcapng

g915_ghub_freestyle.pcapng

g915_ghub_preset_colorwave_rate3000ms_brightness_80percent.pcapng

g915_ghub_preset_echo_press_0_0_255_101_102_103_speed2000ms.pcapng

g915_ghub_preset_ripple_rate50ms_press_qwerty.pcapng

g915_ghub_presets.pcapng

Checklist for Step2

  • Name of device
  • A link to the vendors product page has been included
  • The transport bus has been identified and the appropriate label added to the issue.
  • The device ID's have been included for USB or PCI
  • Screenshots of the OEM Application are included
  • There is either, appropriate code examples linked or suitable device captures attached
Edited by subterfugium