diff options
| -rw-r--r-- | docs/faq_build.md | 66 | ||||
| -rw-r--r-- | util/udev/50-qmk.rules | 60 |
2 files changed, 61 insertions, 65 deletions
diff --git a/docs/faq_build.md b/docs/faq_build.md index a97a0e0c3..e64c03533 100644 --- a/docs/faq_build.md +++ b/docs/faq_build.md | |||
| @@ -19,71 +19,7 @@ Note that running `make` with `sudo` is generally ***not*** a good idea, and you | |||
| 19 | 19 | ||
| 20 | ### Linux `udev` Rules | 20 | ### Linux `udev` Rules |
| 21 | 21 | ||
| 22 | On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware, or place this file in `/etc/udev/rules.d/`: | 22 | On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware (not recommended), or place [this file](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules) into `/etc/udev/rules.d/`. |
| 23 | |||
| 24 | **/etc/udev/rules.d/50-qmk.rules:** | ||
| 25 | ``` | ||
| 26 | # Atmel DFU | ||
| 27 | ### ATmega16U2 | ||
| 28 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 29 | ### ATmega32U2 | ||
| 30 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 31 | ### ATmega16U4 | ||
| 32 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 33 | ### ATmega32U4 | ||
| 34 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 35 | ### AT90USB64 | ||
| 36 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 37 | ### AT90USB128 | ||
| 38 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 39 | |||
| 40 | # Input Club | ||
| 41 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 42 | |||
| 43 | # STM32duino | ||
| 44 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 45 | # STM32 DFU | ||
| 46 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 47 | |||
| 48 | # BootloadHID | ||
| 49 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 50 | |||
| 51 | # USBAspLoader | ||
| 52 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 53 | |||
| 54 | # ModemManager should ignore the following devices | ||
| 55 | # Atmel SAM-BA (Massdrop) | ||
| 56 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 57 | |||
| 58 | # Caterina (Pro Micro) | ||
| 59 | ## Spark Fun Electronics | ||
| 60 | ### Pro Micro 3V3/8MHz | ||
| 61 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 62 | ### Pro Micro 5V/16MHz | ||
| 63 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 64 | ### LilyPad 3V3/8MHz (and some Pro Micro clones) | ||
| 65 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 66 | ## Pololu Electronics | ||
| 67 | ### A-Star 32U4 | ||
| 68 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 69 | ## Arduino SA | ||
| 70 | ### Leonardo | ||
| 71 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 72 | ### Micro | ||
| 73 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 74 | ## Adafruit Industries LLC | ||
| 75 | ### Feather 32U4 | ||
| 76 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 77 | ### ItsyBitsy 32U4 3V3/8MHz | ||
| 78 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 79 | ### ItsyBitsy 32U4 5V/16MHz | ||
| 80 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 81 | ## dog hunter AG | ||
| 82 | ### Leonardo | ||
| 83 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 84 | ### Micro | ||
| 85 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 86 | ``` | ||
| 87 | 23 | ||
| 88 | Once added, run the following: | 24 | Once added, run the following: |
| 89 | 25 | ||
diff --git a/util/udev/50-qmk.rules b/util/udev/50-qmk.rules new file mode 100644 index 000000000..d2abf490d --- /dev/null +++ b/util/udev/50-qmk.rules | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | # Atmel DFU | ||
| 2 | ### ATmega16U2 | ||
| 3 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 4 | ### ATmega32U2 | ||
| 5 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 6 | ### ATmega16U4 | ||
| 7 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 8 | ### ATmega32U4 | ||
| 9 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 10 | ### AT90USB64 | ||
| 11 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 12 | ### AT90USB128 | ||
| 13 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 14 | |||
| 15 | # Input Club | ||
| 16 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 17 | |||
| 18 | # STM32duino | ||
| 19 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 20 | # STM32 DFU | ||
| 21 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 22 | |||
| 23 | # BootloadHID | ||
| 24 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 25 | |||
| 26 | # USBAspLoader | ||
| 27 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess" | ||
| 28 | |||
| 29 | # ModemManager should ignore the following devices | ||
| 30 | # Atmel SAM-BA (Massdrop) | ||
| 31 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 32 | |||
| 33 | # Caterina (Pro Micro) | ||
| 34 | ## Spark Fun Electronics | ||
| 35 | ### Pro Micro 3V3/8MHz | ||
| 36 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 37 | ### Pro Micro 5V/16MHz | ||
| 38 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 39 | ### LilyPad 3V3/8MHz (and some Pro Micro clones) | ||
| 40 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 41 | ## Pololu Electronics | ||
| 42 | ### A-Star 32U4 | ||
| 43 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 44 | ## Arduino SA | ||
| 45 | ### Leonardo | ||
| 46 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 47 | ### Micro | ||
| 48 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 49 | ## Adafruit Industries LLC | ||
| 50 | ### Feather 32U4 | ||
| 51 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 52 | ### ItsyBitsy 32U4 3V3/8MHz | ||
| 53 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 54 | ### ItsyBitsy 32U4 5V/16MHz | ||
| 55 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 56 | ## dog hunter AG | ||
| 57 | ### Leonardo | ||
| 58 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
| 59 | ### Micro | ||
| 60 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" | ||
