Page 1 of 1
UDEV rules (Linux)
Posted: Fri Mar 17, 2023 9:45 am
by hajo
Satt och labbade lite med min Ubuntuinstallation och tellstick.
Eftersom jag har en display med samma typ av usbchip (ftdi) blev det konflikt beroende på vilken ordning man satte i usb-kontakterna. Det löste sig genom att skriva om udev-regeln som förslagits i wikin till:
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30" NAME="tellstick"
Alltså det som är ändrat är efter "KERNEL==" så ändrade jag USB0 till USB*
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Helt klart ska det vara så! Uppdatera gärna wikin.
Posted: Fri Mar 17, 2023 9:45 am
by niklas
Jag kör Fedora 6 och har i filen /etc/udev/rules.d/10-tellstick.rules lagt in
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30", MODE="0666", NAME="tellstick"
precis som det står på
http://www.telldus.se/wiki/index.php?ti ... _drivrutin men rättigheterna på /dev/tellstick ändras inte så att en vanlig användare får skriva.
Vad kan jag gjort för fel?
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Du kan testa att lägga till GROUP för att ändra gruppen på /dev/tellstick
Posted: Fri Mar 17, 2023 9:45 am
by hajo
Eller prova att kör
chmod 666 /dev/tellstick
som root
Posted: Fri Mar 17, 2023 9:45 am
by niklas
chmod 666 /dev/tellstick kör jag manuellt idag.
Jag vill dock att det ska fungera automatiskt. Dessutom är det ju kul att lära sig hur man kan göra.
Jag fick det inte att fungera med GROUP. Jag la till GROUP="mythtv" där mythtv är den grupp som jag vill ska kunna skriva.
Min rad för udev ser ut så här:
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30"
, MODE="0666", GROUP="mythtv", NAME="tellstick"
Jag har bootat om datorn.
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Testa att ta bort kommat på sakerna som ska sättas. Så här ser min regel ut:
Code: Select all
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30" NAME="tellstick" GROUP="uucp"
Posted: Fri Mar 17, 2023 9:45 am
by niklas
Min regel ser nu ut så här:
Code: Select all
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30" NAME="tellstick" GROUP="UUCP"
När jag sedan kör ls -l /dev/tellstick ser det ut så här:
Code: Select all
crw------- 1 root root 188, 0 30 nov 08.34 /dev/tellstick
Jag gör uppenbarligen något fel men jag kan inte se vad det är. udev verkar strunta i allt om NAME för mig. GROUP och MODE verkar den strunta i.
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Jag vet inte om GROUP är case-sensitive? Kolla också att du har gruppen "uucp". Försök annars hitta några loggar från udev och se vad den säger.
Posted: Fri Mar 17, 2023 9:45 am
by hajo
Det löser inte problemet med UDEV men lägg till användaren i gruppen uucp men kommandot:
useradd -G groupname username[/i]
så ska det fungera
Posted: Fri Mar 17, 2023 9:45 am
by ansim
Hej,
Jag hade samma problem med /dev/tellstick, 0660 i permissions:
crw-rw---- 1 root root 188, 0 2007-12-16 20:23 /dev/tellstick
Då såg mina udev regler ut så här
cat 10-tellstick.rules
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30" NAME="tellstick"
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30", MODE="0666", NAME="tellstick"
Efter att ha kommenterat den första raden, så gäller bara den andra, den med MODE i.
Detta fixade permissions till:
crw-rw-rw- 1 root root 188, 0 2007-12-16 20:23 /dev/tellstick
Jag tolkade Wikin för linux-drivers fel, som att båda raderna skulle stå i rules filen.
Det räcker med den undre, med MODE i.
Nu kan jag tända och släcka via wap-sida
//Anders
Posted: Fri Mar 17, 2023 9:45 am
by niklas
När jag stoppar in precis den raden så ser det ut så här för mig:
# ls -l /dev/tellstick
crw------- 1 root root 188, 0 16 dec 21.54 /dev/tellstick
Jag kör Fedora 6. Vad kör du för Linux?
Posted: Fri Mar 17, 2023 9:45 am
by ansim
slackware 11, med kernel 2.6.21.5
//Anders
Posted: Fri Mar 17, 2023 9:45 am
by hajo
Efter intensivt googlande så tror jag att jag har hittat en lösning:
lägg till , OPTIONS="last_rule" sist i raden, alltså:
KERNEL=="ttyUSB*", BUS=="usb", SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c30", MODE="0666", NAME="tellstick", OPTIONS="last_rule"
Jag kör Fedora Core 4.
Posted: Fri Mar 17, 2023 9:45 am
by niklas
Det fungerade kalas!
Tack för hjälpen!!!
Jag tror att jag lärt mig en del om udev nu och det var nyttigt.
/Niklas