| 1 | # udev rules file for openct |
|---|
| 2 | |
|---|
| 3 | # Update 2009-11-25 |
|---|
| 4 | # Thanks to Scott James Remnant and Martin Pitt for helping on irc |
|---|
| 5 | # to figure out the new syntax / rules for udev. |
|---|
| 6 | |
|---|
| 7 | # COMPATIBILITY NOTES |
|---|
| 8 | # new versions of udev want DRIVERS, older versions only support DRIVER |
|---|
| 9 | # new versions of udev want SUBSYSTEMS, older versions only support BUS |
|---|
| 10 | # |
|---|
| 11 | # new combinations of udev and linux kernel do not create proper events |
|---|
| 12 | # (or udev processes them "too fast" / race conditions) or similar. |
|---|
| 13 | # as a result there is no way to get openct-control run when a usb smart |
|---|
| 14 | # card reader is plugged in. restarting the init script will help as a |
|---|
| 15 | # crude workaround. |
|---|
| 16 | # |
|---|
| 17 | SUBSYSTEM!="usb", GOTO="openct_usb_rules_end" |
|---|
| 18 | ACTION!="add", GOTO="openct_usb_rules_end" |
|---|
| 19 | |
|---|
| 20 | # last file created by the kernel, if this is present everything should be |
|---|
| 21 | # KERNEL=="[0-9]*:*", WAIT_FOR_ATTR="bInterfaceProtocol" |
|---|
| 22 | # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more. |
|---|
| 23 | |
|---|
| 24 | # sleep for 100ms - the wait_for_sysfs might not be enough |
|---|
| 25 | PROGRAM="/bin/sleep 0.1" |
|---|
| 26 | |
|---|
| 27 | # ccid |
|---|
| 28 | ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent" |
|---|
| 29 | |
|---|
| 30 | # egate |
|---|
| 31 | ATTR{idVendor}=="0973", ATTR{idProduct}=="0001", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 32 | # eToken |
|---|
| 33 | ATTR{idVendor}=="0529", ATTR{idProduct}=="050c", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 34 | ATTR{idVendor}=="0529", ATTR{idProduct}=="0514", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 35 | # eToken 64 |
|---|
| 36 | ATTR{idVendor}=="0529", ATTR{idProduct}=="0600", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 37 | ATTR{idVendor}=="0529", ATTR{idProduct}=="0700", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 38 | # eutron |
|---|
| 39 | ATTR{idVendor}=="073d", ATTR{idProduct}=="0005", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 40 | # ikey2k |
|---|
| 41 | ATTR{idVendor}=="04b9", ATTR{idProduct}=="1200", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 42 | # ikey3k |
|---|
| 43 | ATTR{idVendor}=="04b9", ATTR{idProduct}=="1300", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 44 | # starkey |
|---|
| 45 | ATTR{idVendor}=="096e", ATTR{idProduct}=="0005", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 46 | # cardman |
|---|
| 47 | #ATTR{idVendor}=="076b", ATTR{idProduct}=="0596", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 48 | #ATTR{idVendor}=="076b", ATTR{idProduct}=="1784", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 49 | #ATTR{idVendor}=="08d4", ATTR{idProduct}=="0009", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 50 | |
|---|
| 51 | # spr 532 - ccid, but with wrong interface class (vendor) :( |
|---|
| 52 | ATTR{idVendor}=="04e6", ATTR{idProduct}=="0003", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 53 | ATTR{idVendor}=="04e6", ATTR{idProduct}=="E003", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 54 | # pertosmart1030 |
|---|
| 55 | ATTR{idVendor}=="072f", ATTR{idProduct}=="0001", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 56 | ATTR{idVendor}=="072f", ATTR{idProduct}=="8009", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 57 | # pertosmart1038 |
|---|
| 58 | ATTR{idVendor}=="072f", ATTR{idProduct}=="9000", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 59 | ATTR{idVendor}=="072f", ATTR{idProduct}=="9006", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 60 | ATTR{idVendor}=="072f", ATTR{idProduct}=="9007", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 61 | ATTR{idVendor}=="072f", ATTR{idProduct}=="90d0", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 62 | # wbeiuu - driver not working yet. |
|---|
| 63 | #ATTR{idVendor}=="104f", ATTR{idProduct}=="0004", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 64 | # cyberjack |
|---|
| 65 | ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 66 | # rutoken |
|---|
| 67 | ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 68 | ATTR{idVendor}=="0a89", ATTR{idProduct}=="0012", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 69 | # ePass3000 |
|---|
| 70 | ATTR{idVendor}=="096e", ATTR{idProduct}=="0401", RUN+="@udevdir@/openct_usb /dev/$name" |
|---|
| 71 | |
|---|
| 72 | LABEL="openct_usb_rules_end" |
|---|
| 73 | |
|---|
| 74 | # udev pcmcia rules file for openct |
|---|
| 75 | # |
|---|
| 76 | SUBSYSTEMS!="pcmcia", GOTO="openct_pcmcia_rules_end" |
|---|
| 77 | ACTION!="add", GOTO="openct_pcmcia_rules_end" |
|---|
| 78 | |
|---|
| 79 | # omnikey cardman 4040 |
|---|
| 80 | SUBSYSTEM=="cardman_4040", RUN+="@udevdir@/openct_pcmcia /dev/$name" |
|---|
| 81 | |
|---|
| 82 | # Gemplus PCMCIA Card |
|---|
| 83 | DRIVERS=="serial_cs", ATTR{prod_id1}=="Gemplus", ATTR{prod_id2}=="SerialPort", ATTR{prod_id3}=="GemPC Card", RUN+="@udevdir@/openct_serial /dev/$name" |
|---|
| 84 | |
|---|
| 85 | LABEL="openct_pcmcia_rules_end" |
|---|