In the summer, I successfully made my Proxmark3 work by working around
every symptom of bit rot that made it impossible to run in a recent
environment. One bit that survived the aforementioned effect was the single
udev entry that solved the controversy of the principle of least privilege
and the need of raw USB access. As the official HOWTO mentioned, putting
the following line into the udev configuration
(/etc/udev/rules.d/026-proxmark.rules
on Debian) ensured that the Proxmark3
USB device node will be accessible by any user in the dnet
group.
SYSFS{idVendor}=="9ac4", SYSFS{idProduct}=="4b8f", MODE="0660", GROUP="dnet"
However, the SYSFS{}
notation became obsolete in newer udev releases,
and at first, I followed the instincts of a real programmer by disregarding
a mere warning. But with a recent udev upgrade, complete removal of support for
the obsolete notation came, so I had to face messages like the following on
every boot.
unknown key 'SYSFS{idVendor}' in /etc/udev/rules.d/026-proxmark.rules:1
invalid rule '/etc/udev/rules.d/026-proxmark.rules:1'
The solution is detailed on many websites, including the blogpost of jpichon, who also met the issue in a Debian vs. custom hardware situation. The line in the udev configuration has to be changed to something like the following.
SUBSYSTEM=="usb", ATTR{idVendor}=="9ac4", ATTR{idProduct}=="4b8f", MODE="0660", GROUP="dnet"