diff --git a/HISTORY.rst b/HISTORY.rst index 6836d2e1..a1c13793 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -8,6 +8,7 @@ PlatformIO 2.0 ~~~~~~~~~~~~~~~~~~ * Added support for Arduboy, the game system the size of a credit card +* Updated `99-platformio-udev.rules `__ for Linux OS * Refactored firmware uploading to the embedded boards with SAM-BA bootloader 2.9.2 (2016-06-02) diff --git a/platformio/builder/tools/pioupload.py b/platformio/builder/tools/pioupload.py index 06f90790..d839f90f 100644 --- a/platformio/builder/tools/pioupload.py +++ b/platformio/builder/tools/pioupload.py @@ -90,6 +90,14 @@ def AutodetectUploadPort(env): env.Replace(UPLOAD_PORT=item['disk']) break else: + if not isfile("/etc/udev/99-platformio-udev.rules"): + print ( + "\nWarning! Please install `99-platformio-udev.rules` and " + "check that your board's PID and VID are listed in the rules." + "\n https://raw.githubusercontent.com/platformio/platformio" + "/develop/scripts/99-platformio-udev.rules\n" + ) + board_build_opts = env.get("BOARD_OPTIONS", {}).get("build", {}) for item in get_serialports(): if "VID:PID" not in item['hwid']: diff --git a/scripts/99-platformio-udev.rules b/scripts/99-platformio-udev.rules index 5e77fc80..a3c846b7 100644 --- a/scripts/99-platformio-udev.rules +++ b/scripts/99-platformio-udev.rules @@ -45,8 +45,9 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="066 # QinHeng Electronics HL-340 USB-Serial adapter SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666" -# ARDUINO -SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="00??", MODE:="0666" +# Arduino boards +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[08][02]*", MODE:="0666" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="[08][02]*", MODE:="0666" # Arduino SAM-BA ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{ID_MM_DEVICE_IGNORE}="1"