pixeltris/GK6X

Issues on GK61 + Ubuntu

Closed this issue · 2 comments

There are 2 issues I faced till now for GK61 on Ubuntu

  1. sudo mono GK6X.exe hangs
  2. Handshake failed

I was able to solve the 1st issue, by changing this value to 64 and adding my VendorID: [ProductID] to this dictionary.
This to be exact

{
    13027, // (32e3) GK
    new ushort[]{
        247, // F7 (GK61)
    }
}

But after this I'm getting Handshake failed issue.
I checked this issue: #102, but apparently the issue got fixed by just re-plugging into USB 2.0 port. I tried plugging into 2.0 and 3.0 both, didn't work.


Error:

[19:04:31.5260850] Handshake failed (GK61 Gaming Keyboard) Exception occured. System.TimeoutException: The operation has timed out.
  at HidSharp.Platform.SysHidStream.CommonRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.Collections.Generic.Queue`1[T] queue) [0x0008d] in <c054361863a44e168db2058f0e09fb11>:0 
  at HidSharp.Platform.Linux.LinuxHidStream.Read (System.Byte[] buffer, System.Int32 offset, System.Int32 count) [0x00000] in <c054361863a44e168db2058f0e09fb11>:0 
  at HidSharp.HidStream.Read (System.Byte[] buffer) [0x00011] in <c054361863a44e168db2058f0e09fb11>:0 
  at (wrapper remoting-invoke-with-check) HidSharp.HidStream.Read(byte[])
  at GK6X.KeyboardDeviceManager.WriteSimplePacket (HidSharp.HidStream stream, System.UInt16 opcode) [0x00046] in <855ef5fb261540dabf3c5ef01d371b1a>:0 
  at GK6X.KeyboardDeviceManager.Handshake (HidSharp.HidStream stream) [0x00002] in <855ef5fb261540dabf3c5ef01d371b1a>:0 

Also adding udev info as it helped to solve the 1st issue

└─[$]> udevadm info /dev/bus/usb/001/029
P: /devices/pci0000:00/0000:00:14.0/usb1/1-7
N: bus/usb/001/029
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-7
E: DEVNAME=/dev/bus/usb/001/029
E: DEVTYPE=usb_device
E: DRIVER=usb
E: PRODUCT=32e3/f7/101
E: TYPE=0/0/0
E: BUSNUM=001
E: DEVNUM=029
E: MAJOR=189
E: MINOR=28
E: SUBSYSTEM=usb
E: USEC_INITIALIZED=6020797640
E: ID_VENDOR_ENC=\x20\x20
E: ID_VENDOR_ID=32e3
E: ID_MODEL=GK61_Gaming_Keyboard
E: ID_MODEL_ENC=GK61\x20Gaming\x20Keyboard
E: ID_MODEL_ID=00f7
E: ID_REVISION=0101
E: ID_SERIAL=_GK61_Gaming_Keyboard
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030000:
E: ID_PATH=pci-0000:00:14.0-usb-0:7
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_7

It sounds like you have a GK61US which uses the GK brand name, but is not a regular GK keyboard. That vendor id is HK Gaming Limited.

As mentioned here #187 (comment) I don't have any plans to support keyboards which use the GK brand name but not the protocol used by the GK keyboards.

Cool thanks for the update, closing this issue as the keyboard mentioned is out of scope of this project.