Portál AbcLinuxu, 9. května 2025 06:08

Dotaz: Umožňuje kernel blacklist určitých USB zařízení?

16.1.2008 14:58 Ctirad Feřtr | skóre: 43 | Praha
Umožňuje kernel blacklist určitých USB zařízení?
Přečteno: 439×
Odpovědět | Admin
Zdravím, dá se nějak jádru vysvětlit, aby mi určité (v tomto případě USB) zařízení ignoroval i když třeba jeho ovladač bude zavedený? Prostě nějaký blacklist, kam bych napsal příslušná usbid a systém by se je nepokoušel inicializovat?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.1.2008 18:07 sweto | skóre: 20
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Udev ma blacklist modulov, ktore sa nemaju pouzivat. Ak vsak mas modul zavedeny (a aj sa pouziva) a chces zakazat iba konkretne zariadenie (napr. konkretny USB kluc), tak by som skusil udev rules a blokoval to v nich.
18.1.2008 10:50 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Blacklist modulů samozřejmě znám a proto jsem zdůrazňoval, že mi jde o blacklist zařízení. Udev mě taky napadlo, ale po zkouknutí té dokumentace si nejsem vůbec jist, jestli přes rules taková věc vůbec udělat jde, natož jak. Nějaké další nápady?
18.1.2008 11:05 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Udělat jde všechno. Kupř. tak, že udev může spustit skript, kterým se s tím zařízením něco provede, případně rovnou nastavit příslušná práva viz příklad z /etc/udev/rules.d/55-hpmud.rules
# Check for Deskjet products (0x03f0xx04). 
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="??04", OWNER="lp", GROUP="scanner", MODE="0660"
18.1.2008 14:02 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
No to je sice pěkné, ale to zařízení si dokážu najít i vyparsovaním id z /proc nebo /sys, ale jak mu zabráním aby se inicializovalo?
18.1.2008 14:59 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Nechápu. To že si někdo najde nějaké zařízení ještě neznamená že si ho může připojit. Pokud vím, tak u udev pravidel platí, že to pravidlo které se uplatní dřív má přednost. Takže stačí si vymyslet pravidlo na jehož základě se ono zařízení vzápětí po svém vytvoření zruší a máte vystaráno, ne?
18.1.2008 15:19 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
U zařízení typu klíčenka by to takhle opravdu fungovalo, ale to bohužel zrovna není můj případ. Potřebuju nějak odfiltrovat některé www kamery, co obsahují usb zvukovu, která mi díky absenci playback části dělá bordel ve zvukovkách, které v té aplikaci musí bezpodmínečně fungovat.
18.1.2008 16:50 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Ovšem právě tohle by šlo přes udev pravidla udělat celkem v pohodě. Stačilo by pro inkriminované kamery (které lze identifikovat podle nejrůznějších klíčů) předřadit pravidlo které by jejich zvukové zařízení pojmenovalo jinak. Udev pravidla nejsou dobrá jen pro nastavení klíčenky.

Bohužel víc poradit nemohu, protože nemám k dispozici podobné zařízení, abych to mohl odzkoušet.
18.1.2008 15:12 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Asi by bylo potřeba specifikovat, co konkrétně myslíš "inicializací" zařízení. Zda jde o natažení modulu pro příslušné zařízení, zavolání inicializační rutiny zařízení modulem, vytvoření zařízení v /dev (/sys), atd. A ještě lépe, k čemu by to mělo sloužit :)
18.1.2008 15:20 Ctirad Feřtr | skóre: 43 | Praha
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Myslím tím říct jádru/modulu: "Pokud toto zařízení v systému najdeš, vůbec se ho nedotýkej".
18.1.2008 16:31 kilinux | skóre: 15 | blog: KILinux
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Myslim, ze jste si uz castecne odpovedel. Pokud je potreba, aby modul zarizeni neinicializoval, musi to sam umet.Anebo musi jadro dotycne zarizeni modulu znepristupnit. Oboji asi nepujde bez patchovani jadra/modulu. Pokud jde o modul, pomohlo by mu ve zdrojacich vymazat id-cka dotycneho zarizeni.
Pavel Stárek avatar 18.1.2008 16:49 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Umožňuje kernel blacklist určitých USB zařízení?
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co zkusit do udev rules:

SYSFS{idVendor}=="vendorid", SYSFS{idProduct}=="productid", OPTIONS+="ignore_device", OPTIONS+="last_rule"

samozřejmě do vendorid a productid vyplnit hodnoty pro tu kamerku. Ještě by stálo za to, možná vyplnit SYSFS{neco}=="nejakahodnota", kde neco je jako subsytem id (nevím jestli takový nějaký atribut pro to SYSFS existuje), protože ta kamerka se evidentně skládá jakoby ze dvouch částí, audio (tu nechceme) a video (tu chceme), čili při identifikaci na USB sběrnici musí posílat minimálně dvě konfigurace, a kernel pro ně vybere patřičné ovladače.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.