1# This file contains udev rules for udisks 2.x 2# 3# Do not edit this file, it will be overwritten on updates 4# 5 6# ------------------------------------------------------------------------ 7# Probing 8# ------------------------------------------------------------------------ 9 10# Skip probing if not a block device or if requested by other rules 11# 12SUBSYSTEM!="block", GOTO="udisks_probe_end" 13ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="udisks_probe_end" 14ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="?*", GOTO="udisks_probe_end" 15 16# MD-RAID (aka Linux Software RAID) members 17# 18# TODO: file bug against mdadm(8) to have --export-prefix option that can be used with e.g. UDISKS_MD_MEMBER 19# 20SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="/bin/sh -c '/sbin/mdadm --examine --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_MEMBER_/g'" 21 22SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="/bin/sh -c '/sbin/mdadm --detail --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_/g'" 23 24LABEL="udisks_probe_end" 25 26# ------------------------------------------------------------------------ 27# Tag floppy drives since they need special care 28 29# PC floppy drives 30# 31KERNEL=="fd*", ENV{ID_DRIVE_FLOPPY}="1" 32 33# USB floppy drives 34# 35SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", ENV{ID_DRIVE_FLOPPY}="1" 36 37# ATA Zip drives 38# 39ENV{ID_VENDOR}=="*IOMEGA*", ENV{ID_MODEL}=="*ZIP*", ENV{ID_DRIVE_FLOPPY_ZIP}="1" 40 41# TODO: figure out if the drive supports SD and SDHC and what the current 42# kind of media is - right now we just assume SD 43KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_SD}="1", ENV{ID_DRIVE_MEDIA_FLASH_SD}="1" 44# ditto for memstick 45KERNEL=="msblk[0-9]|mspblk[0-9]", SUBSYSTEMS=="memstick", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_MS}="1", ENV{ID_DRIVE_MEDIA_FLASH_MS}="1" 46 47# TODO: maybe automatically convert udisks1 properties to udisks2 ones? 48# (e.g. UDISKS_PRESENTATION_HIDE -> UDISKS_IGNORE) 49 50# ------------------------------------------------------------------------ 51# ------------------------------------------------------------------------ 52# ------------------------------------------------------------------------ 53# Whitelist for tagging drives with the property media type. 54# TODO: figure out where to store this database 55 56SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1" 57SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_MS}="1" 58SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SM}="1" 59SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_SD}="1" 60 61SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1" 62SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SM}="1" 63SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SD}="1" 64SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_MS}="1" 65 66# APPLE SD Card Reader (MacbookPro5,4) 67# 68SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="8403", ENV{ID_DRIVE_FLASH_SD}="1" 69 70# Realtek card readers 71DRIVERS=="rts_pstor", ENV{ID_DRIVE_FLASH_SD}="1" 72DRIVERS=="rts5229", ENV{ID_DRIVE_FLASH_SD}="1" 73 74# Lexar Dual Slot USB 3.0 Reader Professional 75SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="05dc",ENV{ID_MODEL_ID}=="b049", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1" 76SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="05dc",ENV{ID_MODEL_ID}=="b049", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SD}="1" 77 78# Transcend USB 3.0 Multi-Card Reader (TS-RDF8K) 79SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="8564",ENV{ID_MODEL_ID}=="4000", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1" 80SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="8564",ENV{ID_MODEL_ID}=="4000", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SD}="1" 81SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="8564",ENV{ID_MODEL_ID}=="4000", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_MS}="1" 82 83# Common theme 84# 85SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*Reader*SD*", ENV{ID_DRIVE_FLASH_SD}="1" 86SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*CF_Reader*", ENV{ID_DRIVE_FLASH_CF}="1" 87SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SM_Reader*", ENV{ID_DRIVE_FLASH_SM}="1" 88SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*MS_Reader*", ENV{ID_DRIVE_FLASH_MS}="1" 89 90# USB stick / thumb drives 91# 92SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="*Kingston*", ENV{ID_MODEL}=="*DataTraveler*", ENV{ID_DRIVE_THUMB}="1" 93SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="*SanDisk*", ENV{ID_MODEL}=="*Cruzer*", ENV{ID_CDROM}!="1", ENV{ID_DRIVE_THUMB}="1" 94SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="HP", ENV{ID_MODEL}=="*v125w*", ENV{ID_DRIVE_THUMB}="1" 95SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="13fe", ENV{ID_MODEL}=="*Patriot*", ENV{ID_DRIVE_THUMB}="1" 96SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="*JetFlash*", ENV{ID_MODEL}=="*Transcend*", ENV{ID_DRIVE_THUMB}="1" 97 98# SD-Card reader in Chromebook Pixel 99SUBSYSTEMS=="usb", ENV{ID_VENDOR_ID}=="05e3", ENV{ID_MODEL_ID}=="0727", ENV{ID_DRIVE_FLASH_SD}="1" 100 101# ------------------------------------------------------------------------ 102# ------------------------------------------------------------------------ 103# ------------------------------------------------------------------------ 104# Devices which should not be display in the user interface 105# 106# (note that RAID/LVM members are not normally shown in an user 107# interface so setting UDISKS_IGNORE at first does not seem to achieve 108# anything. However it helps for RAID/LVM members that are encrypted 109# using LUKS. See bug #51439.) 110 111# Apple Bootstrap partitions 112ENV{ID_PART_ENTRY_SCHEME}=="mac", ENV{ID_PART_ENTRY_TYPE}=="Apple_Bootstrap", ENV{UDISKS_IGNORE}="1" 113 114# Apple Boot partitions 115ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_TYPE}=="426f6f74-0000-11aa-aa11-00306543ecac", ENV{UDISKS_IGNORE}="1" 116 117# special DOS partition types (EFI, hidden, etc.) and RAID/LVM 118# see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html 119ENV{ID_PART_ENTRY_SCHEME}=="dos", \ 120 ENV{ID_PART_ENTRY_TYPE}=="0x0|0x11|0x12|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x8e|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef|0xfd", \ 121 ENV{UDISKS_IGNORE}="1" 122 123# special GUID-identified partition types (EFI System Partition, BIOS Boot partition, RAID/LVM) 124# see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs 125ENV{ID_PART_ENTRY_SCHEME}=="gpt", \ 126 ENV{ID_PART_ENTRY_TYPE}=="c12a7328-f81f-11d2-ba4b-00a0c93ec93b|21686148-6449-6e6f-744e-656564454649|a19d880f-05fc-4d3b-a006-743f0f84911e|e6d6d379-f507-44c2-a23c-238f2a3df928|e3c9e316-0b5c-4db8-817d-f92df00215ae|de94bba4-06d1-4d40-a16a-bfd50179d6ac", \ 127 ENV{UDISKS_IGNORE}="1" 128 129# ZFS member partitions 130ENV{ID_PART_ENTRY_SCHEME}=="gpt", \ 131 ENV{ID_FS_TYPE}=="zfs_member", ENV{ID_PART_ENTRY_TYPE}=="6a898cc3-1dd2-11b2-99a6-080020736631", \ 132 ENV{UDISKS_IGNORE}="1" 133 134# MAC recovery/tool partitions/devices which are useless on Linux 135ENV{ID_PART_ENTRY_SCHEME}=="mac", \ 136 ENV{ID_CDROM}=="?*", ENV{ID_FS_TYPE}=="udf", ENV{ID_FS_LABEL}=="WD*SmartWare", \ 137 ENV{UDISKS_IGNORE}="1" 138ENV{ID_PART_TABLE_TYPE}=="mac", \ 139 ENV{ID_CDROM}=="?*", ENV{ID_FS_TYPE}=="udf", ENV{ID_FS_LABEL}=="WD*SmartWare", \ 140 ENV{UDISKS_IGNORE}="1" 141 142# recovery partitions 143ENV{ID_FS_TYPE}=="ntfs|vfat", \ 144 ENV{ID_FS_LABEL}=="Recovery|RECOVERY|Lenovo_Recovery|HP_RECOVERY|Recovery_Partition|DellUtility|DellRestore|IBM_SERVICE|SERVICEV001|SERVICEV002|SYSTEM_RESERVED|System_Reserved|WINRE_DRV|DIAGS|IntelRST", \ 145 ENV{UDISKS_IGNORE}="1" 146 147# read-only non-Linux software installer partitions 148ENV{ID_VENDOR}=="Sony", ENV{ID_MODEL}=="PRS*Launcher", ENV{UDISKS_IGNORE}="1" 149 150# non-Linux software 151KERNEL=="sr*", ENV{ID_VENDOR}=="SanDisk", ENV{ID_MODEL}=="Cruzer", ENV{ID_FS_LABEL}=="U3_System", ENV{UDISKS_IGNORE}="1" 152 153# Virtual Windows tools installation on Asus Zendisk (0b05:17b4) 154KERNEL=="sr*", ENV{ID_VENDOR}=="ASMT",ENV{ID_MODEL}=="VirtualCDROM", ENV{ID_FS_LABEL}=="ASUS_+Speed_ZENDISK*", ENV{UDISKS_IGNORE}="1" 155 156# Virtual Windows tools installation CD on Nokia 7 Plus (2e04:c025) 157KERNEL=="sr*", ENV{ID_VENDOR}=="Linux", ENV{ID_MODEL}=="File-CD_Gadget*", ENV{ID_FS_LABEL}=="CDROM*", ATTRS{manufacturer}=="HMD Global", ENV{UDISKS_IGNORE}="1" 158 159# Content created using isohybrid (typically used on CDs and USB 160# sticks for bootable media) is a bit special insofar that the 161# interesting content is on a DOS partition with type 0x00* ... which 162# is hidden above. So undo this. 163# 164# See http://mjg59.dreamwidth.org/11285.html for more details 165# 166# *) This is true only for 64bit images. For 32bit images the type is 0x17 167# (Hidden HPFS/NTFS/exFAT). This is most likely a bug but we still need to 168# stop ignoring these. 169ENV{ID_PART_TABLE_TYPE}=="dos", ENV{ID_PART_ENTRY_TYPE}=="0x0|0x17", ENV{ID_PART_ENTRY_NUMBER}=="1|2", ENV{ID_FS_TYPE}=="iso9660|udf", ENV{UDISKS_IGNORE}="0" 170 171# Zram devices setup 172KERNEL=="zram[0-9]", ENV{SYSTEMD_WANTS}="zram-setup@zram%n.service", TAG+="systemd" 173 174# Explicitly ignore ram block devices, they don't work with udev 175KERNEL=="ram*", ENV{UDISKS_IGNORE}="1" 176