• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# iPods showing up as mass storage devices
2# we check if the current node is a partition even if that may seem useless
3# because the nano5g have data on the block device making it look like a
4# FAT32 filesystem while it's not (ie can't be mounted). The first
5# partition on the iPod is what should be mounted.
6ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", ENV{DEVTYPE}=="partition", ATTRS{idVendor}=="05ac", ENV{ID_MODEL}=="iPod", IMPORT{program}="/lib/udev/ipod-set-info $tempnode $attr{busnum} $attr{devnum}", GOTO="libgpod_end"
7
8# Some iPod Shuffle (4G) don't have a partition, only a filesystem on the
9# block device. The rule above won't match for such iPods because it wants
10# a partition. And given that some Nano5g have been seen as reporting a
11# filesystem on the block device while they have a partition, we don't want
12# to run the rule below unconditionally. So we add a check for
13# ID_PART_TABLE_TYPE, if it's empty, it means we only have a block device,
14# in which case we can run the callout
15ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", ENV{DEVTYPE}=="disk", ENV{ID_PART_TABLE_TYPE}!="?*", ATTRS{idVendor}=="05ac", ENV{ID_MODEL}=="iPod", IMPORT{program}="/lib/udev/ipod-set-info $tempnode $attr{busnum} $attr{devnum}", GOTO="libgpod_end"
16
17
18# "iPods" using the afc protocol (iPhone, iPod Touch, ...)
19ACTION=="add|change", ENV{USBMUX_SUPPORTED}=="1", IMPORT{program}+="/lib/udev/iphone-set-info", GOTO="libgpod_end"
20# with a new enough usbmuxd, the rule below is not useful since it will
21# take care of setting USBMUX_SUPPORTED for all supported devices. Keep
22# this rule for now until distros ship a new enough usbmuxd
23ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9a]", IMPORT{program}+="/lib/udev/iphone-set-info"
24
25LABEL="libgpod_end"
26