50-qmk.rules: Move udev rules from documentation into a file (#10664)
This makes it overall easier to package for downstream distributions instead of keeping tabs with inline documentation. Signed-off-by: Morten Linderud <morten@linderud.pw>
This commit is contained in:
		
							parent
							
								
									704934c427
								
							
						
					
					
						commit
						7d5ba88e6f
					
				
					 2 changed files with 61 additions and 65 deletions
				
			
		| 
						 | 
				
			
			@ -19,71 +19,7 @@ Note that running `make` with `sudo` is generally ***not*** a good idea, and you
 | 
			
		|||
 | 
			
		||||
### Linux `udev` Rules
 | 
			
		||||
 | 
			
		||||
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/`:
 | 
			
		||||
 | 
			
		||||
**/etc/udev/rules.d/50-qmk.rules:**
 | 
			
		||||
```
 | 
			
		||||
# Atmel DFU
 | 
			
		||||
### ATmega16U2
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
### ATmega32U2
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
### ATmega16U4
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
### ATmega32U4
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
### AT90USB64
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
### AT90USB128
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
 | 
			
		||||
# Input Club
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
 | 
			
		||||
# STM32duino
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
# STM32 DFU
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
 | 
			
		||||
# BootloadHID
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
 | 
			
		||||
# USBAspLoader
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess"
 | 
			
		||||
 | 
			
		||||
# ModemManager should ignore the following devices
 | 
			
		||||
# Atmel SAM-BA (Massdrop)
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
 | 
			
		||||
# Caterina (Pro Micro)
 | 
			
		||||
## Spark Fun Electronics
 | 
			
		||||
### Pro Micro 3V3/8MHz
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
### Pro Micro 5V/16MHz
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
### LilyPad 3V3/8MHz (and some Pro Micro clones)
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
## Pololu Electronics
 | 
			
		||||
### A-Star 32U4
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
## Arduino SA
 | 
			
		||||
### Leonardo
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
### Micro
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
## Adafruit Industries LLC
 | 
			
		||||
### Feather 32U4
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
### ItsyBitsy 32U4 3V3/8MHz
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
### ItsyBitsy 32U4 5V/16MHz
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
## dog hunter AG
 | 
			
		||||
### Leonardo
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
### Micro
 | 
			
		||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
 | 
			
		||||
```
 | 
			
		||||
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/`.
 | 
			
		||||
 | 
			
		||||
Once added, run the following:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue