I have several Western Digital "My Passports". They are 1TB external USB drives, all the same model (except for external color).
When I connect some of them, the system is happy and says this:
When I connect others, the system is sad and says this:
When the system is sad, it doesn't create a proper device, so you can't access the drive, even to reformat it. All of these drives worked under multiple systems (i386 and amd64) running 7.4-RELEASE-p12. The "bad" drives continue to work fine on an old 7.4-RELEASE-p12 machine.
This new behavior is consistent on two i386 servers running 9.1-RELEASE-p2. The same drives don't work in the same way on both systems.
I notice the quirks are different. It seems this means the system is making different guesses as to how each drive wants to be spoken to.
Is it possible to force the system always talk to the drives the same way, and not try to be too clever? I have tried messing around with usb_quirk based on some things I read online and the man page, but I wasn't able to do anything useful.
Also at the beginning of the man page, it says:
When I add that to my custom kernel and try to build, building fails with the following error:
But that's a different issue.
Maybe the entire quirk thing is a red herring?
Any suggestions?
When I connect some of them, the system is happy and says this:
Code:
ugen1.2: <Western Digital> at usbus1
umass0: <MSC Bulk-Only Transport> on usbus1
umass0: SCSI over Bulk-Only; quirks = 0x0000
umass0:3:0:-1: Attached to scbus3
da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
da0: <WD My Passport 0748 1019> Fixed Direct Access SCSI-6 device
da0: 1.000MB/s transfers
da0: 953837MB (1953458176 512 byte sectors: 255H 63S/T 121597C)
ses0 at umass-sim0 bus 0 scbus3 target 0 lun 1
ses0: <WD SES Device 1019> Fixed Enclosure Services SCSI-6 device
ses0: 1.000MB/s transfers
ses0: SCSI-3 SES Device
When I connect others, the system is sad and says this:
Code:
ugen1.2: <Western Digital> at usbus1
umass0: <MSC Bulk-Only Transport> on usbus1
umass0: SCSI over Bulk-Only; quirks = 0x4001
umass0:3:0:-1: Attached to scbus3
(da0:umass-sim0:0:0:0): got CAM status 0x4
(da0:umass-sim0:0:0:0): fatal error, failed to attach to device
(da0:umass-sim0:0:0:0): lost device - 0 outstanding, 4 refs
(da0:umass-sim0:0:0:0): removing device entry
(probe0:umass-sim0:0:0:1): INQUIRY. CDB: 12 0 0 0 24 0
(probe0:umass-sim0:0:0:1): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:1): Retrying command
(probe0:umass-sim0:0:0:1): INQUIRY. CDB: 12 0 0 0 24 0
(probe0:umass-sim0:0:0:1): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:1): Retrying command
(probe0:umass-sim0:0:0:1): INQUIRY. CDB: 12 0 0 0 24 0
(probe0:umass-sim0:0:0:1): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:1): Retrying command
(probe0:umass-sim0:0:0:1): INQUIRY. CDB: 12 0 0 0 24 0
(probe0:umass-sim0:0:0:1): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:1): Retrying command
(probe0:umass-sim0:0:0:1): INQUIRY. CDB: 12 0 0 0 24 0
(probe0:umass-sim0:0:0:1): CAM status: CCB request completed with an error
(probe0:umass-sim0:0:0:1): Error 5, Retries exhausted
When the system is sad, it doesn't create a proper device, so you can't access the drive, even to reformat it. All of these drives worked under multiple systems (i386 and amd64) running 7.4-RELEASE-p12. The "bad" drives continue to work fine on an old 7.4-RELEASE-p12 machine.
This new behavior is consistent on two i386 servers running 9.1-RELEASE-p2. The same drives don't work in the same way on both systems.
I notice the quirks are different. It seems this means the system is making different guesses as to how each drive wants to be spoken to.
Is it possible to force the system always talk to the drives the same way, and not try to be too clever? I have tried messing around with usb_quirk based on some things I read online and the man page, but I wasn't able to do anything useful.
Also at the beginning of the man page, it says:
Code:
To compile this module into the kernel, place the following line in your kernel configuration file:
device usb_quirk
When I add that to my custom kernel and try to build, building fails with the following error:
Code:
config: Error: device "usb_quirk" is unknown
But that's a different issue.
Maybe the entire quirk thing is a red herring?
Any suggestions?