🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux
Article #895984

Re: Reguły dla udev bierzecie z udevadm?

#895984
From: Pszemol
Date: Sat, 21 May 2016 03:32
52 lines
3850 bytes
"marrgol" <marrgol@address.invalid> wrote in message 
news:nhn205$lvr$1@dont-email.me...
> On 2016-05-20 13:42, Pszemol wrote:
>> Czy dałoby się użyć ATTRS{devpath}=="1.1" i wstawić ją do nazwy 
>> urządzenia
>> NAME?
>
> Poeksperymentuj z wstawieniem do NAME zmiennej %b (np. NAME="nazwa%b")
> - to chyba powinno być to.  Patrz też man udev, szukaj "string
> substitutions", może przydadzą ci się inne zmienne…

Tak, to podstawianie jest bardzo ciekawe. Niestety busname/%b nie wystarczy.
Ten numer to jest port USB Hosta. Niestety dla huba już ten numer nie jest 
dobry,
bo porty huba są oznaczanie po kropce... i busname jest taki sam dla 
wszystkich.

Najbardziej zainteresowało mnie %c jako wartość zwracaną do stdout przez
program uruchomiony przez PROGRAM="namer %p %E{ID_MODEL_ID] %m"
Innymi słowy biorę program (nazwany roboczo "nazywacz") przekazuję mu 
"devpath"=
'/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0/tty/ttyXRUSB4'
z tego stringu wyłuskuję tylko "1.4.3" w swoim programie i składam z tego
nową nazwę portu szeregowego, czyli pierwszy host, hub wetkniety do portu
numer 4 w pececie, moja płytka USB-Serial wetknięta do 3 portu tegoż huba.
Do tego dorzucam ProductId/ModelId, u mnie wynoszący 1422 i MINOR=0 lub 1.
Z tego zlepiam nową nazwę portu, i wtedy zamiast domyślnego ttyXRUSB0
będę miał np. ttyusb-1422-1.4.3-0.

Problem tylko taki, że PROGRAM= nie działa... :-)
Regułę napisałem chyba poprawnie, bo 'udevadm test' nie pokazuje błędów,
nawet wypisuje ładnie rozwinięte substytucje zmiennych wrzucanych do 
programu.
Komenda 'udevadm test' wypisuje mi jednak że mój program zwrócił 2, mimo
że ja z funkcji main() robię return 0. Czy w Linuksie trzeba inaczej wyjść z 
programu?
Próbowałem zamiast return 0 zrobić też exit(0), bez skutku... pisze że 
zwracam 2.

Próbowałem debugować ten program jakoś, bo nie rozumiem co tam nie działa.

Wiem, że mój program uruchamiany jest przez udev bez dostępu do konsoli
tekstowej, więc nic z niego printf'em nie wypiszę, ale coś jest nie tak bo 
nawet
nie mogę utworzyć pliku tekstowego moim katalogu w /home/username.
Próbowałem też z programu wysłać komunikaty do sysloga - też nic nie ma.
W czasie debugowania gdy wywołany z ręki program wpisuje się do sysloga oraz
tworzy plik tekstowy w katalogu home - coś jest nie ten teges z 
uruchomieniem
z poziomu PROGRAM= reguły.

Czy ktoś się tym już bawił i umiałby doradzić? 
Technical Details
Message-ID: <nhokpi$39q$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
References: <nhf1or$3dn$1@dont-email.me> <nhfbtt$8r7$1@dont-email.me> <nhfhjr$usf$1@dont-email.me> <nhmt45$tt6$1@dont-email.me> <nhn205$lvr$1@dont-email.me>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail
From: "Pszemol" <Pszemol@PolBox.com>
Newsgroups: pl.comp.os.linux
Subject: Re: Reguły dla udev bierzecie z udevadm?
Date: Fri, 20 May 2016 22:32:12 -0500
Organization: A noiseless patient Spider
Lines: 1
Message-ID: <nhokpi$39q$1@dont-email.me>
References: <nhf1or$3dn$1@dont-email.me> <nhfbtt$8r7$1@dont-email.me> <nhfhjr$usf$1@dont-email.me> <nhmt45$tt6$1@dont-email.me> <nhn205$lvr$1@dont-email.me>
Reply-To: "Pszemol" <Pszemol@BigFoot.com>
Mime-Version: 1.0
Injection-Date: Sat, 21 May 2016 03:30:58 -0000 (UTC)
Injection-Info: mx02.eternal-september.org; posting-host="1a6d3fa4af3609ccdbd33ac7cb86c1f1"; logging-data="3386"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18WUxMcPrUsQiXdn14CBD2M"
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8117.416
In-Reply-To: <nhn205$lvr$1@dont-email.me>
X-Newsreader: Microsoft Windows Live Mail 14.0.8117.416
Importance: Normal
Cancel-Lock: sha1:ebE7XUdYL3oW15icikqcW61XYQk=
X-Priority: 3
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit