/dev
hvis de skal styre kritiske ting i ens hjem.
For mit vedkommende benytter jeg begge i forbindelse med Home Automation-systemer, og her er det noget værre rod, hvis der pludselig bytte om på fx. ttyACM1
og ttyACM0
, fordi jeg har tildelt den pågældende enhed til en given container. På den måde virker mine knapper pludselig ikke, der er intet lys - og meget andet driller. Overstående er testet på Debian 8 - tjek din version med cat /etc/issue
./dev
. I denne guide arbejder vi på, at få enheden til, altid at blive genkendt som cc2531sniffer
, så den fremover kan benyttes som /dev/cc2531sniffer
.dmesg | grep ttyACM
ttyACM0
ogttyACM1
. Hver gang du kobler en enhed fra, og til igen, kan du opleve, at de har fået tildelt et nyt dynamisk navn. Der er derfor, at vi gerne vil oprette et tilpasset navn (symlink) til vores enhed. Du skal derfor sikre dig, at du bruger det sidste nye ttyACM eller ttyUSB-navn, i outputtet fra dmesg. Lad dig ikke forvirre af, at den samme enhed måske tidligere, har fået navnet ttyACM0, men nu ttyACM1.ttyACM1
. Nedenfor er et eksempel af, hvordan denne linje ser ud:
[142237.601540] cdc_acm 2-2.2:1.0: ttyACM1: USB ACM device
Nu kan vi altså benytte udevadm, til at få flere oplysninger om denne enhed: udevadm info --name=/dev/ttyACM1 --attribute-walk
.ttyACM1
skal udskiftes, alt efter hvad din enhed har fået tildelt af navn.idVendor
og idProduct
værdierne:ATTRS{idVendor}=="0451"
ATTRS{idProduct}=="16a8"
sudo nano /etc/udev/rules.d/99-usb-serial.rules
cc2531sniffer
, hvorfor denne er angivet som SYMLINK+="cc2531sniffer"
. Du kan naturligvis kalde din enhed noget andet, men jeg vil anbefale at du undgår specialtegn.Ctrl+X
> Y
i Nano), og indlæs nu din nye regel med:
sudo udevadm trigger
ls -l /dev/ | grep 'cc2531'
Med denne ls-kommando, får du listet alle enheder under /dev/
, og dernæst bruger du grep
kommandoen til kun at finde linjer hvor "cc2531" fremgår, hvilket var en del af mit tilpassede enhedsnavn. Du skal altså søge efter noget andet, hvis du vælger et andet navn til din enhed.
Du kan alternativt blot fjerne filteret, ved blot at fjerne alt fra og med |
, såfremt du ikke ønsker dette./dev/cc2531sniffer
.udevadm test -a -p $(udevadm info -q path -n /dev/cc2531sniffer)
sudo udevadm control --reload-rules
efterfulgt af sudo udevadm trigger
, og hvis det intet hjælper, så genstart din maskine.