# /etc/udev/rules/70-hid2hci.rules: device naming rules for udev # $Header: /root/magellan-cvs/src/udev/udev-hid2hci.rules.magellan,v 1.3 2010-08-18 02:24:12 niro Exp $ # # There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: # %n - the "kernel number" of the device. # For example, 'sda3' has a "kernel number" of '3' # %k - the kernel name for the device. # %M - the kernel major number for the device # %m - the kernel minor number for the device # %b - the bus id for the device # %c - the string returned by the PROGRAM. (Note, this doesn't work within # the PROGRAM field for the obvious reason.) # %s{filename} - the content of a sysfs attribute. # %% - the '%' char itself. # # Try not to modify this file, if you wish to change things, create a new rule # file that can be run before this one. # ACTION=="remove", GOTO="hid2hci_end" SUBSYSTEM!="usb", GOTO="hid2hci_end" # Variety of Dell Bluetooth devices - match on a mouse device that is # self powered and where a HID report needs to be sent to switch modes # Known supported devices: 413c:8154, 413c:8158, 413c:8162 ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProtocol}=="02", \ ATTRS{bDeviceClass}=="00", ATTRS{idVendor}=="413c", ATTRS{bmAttributes}=="e0", \ RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1" # Logitech devices KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[35e]", \ RUN+="hid2hci --method=logitech-hid --devpath=%p" KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[4abc]|c71[34bc]", \ RUN+="hid2hci --method=logitech-hid --devpath=%p" ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end" # When a Dell device recovers from S3, the mouse child needs to be repoked # Unfortunately the only event seen is the BT device disappearing, so the mouse # device needs to be chased down on the USB bus. ATTR{bDeviceClass}=="e0", ATTR{bDeviceSubClass}=="01", ATTR{bDeviceProtocol}=="01", ATTR{idVendor}=="413c", \ ENV{REMOVE_CMD}="/sbin/udevadm trigger --action=change --subsystem-match=usb --property-match=HID2HCI_SWITCH=1" # CSR devices ATTR{idVendor}=="0a12|0458|05ac", ATTR{idProduct}=="1000", RUN+="hid2hci --method=csr --devpath=%p" LABEL="hid2hci_end"