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

Add RK855 #1

Closed
syfq91 opened this issue Feb 22, 2023 · 17 comments
Closed

Add RK855 #1

syfq91 opened this issue Feb 22, 2023 · 17 comments
Assignees
Labels
enhancement New feature or request

Comments

@syfq91
Copy link

syfq91 commented Feb 22, 2023

Hi,

First of all, awesome project.

Is it possible to add support for RK855? My keyboard is working fine when connected to Ubuntu 22.10, but rangoli does not detect it.

Here is dmesg log when connecting the keyboard:

[  630.445163] usb 2-1.2: new full-speed USB device number 5 using ehci-pci
[  630.556549] usb 2-1.2: New USB device found, idVendor=0c45, idProduct=8018, bcdDevice= 1.12
[  630.556615] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  630.556622] usb 2-1.2: Product: USB DEVICE
[  630.556627] usb 2-1.2: Manufacturer: SONiX
[  630.560284] input: SONiX USB DEVICE as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/0003:0C45:8018.0003/input/input21
[  630.619122] hid-generic 0003:0C45:8018.0003: input,hidraw0: USB HID v1.11 Keyboard [SONiX USB DEVICE] on usb-0000:00:1d.0-1.2/input0
[  630.621781] input: SONiX USB DEVICE Consumer Control as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:0C45:8018.0004/input/input22
[  630.681922] input: SONiX USB DEVICE System Control as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:0C45:8018.0004/input/input23
[  630.682661] input: SONiX USB DEVICE Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:0C45:8018.0004/input/input24
[  630.683330] input: SONiX USB DEVICE Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:0C45:8018.0004/input/input25
[  630.684462] input: SONiX USB DEVICE as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:0C45:8018.0004/input/input26
[  630.686330] hid-generic 0003:0C45:8018.0004: input,hiddev0,hidraw1: USB HID v1.11 Keyboard [SONiX USB DEVICE] on usb-0000:00:1d.0-1.2/input1
@rnayabed
Copy link
Owner

rnayabed commented Feb 22, 2023

Thank you so much for using Rangoli and reporting this issue.

Can you share the link of the official RK software that supports this keyboard?

@rnayabed rnayabed added the enhancement New feature or request label Feb 22, 2023
@rnayabed rnayabed self-assigned this Feb 22, 2023
@syfq91
Copy link
Author

syfq91 commented Feb 22, 2023

@rnayabed
Copy link
Owner

@syfq91
Copy link
Author

syfq91 commented Feb 23, 2023

Hi, I downloaded 2.0-rc build.
then run these command:

chmod +x rangoli
./rangoli

It asked for password for udev-rules-writer, then is shows this error.
Screenshot from 2023-02-23 18-01-06

@rnayabed
Copy link
Owner

I made some changes to the way keyboard info is stored and forgot to update the udev script..

@rnayabed
Copy link
Owner

rnayabed commented Feb 23, 2023

Try again with the new build:

https://github.com/rnayabed/rangoli/releases/download/2.0-rc/rangoli-portable-linux-64.zip

Also, please do the following:

  1. Download hidapitester from here https://github.com/todbot/hidapitester/releases/tag/0.2
  2. Extract, and run this command:
  3. <path to hidapitester>/hidapitester --vidpid 0c45:8018 --list-detail
  4. send output here

@rnayabed rnayabed changed the title RK855 not detected by rangoli Add RK855 Feb 23, 2023
@syfq91
Copy link
Author

syfq91 commented Feb 24, 2023

I tried another build, no more error about udev. but it still does not detect the keyboard.

Here the hidapitester output:

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0006
  serial_number:  
  interface:     0 
  path: /dev/hidraw0

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x000C
  usage:         0x0001
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0080
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0006
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0002
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0001
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0xFFFF
  usage:         0x0001
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

@rnayabed
Copy link
Owner

Yet another bug found, sorry 😭

@rnayabed
Copy link
Owner

Builds have been updated. Please check again

@syfq91
Copy link
Author

syfq91 commented Feb 24, 2023

Hi, tested the newer build, it still not detected.
Please let me know if you need more info.

@rnayabed
Copy link
Owner

Try again by re downloading, should work now

https://github.com/rnayabed/rangoli/releases/tag/2.0-rc

@syfq91
Copy link
Author

syfq91 commented Feb 28, 2023

Hi, now it detects the keyboard. But there’s a permission error. It cannot save any changes.
rangoli rk855

@rnayabed
Copy link
Owner

rnayabed commented Feb 28, 2023

Do the following:

  1. Download hidapitester
  2. Run <file path to hidapitester.exe> --vidpid 0c45:8018 --list-detail
  3. It will print a list of blocks, with paths.
  4. Take each path and run the following command <file path to hidapitester.exe> --open-path "<EACH PATH>" --length 65 --send-feature 0x0a,0x01,0x01,0x02,0x29,0x01,0x03,0x03,0x03,0,0,0,0x01,0x01
  5. Note when the keyboard flickers or atleast changes colour. I think it should be the one with ...&col03.... Send the full path here.

@rnayabed
Copy link
Owner

rnayabed commented Mar 1, 2023

Also, RK855 is RGB right?

@rnayabed
Copy link
Owner

rnayabed commented Mar 1, 2023

Ok, so it looks like this keyboard is the same as RK68K (?). Same VID/PID.

However it seems like rk68k is blue backlight only, while i am not sure if rk855 is rgb or not. please confirm

@syfq91
Copy link
Author

syfq91 commented Mar 1, 2023

Hi,

RK855 is not RGB, only blue LED.

Here are the output for hidapitester from Ubuntu:
./hidapitester --vidpid 0c45:8018 --list-detail

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0006
  serial_number:  
  interface:     0 
  path: /dev/hidraw0

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x000C
  usage:         0x0001
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0080
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0006
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0002
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0x0001
  usage:         0x0001
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

0C45/8018: SONiX - USB DEVICE
  vendorId:      0x0C45
  productId:     0x8018
  usagePage:     0xFFFF
  usage:         0x0001
  serial_number:  
  interface:     1 
  path: /dev/hidraw1

/dev/hidraw0 output:

Opening device. path: /dev/hidraw0
Writing 65-byte feature report...wrote 65 bytes:
 0A 01 01 02 29 01 03 03 03 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00
Closing device

/dev/hidraw1 output:

Opening device. path: /dev/hidraw1
Writing 65-byte feature report...wrote -1 bytes:
 0A 01 01 02 29 01 03 03 03 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00
Closing device

I don't see any differences on the keyboard when running both path.

Do I need to check using Windows? If yes, I can test it in a few days.

@rnayabed
Copy link
Owner

rnayabed commented Mar 1, 2023

Yes, please check on windows as well.
I am closing this issue, merging it with #13
Please post replies there

@rnayabed rnayabed closed this as completed Mar 1, 2023
@ghisabrain ghisabrain mentioned this issue May 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants