Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kira - Multiple issues flashing the firmware #392

Open
d4g opened this issue Dec 18, 2020 · 2 comments
Open

Kira - Multiple issues flashing the firmware #392

d4g opened this issue Dec 18, 2020 · 2 comments

Comments

@d4g
Copy link

d4g commented Dec 18, 2020

  • Device:

  • Kira Kickstarter

  • Firmware Origin:

  • Probably Configurator?

  • OS:

  • Nixos

  • Version:

lsusb -d 308f: -v

Bus 001 Device 101: ID 308f:0013 Input Club Kira
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x308f Input Club
  idProduct          0x0013 Kira
  bcdDevice            4.c6
  iManufacturer           1 Input Club
  iProduct                2 Keyboard - Kira PixelMap USB
  iSerial                 3 5337310037384B323630343231363030 - sam4s8
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x008d
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          4 xXXx
    bmAttributes         0xa0
      (Bus 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              5 Boot Keyboard
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      68
         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     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 Keyboard
      iInterface              6 NKRO Keyboard
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      95
         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              7 Media Keys
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      39
         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     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      2 Mouse
      iInterface              8 Mouse
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     109
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              9 HID-IO Interface
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      28
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)
  • Reproduction Steps:

  • Flash the keyboard

  • LEDs don't work anymore

  • Resulting Issue:

  • I have multiple issues when I flash the keyboard using kiibohd-configurator-1.1.0-linux-x86_64.AppImage and the wiki is not very helpfull. When I flash a new layout or a new firmware, this sometimes results no all LED permanently off, even if I reconnect the device. I cannot use Clt+Ctrl+F7 to play the next animation. Ctrl+Shift does not enable the bootloader mode anymore.

  • I try to find out which version of firmware is actually on the keyboard. Is there a way to update to the latest version? And the bootloader version? I couldn't find a description how to update the bootloader

  • I don't know why but there is Custom KLL Code in the configurator. Where does it come from and should it be there? Should I delete it?

  • Does the Kiibohd Configurator actually create a completely new firmware image all the time? Sometimes I get different results when I flash the flash image twice. It seems to be pretty random. A step back to an older flash image sometimes revives the lighting and fixes the issues.

@d4g d4g changed the title Kira - unknown firmware/bootloader - how do I find out Kira - Multiple issues flashing the firmware Dec 18, 2020
@haata
Copy link
Member

haata commented Dec 18, 2020

The firmware should be the same each time.
Sometimes the LED controller can get confused depending on how the keyboard was put into flash mode (if you press the button on the back of the keyboard, for example, it's not possible to do a clean reset of the LED controller before jumping to the bootloader). Unfortunately this is a limitation of the LED driver chip used on this keyboard.
One solution is to unplug and replug the keyboard after flashing the firmware. Another option that sometimes works is to press Fn+Shift+Esc (if you still have that KLL keymapping set), this will attempt to reset the LED state.

@mbarszcz-pcb
Copy link

mbarszcz-pcb commented Jan 26, 2023

This happens to me a lot on the Kira even in 2023. Especially when I have a static animation configured as the startup animation, editing keys on layer one seems to break the LEDs even after disconnecting and reconnecting the USB cable. It happens both with the flash button, and with control shift escape flash combo. Rolling back to a previous version seems to help, and sometimes modifying the static animation or playing games unsetting and resetting the startup animation helps as well. The LEDs should not stop working randomly when the only change you make is a key assignment 😡

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants