From 235da6973d34c3cffc4bd8f8cd0b9c8537d6b811 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 28 Nov 2019 15:29:11 +0000 Subject: [PATCH] Install bootloadHid as part of qmk_install (#7463) * Install bootloadHid on macos * Install bootloadHid on windows * Highlight bootloadHID is now installed in docs * Update udev rules for bootloadHID * Install bootloadHid on some distros * fix caterina udev filename --- docs/faq_build.md | 8 +++++++- docs/flashing_bootloadhid.md | 2 +- util/activate_msys2.sh | 1 + util/activate_wsl.sh | 1 + util/linux_install.sh | 18 ++++++++++++++++++ util/macos_install.sh | 2 ++ util/win_shared_install.sh | 4 ++++ 7 files changed, 34 insertions(+), 2 deletions(-) diff --git a/docs/faq_build.md b/docs/faq_build.md index f11cb76aa2bddfaa7fab9ab7ac6733717d4458b5..023eab01fa59e95e133b26401cb91dae3b9ce776 100644 --- a/docs/faq_build.md +++ b/docs/faq_build.md @@ -47,7 +47,7 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666" SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", MODE:="0666" ``` -**/etc/udev/rules.d/55-catalina.rules:** +**/etc/udev/rules.d/55-caterina.rules:** ``` # ModemManager should ignore the following devices ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1" @@ -69,6 +69,12 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", MODE:="066 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666" ``` +**/etc/udev/rules.d/57-bootloadhid.rules:** +``` +# bootloadHID +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", MODE:="0666" +``` + ### Serial device is not detected in bootloader mode on Linux Make sure your kernel has appropriate support for your device. If your device uses USB ACM, such as Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices may require `USB_SERIAL` and any of its sub options. diff --git a/docs/flashing_bootloadhid.md b/docs/flashing_bootloadhid.md index c51d8ce4b8f332d8d3d1bdeaa86f174e25372a46..731d92772737297caedbd9f4bb38b1e80662eef9 100644 --- a/docs/flashing_bootloadhid.md +++ b/docs/flashing_bootloadhid.md @@ -13,7 +13,7 @@ General flashing sequence: ## bootloadHID Flashing Target -Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed. +?> Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed. To flash via the command line, use the target `:bootloadHID` by executing the following command: diff --git a/util/activate_msys2.sh b/util/activate_msys2.sh index 1ddffbaad77c25c2d7328fc59add6e95c9967920..85d645e6d0f363bb6bb4d509d09e6b35da308e9d 100755 --- a/util/activate_msys2.sh +++ b/util/activate_msys2.sh @@ -5,6 +5,7 @@ function export_variables { export PATH=$PATH:$util_dir export PATH=$PATH:$util_dir/dfu-programmer export PATH=$PATH:$util_dir/dfu-util-0.9-win64 + export PATH=$PATH:$util_dir/bootloadHID.2012-12-08/commandline export PATH=$PATH:$util_dir/flip/bin export PATH=$PATH:$util_dir/avr8-gnu-toolchain/bin export PATH=$PATH:$util_dir/gcc-arm-none-eabi/bin diff --git a/util/activate_wsl.sh b/util/activate_wsl.sh index e2312b56d48797acfaa35e99c0d46bbc784829d0..cd88d2b6555ed8484bc08af6a52416fb26d9897a 100755 --- a/util/activate_wsl.sh +++ b/util/activate_wsl.sh @@ -7,6 +7,7 @@ function export_variables { export DFU_PROGRAMMER=$download_dir/dfu-programmer/dfu-programmer.exe export DFU_UTIL=$download_dir/dfu-util-0.9-win64/dfu-util.exe export TEENSY_LOADER_CLI=$download_dir/teensy_loader_cli.exe + export BOOTLOADHID_PROGRAMMER=$download_dir/bootloadHID.2012-12-08/commandline/bootloadHID.exe export BATCHISP=batchisp.exe } diff --git a/util/linux_install.sh b/util/linux_install.sh index c54a8062341c0d6b5f0f8796c01770c70d97e651..100a14a5186283ac4fd1ebcc038f6c19fea93f67 100755 --- a/util/linux_install.sh +++ b/util/linux_install.sh @@ -10,6 +10,17 @@ SOLUS_INFO="Your tools are now installed. To start using them, open new terminal util_dir=$(dirname "$0") +# For those distros that do not package bootloadHID +install_bootloadhid() { + wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz -O - | tar -xz -C /tmp + cd /tmp/bootloadHID.2012-12-08/commandline/ + make + if [ $? == 0 ]; then + sudo cp bootloadHID /usr/local/bin + fi + cd - +} + if grep ID /etc/os-release | grep -qE "fedora"; then sudo dnf install \ arm-none-eabi-binutils-cs \ @@ -28,6 +39,7 @@ if grep ID /etc/os-release | grep -qE "fedora"; then glibc-headers \ kernel-devel \ kernel-headers \ + libusb-devel \ make \ perl \ python3 \ @@ -54,6 +66,7 @@ elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then gcc-avr \ git \ libnewlib-arm-none-eabi \ + libusb-dev \ python3 \ unzip \ wget \ @@ -70,12 +83,14 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then avr-libc \ avr-gcc \ base-devel \ + bootloadhid \ clang \ dfu-programmer \ dfu-util \ diffutils \ gcc \ git \ + libusb-compat \ python \ python-pip \ unzip \ @@ -138,6 +153,7 @@ elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then dfu-tool \ dfu-programmer \ gcc \ + libusb-devel \ python3 \ unzip \ wget \ @@ -177,6 +193,7 @@ elif grep ID /etc/os-release | grep -q solus; then avrdude \ dfu-util \ dfu-programmer \ + libusb-devel \ python3 \ git \ wget \ @@ -214,4 +231,5 @@ else fi # Global install tasks +install_bootloadhid pip3 install --user -r ${util_dir}/../requirements.txt diff --git a/util/macos_install.sh b/util/macos_install.sh index f993003f09118acecc7fcae8c5f8f93a1a953030..76ec3355b42249c978be42bc51a2a8833fe7c739 100755 --- a/util/macos_install.sh +++ b/util/macos_install.sh @@ -25,5 +25,7 @@ brew tap osx-cross/avr brew tap osx-cross/arm brew update brew install avr-gcc@8 arm-gcc-bin dfu-programmer avrdude clang-format dfu-util python3 +brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb brew link --force avr-gcc@8 + pip3 install -r "${util_dir}/../requirements.txt" diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh index f8fc9308f4562c75e70d89aad4c76c5d2d0da98e..7ad000bfc40ede9aa89bd0b18bbc0a02bfacb95a 100755 --- a/util/win_shared_install.sh +++ b/util/win_shared_install.sh @@ -18,6 +18,10 @@ function install_utils { wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip' unzip teensy_loader_cli_windows.zip + echo "Installing bootloadHID" + wget 'https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.zip' + unzip bootloadHID.2012-12-08.zip + echo "Installing Atmel Flip" wget 'http://ww1.microchip.com/downloads/en/DeviceDoc/Flip%20Installer%20-%203.4.7.112.exe' mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe