I've found, what I think, is a good solution to the problem for now.
The hdparm udev rule that is launching hdparm. What hdparm is tyring to do is enable ATA passthrough for drives that claim to support it (most newer drives do). The problem is there doesn't seem to be proper kernel support or many drives really don't support it.
What I have done is found a way to identify firewire & usb drives and tell the udev rule to not try and run hdparm to activate ATA passthrough.
So changing /lib/udev/rules.d/85-hdparm to:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="[sh]d[a-z]", \
ENV{ID_PATH}!="pci-*-ieee1394-*|pci-*-usb-*", \
RUN+="/lib/udev/hdparm"
* This fix does expose a separate issue in udev for firewire drives. Udev tries to create a second symbolic link causing a kernel warning from sysfs. The drive works though. Will get this 2nd issue resolved also.
Also here is a clip from the udev db of how the drive is exposed in udev:
P: /devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw-host0/0090a9236e69e657/0090a9236e69e657-0/host6/target6:0:0/6:0:0:0/block/sdb
N: sdb
W: 53
S: block/8:16
S: disk/by-id/ieee1394-0090a9236e69e657:0:0
S: disk/by-path/pci-0000:0d:00.3-ieee1394-0x0090a9236e69e657:0:0
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:0d:00.3/fw-host0/0090a9236e69e657/0090a9236e69e657-0/host6/target6:0:0/6:0:0:0/block/sdb
E: MAJOR=8
E: MINOR=16
E: DEVNAME=/dev/sdb
E: DEVTYPE=disk
E: SUBSYSTEM=block
E: ID_SCSI=1
E: ID_VENDOR=WD
E: ID_VENDOR_ENC=WD\x20\x20\x20\x20\x20\x20
E: ID_MODEL=My_Book
E: ID_MODEL_ENC=My\x20Book\x20\x20\x20\x20\x20\x20\x20\x20\x20
E: ID_REVISION=1028
E: ID_TYPE=disk
E: ID_BUS=scsi
E: ID_PATH=pci-0000:0d:00.3-ieee1394-0x0090a9236e69e657:0:0
E: ID_PART_TABLE_TYPE=dos
E: UDISKS_PRESENTATION_NOPOLICY=0
E: UDISKS_PARTITION_TABLE=1
E: UDISKS_PARTITION_TABLE_SCHEME=mbr
E: UDISKS_PARTITION_TABLE_COUNT=1
E: DEVLINKS=/dev/block/8:16 /dev/disk/by-id/ieee1394-0090a9236e69e657:0:0 /dev/disk/by-path/pci-0000:0d:00.3-ieee1394-0x0090a9236e69e657:0:0
I've found, what I think, is a good solution to the problem for now.
The hdparm udev rule that is launching hdparm. What hdparm is tyring to do is enable ATA passthrough for drives that claim to support it (most newer drives do). The problem is there doesn't seem to be proper kernel support or many drives really don't support it.
What I have done is found a way to identify firewire & usb drives and tell the udev rule to not try and run hdparm to activate ATA passthrough.
So changing /lib/udev/ rules.d/ 85-hdparm to: ="[sh]d[ a-z]", \ PATH}!= "pci-*- ieee1394- *|pci-* -usb-*" , \ /lib/udev/ hdparm"
ACTION=="add", SUBSYSTEM=="block", KERNEL=
ENV{ID_
RUN+="
* This fix does expose a separate issue in udev for firewire drives. Udev tries to create a second symbolic link causing a kernel warning from sysfs. The drive works though. Will get this 2nd issue resolved also.
Also here is a clip from the udev db of how the drive is exposed in udev: pci0000: 00/0000: 00:1c.4/ 0000:0d: 00.3/fw- host0/0090a9236 e69e657/ 0090a9236e69e65 7-0/host6/ target6: 0:0/6:0: 0:0/block/ sdb id/ieee1394- 0090a9236e69e65 7:0:0 path/pci- 0000:0d: 00.3-ieee1394- 0x0090a9236e69e 657:0:0 /devices/ pci0000: 00/0000: 00:1c.4/ 0000:0d: 00.3/fw- host0/0090a9236 e69e657/ 0090a9236e69e65 7-0/host6/ target6: 0:0/6:0: 0:0/block/ sdb ENC=WD\ x20\x20\ x20\x20\ x20\x20 ENC=My\ x20Book\ x20\x20\ x20\x20\ x20\x20\ x20\x20\ x20 pci-0000: 0d:00.3- ieee1394- 0x0090a9236e69e 657:0:0 TABLE_TYPE= dos PRESENTATION_ NOPOLICY= 0 PARTITION_ TABLE=1 PARTITION_ TABLE_SCHEME= mbr PARTITION_ TABLE_COUNT= 1 /dev/block/ 8:16 /dev/disk/ by-id/ieee1394- 0090a9236e69e65 7:0:0 /dev/disk/ by-path/ pci-0000: 0d:00.3- ieee1394- 0x0090a9236e69e 657:0:0
P: /devices/
N: sdb
W: 53
S: block/8:16
S: disk/by-
S: disk/by-
E: UDEV_LOG=3
E: DEVPATH=
E: MAJOR=8
E: MINOR=16
E: DEVNAME=/dev/sdb
E: DEVTYPE=disk
E: SUBSYSTEM=block
E: ID_SCSI=1
E: ID_VENDOR=WD
E: ID_VENDOR_
E: ID_MODEL=My_Book
E: ID_MODEL_
E: ID_REVISION=1028
E: ID_TYPE=disk
E: ID_BUS=scsi
E: ID_PATH=
E: ID_PART_
E: UDISKS_
E: UDISKS_
E: UDISKS_
E: UDISKS_
E: DEVLINKS=