no 2846 Frankenstein MK5
5:
Product ID: 0x0003
Vendor ID: 0xfefd
Version: 0.02
Serial Number: vial:f64c2b3c
Speed: Up to 12 Mb/s
Manufacturer: vial:f64c2b3c
Location ID: 0x02113000 / 6
Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 0
Vial app works (had to enable unsigned apps)
has configured layers
Using the via.rocks web app -> "About 0005"
Manufacturer:
Product: 0005
VID: FEFD
PID: 0003
Device: /webhid
VIA protocol: 9
Vial protocol: 2
Vial keyboard ID: A78B9BEA5ABE77EC
Macro entries: 16
Macro memory: 314 bytes
Macro delays: yes
Complex (2-byte) macro keycodes: unsupported - Vial firmware too old
Tap Dance entries: unsupported - Vial firmware too old
Combo entries: unsupported - Vial firmware too old
Key Override entries: unsupported - Vial firmware too old
QMK Settings: unsupported - Vial firmware too old
Using hidtest from hidapi (this device only)
Device Found
type: fefd 0003
path: DevSrvsID:4295291580
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 0
Usage (page): 0x6 (0x1)
Device Found
type: fefd 0003
path: DevSrvsID:4295291580
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 0
Usage (page): 0x2 (0x1)
Device Found
type: fefd 0003
path: DevSrvsID:4295291580
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 0
Usage (page): 0x1 (0x1)
Device Found
type: fefd 0003
path: DevSrvsID:4295291578
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 2
Usage (page): 0xe (0x1)
Device Found
type: fefd 0003
path: DevSrvsID:4295291578
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 2
Usage (page): 0x21 (0xd)
Device Found
type: fefd 0003
path: DevSrvsID:4295291578
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 2
Usage (page): 0x80 (0x1)
Device Found
type: fefd 0003
path: DevSrvsID:4295291578
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 2
Usage (page): 0x1 (0xc)
Device Found
type: fefd 0003
path: DevSrvsID:4295291576
serial_number: vial:f64c2b3c
Manufacturer: vial:f64c2b3c
Product: 0005
Release: 2
Interface: 1
Usage (page): 0x61 (0xff60)
Using hidapitester to poke at the device...
Screen / dial is this:
FEFD/0003: vial:f64c2b3c - 0005
vendorId: 0xFEFD
productId: 0x0003
usagePage: 0xFF60
usage: 0x0061
serial_number: vial:f64c2b3c
interface: 1
path: IOService:/AppleARMPE/arm-io/AppleT600xIO/usb-drd1@2280000/AppleT6000USBXHCI@01000000/usb-drd1-port-hs@01100000/USB2.0 Hub@01100000/AppleUSB20Hub@01100000/AppleUSB20HubPort@01110000/0005@01110000/IOUSBHostInterface@1/AppleUserUSBHostHIDDevice
usagePage hex FF60 -> dec 65376 usage hex 0061 -> dec 97
./hidapitester --vidpid FEFD:0003 --open --read-input-forever
Turn dial anticlockwise
Reading 64-byte input report 0, 250 msec timeout...read 32 bytes:
FD 04 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 00 00 00 00 00 00 00 00 00 00
clockwise
Reading 64-byte input report 0, 250 msec timeout...read 32 bytes:
FD 04 02 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 00 00 00 00 00 00 00 00 00 00
Write "Hello " to screen row 2
$ hidapitester --vidpid FEFD:0003 --open --usagePage ff60 --usage 0061 --send-output 0x00,0xfd,0x01,0x01,0x48,0x65,0x6c,0x6c,0x6f,0x20
Opening device, vid/pid: 0xFEFD/0x0003
Writing output report of 64-bytes...wrote 64 bytes:
00 FD 01 01 48 65 6C 6C 6F 20 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 00 00 00
Closing device
Back to the keypad.
bootloader mode - hold bottom left key when plugging in
macOS sees
USB product 0x55e0 vendor 0x4348 --> it's a WCH chip (not that you can tell from the hardware as the chip ID is not visible)
Using chflasher
$ python ./chflasher.py --detect
Found CH552
Flash size: 16 blocks, 16384 bytes.
Reserved for application: 14 blocks, 14336 bytes.
Bootloader version: 2.40
--> it's a CH552 chip
- supports USB
- supports USB-C master/slave detection
- supports USB HID
- does NOT support QMK
- ... so how is it implementing Vial?
Using ch55xtool
$ python -m ch55xtool -p
Found CH552 with SubId:17
BTVER:02.40
UID:26-48-93-54-00-00-00-00
Chip configs 0xFFFFFFFF 0x00000003 0xD77B72FF
Finalize communication. Done.