mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
4.9 KiB

  1. # There are a number of modifiers that are allowed to be used in some
  2. # of the different fields. They provide the following subsitutions:
  3. #
  4. # %n the "kernel number" of the device.
  5. # For example, 'sda3' has a "kernel number" of '3'
  6. # %e the smallest number for that name which does not matches an existing node
  7. # %k the kernel name for the device
  8. # %M the kernel major number for the device
  9. # %m the kernel minor number for the device
  10. # %b the bus id for the device
  11. # %c the string returned by the PROGRAM
  12. # %s{filename} the content of a sysfs attribute
  13. # %% the '%' char itself
  14. #
  15. # workaround for devices which do not report media changes
  16. BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}=="1", \
  17. ENV{ID_MODEL}=="IOMEGA_ZIP*", NAME="%k", OPTIONS+="all_partitions"
  18. # IDE devices
  19. BUS=="ide", KERNEL=="hd[a-z]*", PROGRAM="/lib/udev/ide-devfs.sh %k %b %n", \
  20. NAME="%c{1}", SYMLINK+="%k %c{2}", GROUP="%c{3}"
  21. # SCSI devices
  22. BUS=="scsi", PROGRAM="/lib/udev/scsi-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
  23. # RAID controllers
  24. KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="/lib/udev/raid-devfs.sh %k", \
  25. NAME="%c{1}", SYMLINK+="%k"
  26. # other block devices
  27. KERNEL=="md[0-9]*", NAME="md/%n",
  28. KERNEL=="loop[0-9]*", NAME="loop/%n"
  29. KERNEL=="ram[0-9]*", NAME="rd/%n"
  30. # USB devices
  31. BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
  32. BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
  33. BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
  34. BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
  35. BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
  36. BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
  37. BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
  38. SYMLINK+="pilot"
  39. # usbfs-like devices
  40. SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; B=$${K%%%%.*}; D=$${K#*.}; echo bus/usb/$$B/$$D'", \
  41. NAME="%c"
  42. # serial devices
  43. KERNEL=="ttyS[0-9]*", NAME="tts/%n"
  44. KERNEL=="ttyUSB[0-9]*", NAME="tts/USB%n"
  45. KERNEL=="rfcomm[0-9]*", NAME="bluetooth/rfcomm/%n",
  46. KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
  47. KERNEL=="capi[0-9]*", NAME="capi/%n"
  48. # vc devices
  49. KERNEL=="tty[0-9]*", NAME="vc/%n"
  50. KERNEL=="vcs", NAME="vcc/0"
  51. KERNEL=="vcs[0-9]*", NAME="vcc/%n"
  52. KERNEL=="vcsa", NAME="vcc/a0"
  53. KERNEL=="vcsa[0-9]*", NAME="vcc/a%n"
  54. # video devices
  55. KERNEL=="video[0-9]*", NAME="v4l/%k"
  56. KERNEL=="radio[0-9]*", NAME="v4l/%k"
  57. KERNEL=="vbi[0-9]*", NAME="v4l/%k"
  58. KERNEL=="vtx[0-9]*", NAME="v4l/%k"
  59. KERNEL=="dvb*", PROGRAM="/bin/sh -c 'KNAME=%k; KNAME=$${KNAME#dvb}; A=$${KNAME%%%%.*}; D=$${KNAME#*.}; echo dvb/adapter$$A/$$D'", \
  60. NAME="%c"
  61. KERNEL=="fb[0-9]*", NAME="fb/%n"
  62. KERNEL=="card[0-9]*", NAME="dri/%k"
  63. # misc devices
  64. KERNEL=="apm_bios", NAME="misc/%k",
  65. KERNEL=="agpgart", NAME="misc/%k"
  66. KERNEL=="hw_random", NAME="hwrng"
  67. KERNEL=="nvram", NAME="misc/%k"
  68. KERNEL=="psaux", NAME="misc/%k"
  69. KERNEL=="rtc", NAME="misc/%k"
  70. KERNEL=="tun", NAME="net/%k"
  71. # printers and parallel devices
  72. KERNEL=="lp[0-9]*", NAME="printers/%n"
  73. KERNEL=="parport[0-9]*", NAME="parports/%n"
  74. KERNEL=="i2c-[0-9]*", NAME="i2c/%n"
  75. KERNEL=="fd[0-9]*", NAME="floppy/%n"
  76. KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
  77. KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
  78. KERNEL=="pktcdvd", NAME="pktcdvd/control"
  79. KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
  80. KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
  81. KERNEL=="microcode", NAME="cpu/microcode", SYMLINK="misc/microcode"
  82. KERNEL=="umad*", NAME="infiniband/%k"
  83. KERNEL=="issm*", NAME="infiniband/%k"
  84. KERNEL=="uverbs*", NAME="infiniband/%k"
  85. KERNEL=="ucm*", NAME="infiniband/%k"
  86. # sound devices
  87. KERNEL=="controlC[0-9]*", NAME="snd/%k"
  88. KERNEL=="hwC[D0-9]*", NAME="snd/%k"
  89. KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
  90. KERNEL=="midiC[D0-9]*", NAME="snd/%k"
  91. KERNEL=="timer", NAME="snd/%k"
  92. KERNEL=="seq", NAME="snd/%k"
  93. KERNEL=="audio*", NAME="sound/%k"
  94. KERNEL=="dsp*", NAME="sound/%k"
  95. KERNEL=="adsp*", NAME="sound/%k"
  96. KERNEL=="midi*", NAME="sound/%k"
  97. KERNEL=="mixer*", NAME="sound/%k"
  98. KERNEL=="sequencer*", NAME="sound/%k"
  99. KERNEL=="amidi*", NAME="sound/%k"
  100. KERNEL=="dmmidi*", NAME="sound/%k"
  101. KERNEL=="admmidi*", NAME="sound/%k"
  102. # ieee1394 devices
  103. KERNEL=="dv1394*", NAME="dv1394/%n"
  104. KERNEL=="video1394*", NAME="video1394/%n"
  105. # input devices
  106. KERNEL=="mice", NAME="input/%k"
  107. KERNEL=="mouse[0-9]*", NAME="input/%k"
  108. KERNEL=="event[0-9]*", NAME="input/%k"
  109. KERNEL=="js[0-9]*", NAME="input/%k"
  110. KERNEL=="ts[0-9]*", NAME="input/%k"
  111. KERNEL=="uinput", NAME="input/%k"
  112. # Zaptel
  113. KERNEL=="zapctl", NAME="zap/ctl"
  114. KERNEL=="zaptimer", NAME="zap/timer"
  115. KERNEL=="zapchannel", NAME="zap/channel"
  116. KERNEL=="zappseudo", NAME="zap/pseudo"
  117. KERNEL=="zap[0-9]*", NAME="zap/%n"
  118. # AOE character devices
  119. SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
  120. SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
  121. SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
  122. # device mapper creates its own device nodes, so ignore these
  123. KERNEL=="dm-[0-9]*", NAME=""
  124. KERNEL=="device-mapper", NAME="mapper/control"
  125. ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper"