I'm having trouble flashing a B.face_X2 PCB, in order to put QMK on it.
I am using Linux, so I built bootloadHID from source:
# Get prerequisites
if grep -iq opensuse /etc/issue
then
sudo zypper install libusb-1_0-devel libusb-compat-devel
elif grep -iq debian /etc/issue; then
sudo apt install libusb-dev
fi
# Get the bootloadHID source
wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz
tar -xf bootloadHID.2012-12-08.tar.gz
# Build bootloadHID
cd bootloadHID.2012-12-08/commandline
make
cp bootloadHID ~/bin/bootloadHID
export PATH="$HOME/bin:$PATH"
I plugged in the keyboard while holding Left Ctrl, and in the output from
lsusb I see the line:
Bus 001 Device 027: ID 16c0:05df Van Ooijen Technische Informatica HID device except mice, keyboards, and joysticks
I tried flashing with:
- make winkeyless/bface:via:flash
- make winkeyless/bface:via:bootloadHID
- make winkeyless/bface:via && bootloadHID -r ./winkeyless_bface_via.hex
and in all cases I get the following error:
Warning: could not set configuration: Device or resource busy
Warning: could not claim interface
Error sending message: Input/output error
Error reading page size: Communication error with device
And I get the following output from
dmesg:
[62368.440698] usb 1-7: new low-speed USB device number 30 using xhci_hcd
[62368.635193] usb 1-7: New USB device found, idVendor=16c0, idProduct=05df, bcdDevice= 1.00
[62368.635200] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[62368.635204] usb 1-7: Product: HIDBoot
[62368.635207] usb 1-7: Manufacturer: obdev.at
[62368.655898] hid-generic 0003:16C0:05DF.0022: hiddev98,hidraw5: USB HID v1.01 Device [obdev.at HIDBoot] on usb-0000:00:14.0-7/input0
[62395.584140] usb 1-7: usbfs: interface 0 claimed by usbhid while 'bootloadHID' sets config #1
[62395.584168] usb 1-7: usbfs: process 10226 (bootloadHID) did not claim interface 0 before use
I double-checked that the following lines are present in
/etc/udev/rules.d/50-qmk.rules:
# BootloadHID
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess"
I also tried logging in on a different TTY just in case the Udev rules needed a new login session to take effect.
How do I figure this out? What additional debugging steps can I take?