home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / lib / udev / rules.d / 80-udisks.rules < prev    next >
Encoding:
Text File  |  2010-09-27  |  9.6 KB  |  222 lines

  1. # Do not edit this file, it will be overwritten on updates
  2. #
  3.  
  4. # import names for PCI storage controllers
  5. #
  6. SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
  7.  
  8. # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
  9. # the device is on a cardbus controller (upper PCI device) - then we check
  10. # vid/pid (lower PCI device)
  11. #
  12. SUBSYSTEM=="scsi_host", ATTRS{class}=="0x060700", GOTO="ata_port_cardbus"
  13. GOTO="ata_port_cardbus_end"
  14. LABEL="ata_port_cardbus"
  15. # Mass storage controller: Silicon Image, Inc. SiI 3512 [SATALink/SATARaid] Serial ATA Controller (rev 01)
  16. #
  17. SUBSYSTEMS=="pci", ATTRS{vendor}=="0x1095", ATTRS{device}=="0x3512", ENV{UDISKS_ATA_PORT_CONNECTOR_TYPE}="ata_sata_external"
  18. LABEL="ata_port_cardbus_end"
  19.  
  20. # probe SAS expanders
  21. #
  22. # (hmm, this might be racy, we might not have the BSG device just yet - if
  23. #  this is the case we can trigger a 'change' on the sas_expander device
  24. #  when the bsg device appears)
  25. #
  26. SUBSYSTEM=="sas_expander", ACTION=="add|change", IMPORT{program}="udisks-probe-sas-expander /sys/%p"
  27.  
  28. ##############################################################################################################
  29.  
  30. # from here on, we only care about block devices
  31. ACTION!="add|change", GOTO="udisks_end"
  32. SUBSYSTEM!="block", GOTO="udisks_end"
  33. KERNEL=="ram*", GOTO="udisks_end"
  34.  
  35. ##############################################################################################################
  36.  
  37. # probe ide-cd drives
  38.  
  39. # probe filesystem metadata of optical drives which have a media inserted
  40. KERNEL=="hd*", ENV{ID_CDROM_MEDIA}=="?*", \
  41.         ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
  42.         IMPORT{program}="/sbin/blkid -o udev -p -u noraid -O $env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
  43. # single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
  44. KERNEL=="hd*", ENV{ID_CDROM_MEDIA}=="?*", \
  45.         ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
  46.         IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"
  47.  
  48. ##############################################################################################################
  49.  
  50.  
  51. # Mark devices that shouldn't be automounted / autoassembled etc.
  52. #
  53. # Deny all, then punch holes for what looks like physical drives
  54. # (TODO: this heuristic might need some work)
  55. #
  56.  
  57. ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
  58. KERNEL=="sd*|hd*|sr*|mmcblk*|mspblk*", ENV{UDISKS_PRESENTATION_NOPOLICY}="0"
  59.  
  60. ##############################################################################################################
  61.  
  62. # we only care about change events on device-mapper
  63. # devices - never touch the device on add events
  64. KERNEL=="dm-*", ACTION!="change", GOTO="udisks_end"
  65.  
  66. # honor the flag that device-mapper sets if the device should be ignored
  67. ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="udisks_end"
  68. ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="udisks_end"
  69.  
  70. # import UDISKS_DM_* and UDISKS_LVM2_* properties - the long-term plan is to make the lvm2 and
  71. # device-mapper packages provide this information
  72. #
  73. KERNEL=="dm-*", IMPORT{program}="udisks-dm-export %M %m"
  74.  
  75. # Make udevd synthesize a 'change' uevent when last opener of a rw-fd closes the fd - this
  76. # should be part of the device-mapper rules
  77. KERNEL=="dm-*", OPTIONS+="watch"
  78.  
  79. ##############################################################################################################
  80.  
  81. # Probe for partition tables; this really should be part of udev / util-linux-ng
  82. #
  83.  
  84. # skip rules for inappropriate block devices
  85. KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*", GOTO="probe_parttable_end"
  86.  
  87. # never access non-cdrom removable ide devices, the drivers are causing event loops on open()
  88. KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="probe_parttable_end"
  89. KERNEL=="hd*[0-9]", ATTR{removable}=="1", GOTO="probe_parttable_end"
  90.  
  91. # don't scan for partition tables on empty discs
  92. KERNEL=="sr*|hd*", ENV{ID_CDROM_MEDIA}!="?*", GOTO="probe_parttable_end"
  93.  
  94. # skip non-data discs (see https://bugzilla.kernel.org/show_bug.cgi?id=15757 for the udev bits)
  95. KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="", GOTO="probe_parttable_end"
  96.  
  97. # scan for partition tables both on whole-disk and partitions
  98. #
  99. IMPORT{program}="udisks-part-id $tempnode"
  100.  
  101. LABEL="probe_parttable_end"
  102.  
  103. ##############################################################################################################
  104.  
  105. # pick up data from MD components; this REALLY should be done by rules installed
  106. # by mdadm or the kernel package
  107. #
  108. ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_end"
  109.  
  110. # avoid probing if it has already been done earlier
  111. #
  112. ENV{MD_LEVEL}!="", GOTO="md_end"
  113. IMPORT{program}="/sbin/mdadm --examine --export $tempnode"
  114.  
  115. LABEL="md_end"
  116.  
  117. ##############################################################################################################
  118.  
  119. # Check if a disk is ATA SMART capable
  120. #
  121.  
  122. # USB ATA enclosures with a SAT layer
  123. KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
  124.  
  125. # ATA disks driven by libata
  126. KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
  127.  
  128. # ATA disks connected via SAS (not driven by libata)
  129. KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", IMPORT{program}="udisks-probe-ata-smart $tempnode"
  130.  
  131.  
  132. # Example rule for tagging a device with a specific media type. Where and
  133. # how to store this database needs some thought.
  134. #
  135. SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
  136. SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_MS}="1"
  137. SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SM}="1"
  138. SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_SD}="1"
  139.  
  140. SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
  141. SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SM}="1"
  142. SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SD}="1"
  143. SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_MS}="1"
  144.  
  145. # APPLE SD Card Reader (MacbookPro5,4)
  146. #
  147. SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="8403", ENV{ID_DRIVE_FLASH_SD}="1"
  148.  
  149. # Common theme
  150. #
  151. SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SD_Reader*", ENV{ID_DRIVE_FLASH_SD}="1"
  152. SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*CF_Reader*", ENV{ID_DRIVE_FLASH_CF}="1"
  153. SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SM_Reader*", ENV{ID_DRIVE_FLASH_SM}="1"
  154. SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*MS_Reader*", ENV{ID_DRIVE_FLASH_MS}="1"
  155.  
  156. ##############################################################################################################
  157.  
  158. # If previous rules did not set an icon, provide a default one for media players
  159.  
  160. ENV{UDISKS_PRESENTATION_ICON_NAME}=="?*", GOTO="udisks_media_player_end"
  161.  
  162. ENV{ID_MEDIA_PLAYER}=="?*", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player"
  163. ENV{ID_MEDIA_PLAYER}=="apple-ipod", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player-ipod"
  164.  
  165. # Apple iPod Video
  166. #
  167. SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1209", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player-ipod-white"
  168.  
  169. LABEL="udisks_media_player_end"
  170.  
  171. ##############################################################################################################
  172.  
  173. # PC floppy drives
  174. #
  175. KERNEL=="fd*", ENV{ID_DRIVE_FLOPPY}="1"
  176.  
  177. # USB floppy drives
  178. #
  179. SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", ENV{ID_DRIVE_FLOPPY}="1"
  180.  
  181. # ATA Zip drives
  182. #
  183. ENV{ID_VENDOR}=="*IOMEGA*", ENV{ID_MODEL}=="*ZIP*", ENV{ID_DRIVE_FLOPPY_ZIP}="1"
  184.  
  185. ##############################################################################################################
  186.  
  187. # Partitions which desktops should not display
  188. #
  189.  
  190. # Apple Bootstrap partitions
  191. ENV{UDISKS_PARTITION_SCHEME}=="apm", ENV{UDISKS_PARTITION_TYPE}=="Apple_Bootstrap", ENV{UDISKS_PRESENTATION_HIDE}="1"
  192.  
  193. # special MBR partition types (EFI, hidden, etc.)
  194. # see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
  195. ENV{UDISKS_PARTITION_SCHEME}=="mbr", \
  196.   ENV{UDISKS_PARTITION_TYPE}=="0x00|0x11|0x12|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef", \
  197.   ENV{UDISKS_PRESENTATION_HIDE}="1"
  198.  
  199. # special GUID-identified partition types
  200. # see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
  201. ENV{UDISKS_PARTITION_SCHEME}=="gpt", \
  202.   ENV{UDISKS_PARTITION_TYPE}=="C12A7328-F81F-11D2-BA4B-00A0C93EC93B|21686148-6449-6E6F-744E-656564454649", \
  203.   ENV{UDISKS_PRESENTATION_HIDE}="1"
  204.  
  205. # APM recovery/tool partitions which are useless on Linux
  206. ENV{UDISKS_PARTITION_SCHEME}=="apm", \
  207.   ENV{ID_CDROM}=="?*", ENV{ID_FS_TYPE}=="udf", ENV{ID_FS_LABEL}=="WD_SmartWare", \
  208.   ENV{UDISKS_PRESENTATION_HIDE}="1"
  209.  
  210. # recovery partitions (taken from old hal rules)
  211. ENV{ID_FS_TYPE}=="ntfs|vfat", \
  212.   ENV{ID_FS_LABEL}=="RECOVERY|HP_RECOVERY|Recovery Partition|DellUtility|DellRestore|IBM_SERVICE|SERVICEV001|SERVICEV002", \
  213.   ENV{UDISKS_PRESENTATION_HIDE}="1"
  214.  
  215. # read-only non-Linux software installer partitions
  216. ENV{ID_VENDOR}=="Sony", ENV{ID_MODEL}=="PRS*Launcher", ENV{UDISKS_PRESENTATION_HIDE}="1"
  217.  
  218. ##############################################################################################################
  219.  
  220.  
  221. LABEL="udisks_end"
  222.