Uruchomienie czujnika w systemie Linux

Zaczęty przez Szopler, 30 Listopad 2011, 23:17

Szopler

0. http://www.boincatpoland.org/wiki/Instalacja_BOINC_na_systemie_GNU/Linux

1. Dodajemy docelowego usera (u mnie user "boinc") na którym śmiga BOINC do grupy plugdev (Debian, Ubuntu 11.04, nie wiem jak na innych, na Ubuntu 11.04 też działa).
sudo usermod -a -G plugdev boinc
2. Tworzymy plik 53-radioactive.rules w /etc/udev/rules.d
sudo nano /etc/udev/rules.d/53-radioactive.rules
wpisujemy

#r@h
SYSFS{idVendor}=="16c0", MODE="666", GROUP="plugdev"
LABEL="radioactive_rules_end"

następnie ctrl+x aby wyjść na koniec zatwierdzając zmiany w pliku.

Restart (ja zrestartowałem kompa) i działa.

Cytat: gaballus w 15 Styczeń 2012, 19:57
Jakiś czas temu wprowadzono zmiany w linuksowym podsystemie udev, wskutek czego zmieniła się trochę składnia reguł udeva. SYSFS jest przestarzałe i nie działa już w Debianie testing ani unstable, w stable działa ale też wyrzuca ostrzeżenie o "deprecated", nie wiem jak jest w Ubuntu ale zapewne też za chwilę przestanie działać.
W miejsce SYSFS należy wpisać ATTR.
Poniżej uaktualniona zawartość pliku 53-radioactive.rules

#RAD@Home
ATTR{idVendor}=="16c0", MODE="666", GROUP="plugdev"

Linijka LABEL="radioactive_rules_end" ze starego pliku jest zbędna, aczkolwiek nieszkodliwa :)
Przy okazji plikiem można opędzić kilka innych urządzeń i tak np powyższa linijka załatwia nam wszystkie urządzenia o vendorze 16c0, ja np oprócz RAD@H mam też programator do Atmeli USBasp o tym vendorze.
Mam tez dopisany w pliku programator do PICów PICkit3. W takim przypadku warto zmienić nazwę pliku z 53-radioactive.rules na jakąś bardziej uniwersalną pamiętając o zachowaniu reguł dla nazwy czyli liczby i rozszerzenia rules. U mnie plik ten ma nazwę 53-electronic-tools.rules i wygląda tak:

#RAD@Home, USBasp, etc.
ATTR{idVendor}=="16c0", MODE="666", GROUP="plugdev"
#PICkit3
ATTR{idVendor}=="04d8", MODE="666", GROUP="plugdev"

Nie ma też potrzeby restartowania komputera, wystarczy wydać polecenie z prawami administratora:

/etc/init.d/udev restart

czyli w Debianie jak powyżej z konta roota a w Ubuntu:

sudo /etc/init.d/udev restart


Możemy też sprawdzić czy nasze poczynania przyniosły zamierzony efekt:

udevadm test /sys/bus/usb/devices/

jeśli w wynikach znajdziemy linijkę:

parse_file: reading '/etc/udev/rules.d/53-radioactive.rules' as rules file

i nie będzie tu żadnych errorów to operacja się powiodła. :boing: