Skip to content

Commit

Permalink
Install bootloadHid as part of qmk_install (qmk#7463)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
zvecr authored Nov 28, 2019
1 parent 5c41fa6 commit 235da69
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 2 deletions.
8 changes: 7 additions & 1 deletion docs/faq_build.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion docs/flashing_bootloadhid.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
1 change: 1 addition & 0 deletions util/activate_msys2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions util/activate_wsl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
18 changes: 18 additions & 0 deletions util/linux_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand All @@ -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 \
Expand All @@ -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 \
Expand All @@ -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 \
Expand Down Expand Up @@ -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 \
Expand Down Expand Up @@ -177,6 +193,7 @@ elif grep ID /etc/os-release | grep -q solus; then
avrdude \
dfu-util \
dfu-programmer \
libusb-devel \
python3 \
git \
wget \
Expand Down Expand Up @@ -214,4 +231,5 @@ else
fi

# Global install tasks
install_bootloadhid
pip3 install --user -r ${util_dir}/../requirements.txt
2 changes: 2 additions & 0 deletions util/macos_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
4 changes: 4 additions & 0 deletions util/win_shared_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 235da69

Please sign in to comment.