So I have the following error with a WD My Passport: [tom@localhost ~]$ journalctl -b -p 3 | grep scsi Oct 29 11:18:31 localhost kernel: scsi 7:0:0:1: Failed to get diagnostic page 0x8000002 Oct 29 11:18:31 localhost kernel: scsi 7:0:0:1: Failed to bind enclosure -19 Some info of the drive: [tom@localhost ~]$ sudo sg_ses /dev/sg4 WD SES Device 1065 Supported diagnostic pages: Supported Diagnostic Pages [sdp] [0x0] Short Enclosure Status (SES) [ses] [0x8] <unknown> [0x80] <unknown> [0x83] <unknown> [0x84] <unknown> [0x85] [tom@localhost ~]$ sudo sg_senddiag -P 8 /dev/sg4 Short enclosure status (SES) diagnostic page [0x8] response in hex: 00 08 00 00 00 According to SES-3 (ses3r10.pdf) Table 10, if diagnostic page 08h is supported, all others pages from 01h to 0fh are prohibited. However, the kernel (driver/scsi/ses.c) doesn't seem to be aware of this. FWIW, my drive have a correct SES page (byte 0 should the page code 08h, byte 2-3 should be 0000h, byte 1 is vendor-specific status).
Oops I missed the lsscsi output: [tom@localhost ~]$ sudo lsscsi -g | grep WD [7:0:0:0] disk WD My Passport 083A 1065 /dev/sdc /dev/sg3 [7:0:0:1] enclosu WD SES Device 1065 - /dev/sg4
This commit did NOT fix anything: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/scsi/ses.c?id=3417c1b5cb1fdc10261dbed42b05cc93166a78fd Only the error changes from: scsi 7:0:0:1: Failed to get diagnostic page 0x8000002 scsi 7:0:0:1: Failed to bind enclosure -19 to scsi 7:0:0:1: Wrong diagnostic page; asked for 1 got 0 scsi 7:0:0:1: Failed to get diagnostic page 0xffffffea scsi 7:0:0:1: Failed to bind enclosure -19 The ses driver should simply check whether there is an Short Enclosure Status page (i.e. it is a simple subenclosure) FIRST. If that's the case, the device should simply be skipped/bound WITHOUT error.