USB port rights – udev rules

In Ubuntu Linux or other udev enabled systems, libusb devices can only be used as a root user by default. In order to communicate with usbpicprog as a normal user, the following steps can be taken.

Note: in the .deb package, the udev file is already included!

This is an extension of the page USB port problems on the Piklab wiki, it will allow Usbpicprog to access the hardware, it also allows piklab to access the the ICD2 programmer, the Picdem USB bootloader and some other programmers as a normal user. This method works for udev enabled systems (Ubuntu, Debian, …) only, see for other systems the original Piklab wiki in the link above.

  • Create file /etc/udev/rules.d/26-microchip.rules:

#PICKit 1
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0032", MODE="0660",GROUP="plugdev"
#PICKit 2
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0033", MODE="0660",GROUP="plugdev"
#ICD2
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="8000", MODE="0660",GROUP="plugdev"
#ICD21
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="8001", MODE="0660",GROUP="plugdev"
#PICDEM FS USB Bootloader
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="000b", MODE="0660",GROUP="plugdev"
#USBPICPROG
SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="000e", MODE="0660",GROUP="plugdev"

For OpenSuse users

Thanks to Robert Currie

#PICKit 1 
ATTR{idVendor}=="04d8", ATTR{idProduct}=="0032", OWNER:="root", GROUP:="users",MODE:="0660" 
#PICKit 2 
ATTR{idVendor}=="04d8", ATTR{idProduct}=="0033", OWNER:="root", GROUP:="users",MODE:="0660" 
#ICD2 
ATTR{idVendor}=="04d8", ATTR{idProduct}=="8000", OWNER:="root", GROUP:="users",MODE:="0660" 
#ICD21 
ATTR{idVendor}=="04d8", ATTR{idProduct}=="8001", OWNER:="root", GROUP:="users",MODE:="0660" 
#PICDEM FS USB Bootloader 
ATTR{idVendor}=="04d8", ATTR{idProduct}=="000b", OWNER:="root", GROUP:="users",MODE:="0660" 
#USBPICPROG 
ATTR{idVendor}=="04d8", ATTR{idProduct}=="000e", OWNER:="root", GROUP:="users",MODE:="0660"