Merge pull request #173127 from aidalgol/teensy-udev-rules

teensy-udev-rules: init at version 2022-05-15
This commit is contained in:
Ryan Burns 2022-07-03 14:05:07 -07:00 committed by GitHub
commit 3854cf7eeb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 82 additions and 0 deletions

View file

@ -303,6 +303,11 @@
as coreboots fork is no longer available.
</para>
</listitem>
<listitem>
<para>
Add udev rules for the Teensy family of microcontrollers.
</para>
</listitem>
<listitem>
<para>
There is a new module for the <literal>thunar</literal>

View file

@ -114,6 +114,8 @@ Use `configure.packages` instead.
- memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
- Add udev rules for the Teensy family of microcontrollers.
- There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and in a future release it may be removed.
- There is a new module for the `xfconf` program (the Xfce configuration storage system), which has a dbus service.

View file

@ -0,0 +1,34 @@
{ lib, stdenv, coreutils }:
stdenv.mkDerivation {
pname = "teensy-udev-rules";
version = "2022-05-15";
# Source: https://www.pjrc.com/teensy/00-teensy.rules
src = ./teensy.rules;
dontUnpack = true;
runtimeDeps = [ coreutils ];
installPhase = ''
install -D $src $out/etc/udev/rules.d/70-teensy.rules
substituteInPlace $out/etc/udev/rules.d/70-teensy.rules \
--replace "/bin/stty" "${coreutils}/bin/stty"
'';
meta = with lib; {
homepage = "https://www.pjrc.com/teensy/00-teensy.rules";
description = ''
udev rules that give non-root users permission to communicate with the
Teensy family of microcontrolers.
ModemManager (part of NetworkManager) can interfere with USB Serial
devices, which includes the Teensy. See comments in the .rules file (or
this package's homepage) for possible workarounds.
'';
platforms = platforms.linux;
license = "unknown";
maintainers = with maintainers; [ aidalgol ];
};
}

View file

@ -0,0 +1,39 @@
# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/
#
# The latest version of this file may be found at:
# http://www.pjrc.com/teensy/00-teensy.rules
#
# This file must be placed at:
#
# /etc/udev/rules.d/00-teensy.rules (preferred location)
# or
# /lib/udev/rules.d/00-teensy.rules (req'd on some broken systems)
#
# To install, type this command in a terminal:
# sudo cp 00-teensy.rules /etc/udev/rules.d/00-teensy.rules
#
# After this file is installed, physically unplug and reconnect Teensy.
#
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789a]*", ENV{MTP_NO_PROBE}="1"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", MODE:="0666", RUN:="/bin/stty -F /dev/%k raw -echo"
KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", MODE:="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04*", MODE:="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="013*", MODE:="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="013*", MODE:="0666"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
#
# ModemManager tends to interfere with USB Serial devices like Teensy.
# Problems manifest as the Arduino Serial Monitor missing some incoming
# data, and "Unable to open /dev/ttyACM0 for reboot request" when
# uploading. If you experience these problems, disable or remove
# ModemManager from your system. If you must use a modem, perhaps
# try disabling the "MM_FILTER_RULE_TTY_ACM_INTERFACE" ModemManager
# rule. Changing ModemManager's filter policy from "strict" to "default"
# may also help. But if you don't use a modem, completely removing
# the troublesome ModemManager is the most effective solution.

View file

@ -24375,6 +24375,8 @@ with pkgs;
wooting-udev-rules = callPackage ../os-specific/linux/wooting-udev-rules { };
teensy-udev-rules = callPackage ../os-specific/linux/teensy-udev-rules { };
wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { };
wpa_supplicant_ro_ssids = wpa_supplicant.override {