Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Ignorování zařízení v HAL  (Přečteno 1199 krát)

djkiller

  • Návštěvník
  • Příspěvků: 6
Ignorování zařízení v HAL
« kdy: 03 Října 2010, 19:50:00 »
Zdravím,

potřeboval bych, aby HAL ignoroval jedno zařízení. Zkoušel jsem to nastavovat, ale stále neignoruje. Jaký je správný postup? Ignorování jsem nastavoval podle usb.product_id a usb.vendor_id:
usb.vendor_id = 1137  (0x471)  (int)
usb.product_id = 8300  (0x206c)  (int)

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Ignorování zařízení v HAL
« Odpověď #1 kdy: 03 Října 2010, 21:13:48 »
Co to je za zařízení?
Jaké Ubuntu?
http://www.openstreetmap.org - mapy celého světa "wiki style"

djkiller

  • Návštěvník
  • Příspěvků: 6
Re: Ignorování zařízení v HAL
« Odpověď #2 kdy: 03 Října 2010, 21:24:08 »
Ubuntu 10.04. Zařízení je PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS. Je to infra přijímač dodávaný k desce, potřeboval bych, aby se v systému neregistroval jako input.

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Ignorování zařízení v HAL
« Odpověď #3 kdy: 03 Října 2010, 21:47:56 »
Zkoušels' to přes udev? Nevíš, pod čím se to zařízení v /dev objeví? (/dev/input/by-id/??)
http://www.openstreetmap.org - mapy celého světa "wiki style"

djkiller

  • Návštěvník
  • Příspěvků: 6
Re: Ignorování zařízení v HAL
« Odpověď #4 kdy: 03 Října 2010, 21:57:23 »
Přes udev jsem to nezkoušel, kouknu jak na to. V /dev/input/by-id má dvě položky:
usb-PHILIPS_MCE_USB_IR_Receiver-_Spinel_plusf0r_ASUS-event-ir (mapováno na event5)
usb-PHILIPS_MCE_USB_IR_Receiver-_Spinel_plusf0r_ASUS-ir (mapováno na mouse2)

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Ignorování zařízení v HAL
« Odpověď #5 kdy: 03 Října 2010, 22:21:14 »
Kdyby se ti to (ne)podařilo, dej vědět, na internetu k tomuto není moc informací...
http://www.openstreetmap.org - mapy celého světa "wiki style"

djkiller

  • Návštěvník
  • Příspěvků: 6
Re: Ignorování zařízení v HAL
« Odpověď #6 kdy: 05 Října 2010, 10:14:38 »
Tak zkusil jsem do udev přidat pravidlo:
Kód: [Vybrat]
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", ATTRS{idProduct}=="206c", OPTIONS=="ignore_device"Po restartu je zařízení pořád v /dev/input, takže žádná změna.

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Ignorování zařízení v HAL
« Odpověď #7 kdy: 05 Října 2010, 10:37:55 »
Dobrá práce, problém ale je, že parametr ignore_device je ignorován  :) (viz man udev).

Jediné řešení, které jsem já našel (ale nemám vyzkoušené pro input), je zkopírovat příslušný .rules soubor z /lib do /etc (aby měl přednost)
Kód: [Vybrat]
sudo cp /lib/udev/rules.d/60-persistent-input.rules /etc/udev/rules.d

a to pravidlo dát nahoru tak, aby přeskočilo (pomocí GOTO) všechna ostatní až na konec, např.
Kód: [Vybrat]
# přidáno uživatelem: ignore PHILIPS MCE USB IR Receiver- Spinel plusf0r ASUS
ATTRS{idVendor}=="0471", ATTRS{idProduct}=="206c", GOTO="persistent_input_end"

ACTION!="add|change", GOTO="persistent_input_end"
SUBSYSTEM!="input", GOTO="persistent_input_end"
KERNEL=="input[0-9]*", GOTO="persistent_input_end"

ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{program}="usb_id --export %p"
...

Možná že to bude potřeba udělat pro více souborů, možná pro jiný soubor úplně, záleží na tom, co potřebuješ blokovat. Velmi v tom pomáhá debugovací příkaz udevadm test, který ukazuje, co by udev provedl s daným zařízením nanečisto (dry-run), např.
Kód: [Vybrat]
sudo udevadm test /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host8/target8:0:0/8:0:0:0/block/sdc(cestu k zařízení lze zjistit např. pomocí udevadm info -q path -n /dev/input/mouse apod.)
http://www.openstreetmap.org - mapy celého světa "wiki style"

 

Provoz zaštiťuje spolek OpenAlt.