Open twoplan opened 2 months ago
Possibly a duplicate of https://github.com/raspberrypi/linux/issues/6195
Possibly a duplicate of #6195
Not a duplicate! PCIe device Id's of the drives are different. Unknown if they were using the same firmware (so far at least). I will test two more SN350 labeled devices later this week in order to check what @twoplan is seeing.
Btw: I have another SN350 labeled device (again different ID) which is working fine but most likely a re-labeled SN550.
Tests concluded!
2242 sized SN530 is working here for me
it shows expected ID
-+-[0000:00]---00.0-[01]----00.0 Sandisk Corp PC SN530 NVMe SSD (DRAM-less) [15b7:5008]
pi@m2hattest:~ $ sudo nvme --smart-log /dev/nvme0n1 -H Smart Log for NVME device:nvme0n1 namespace-id:ffffffff critical_warning : 0 Available Spare[0] : 0 Temp. Threshold[1] : 0 NVM subsystem Reliability[2] : 0 Read-only[3] : 0 Volatile mem. backup failed[4] : 0 Persistent Mem. RO[5] : 0 temperature : 26°C (299 Kelvin) available_spare : 100% available_spare_threshold : 10% percentage_used : 0% endurance group critical warning summary: 0 Data Units Read : 58,670 (30.04 GB) Data Units Written : 56,463 (28.91 GB) host_read_commands : 829,446 host_write_commands : 255,675 controller_busy_time : 3 power_cycles : 14 power_on_hours : 2 unsafe_shutdowns : 2 media_errors : 0 num_err_log_entries : 1 Warning Temperature Time : 0 Critical Composite Temperature Time : 0 Thermal Management T1 Trans Count : 0 Thermal Management T2 Trans Count : 0 Thermal Management T1 Total Time : 0 Thermal Management T2 Total Time : 0 pi@m2hattest:~ $ sudo nvme id-ctrl -H /dev/nvme0 NVME Identify Controller: vid : 0x15b7 ssvid : 0x15b7 sn : 22293C452220
mn : WDC PC SN530 SDBPMPZ-256G-1101
fr : 21160001 rab : 4 ieee : 001b44 cmic : 0 [3:3] : 0 ANA not supported [2:2] : 0 PCI [1:1] : 0 Single Controller [0:0] : 0 Single Portmdts : 7 cntlid : 0x1 ver : 0x10400 rtd3r : 0x7a120 rtd3e : 0xf4240 oaes : 0x200 [31:31] : 0 Discovery Log Change Notice Not Supported [27:27] : 0 Zone Descriptor Changed Notices Not Supported [15:15] : 0 Normal NSS Shutdown Event Not Supported [14:14] : 0 Endurance Group Event Aggregate Log Page Change Notice Not Supported [13:13] : 0 LBA Status Information Notices Not Supported [12:12] : 0 Predictable Latency Event Aggregate Log Change Notices Not Supported [11:11] : 0 Asymmetric Namespace Access Change Notices Not Supported [9:9] : 0x1 Firmware Activation Notices Supported [8:8] : 0 Namespace Attribute Changed Event Not Supported
ctratt : 0x2 [19:19] : 0 Flexible Data Placement Not Supported [15:15] : 0 Extended LBA Formats Not Supported [14:14] : 0 Delete NVM Set Not Supported [13:13] : 0 Delete Endurance Group Not Supported [12:12] : 0 Variable Capacity Management Not Supported [11:11] : 0 Fixed Capacity Management Not Supported [10:10] : 0 Multi Domain Subsystem Not Supported [9:9] : 0 UUID List Not Supported [8:8] : 0 SQ Associations Not Supported [7:7] : 0 Namespace Granularity Not Supported [6:6] : 0 Traffic Based Keep Alive Not Supported [5:5] : 0 Predictable Latency Mode Not Supported [4:4] : 0 Endurance Groups Not Supported [3:3] : 0 Read Recovery Levels Not Supported [2:2] : 0 NVM Sets Not Supported [1:1] : 0x1 Non-Operational Power State Permissive Supported [0:0] : 0 128-bit Host Identifier Not Supported
rrls : 0 cntrltype : 1 [7:2] : 0 Reserved [1:0] : 0x1 I/O Controller fguid : 00000000-0000-0000-0000-000000000000 crdt1 : 0 crdt2 : 0 crdt3 : 0 nvmsr : 0 [1:1] : 0 NVM subsystem Not part of an Enclosure [0:0] : 0 NVM subsystem Not part of an Storage Device
vwci : 0 [7:7] : 0 VPD Write Cycles Remaining field is Not valid. [6:0] : 0 VPD Write Cycles Remaining
mec : 0 [1:1] : 0 NVM subsystem Not contains a Management Endpoint on a PCIe port [0:0] : 0 NVM subsystem Not contains a Management Endpoint on an SMBus/I2C port
oacs : 0x17 [10:10] : 0 Lockdown Command and Feature Not Supported [9:9] : 0 Get LBA Status Capability Not Supported [8:8] : 0 Doorbell Buffer Config Not Supported [7:7] : 0 Virtualization Management Not Supported [6:6] : 0 NVMe-MI Send and Receive Not Supported [5:5] : 0 Directives Not Supported [4:4] : 0x1 Device Self-test Supported [3:3] : 0 NS Management and Attachment Not Supported [2:2] : 0x1 FW Commit and Download Supported [1:1] : 0x1 Format NVM Supported [0:0] : 0x1 Security Send and Receive Supported
acl : 4 aerl : 7 frmw : 0x14 [5:5] : 0 Multiple FW or Boot Update Detection Not Supported [4:4] : 0x1 Firmware Activate Without Reset Supported [3:1] : 0x2 Number of Firmware Slots [0:0] : 0 Firmware Slot 1 Read/Write
lpa : 0x1e [6:6] : 0 Telemetry Log Data Area 4 Not Supported [5:5] : 0 LID 0x0, Scope of each command in LID 0x5, 0x12, 0x13 Not Supported [4:4] : 0x1 Persistent Event log Supported [3:3] : 0x1 Telemetry host/controller initiated log page Supported [2:2] : 0x1 Extended data for Get Log Page Supported [1:1] : 0x1 Command Effects Log Page Supported [0:0] : 0 SMART/Health Log Page per NS Not Supported
elpe : 255 [7:0] : 255 (0's based) Error Log Page Entries (ELPE)
npss : 4 [7:0] : 4 (0's based) Number of Power States Support (NPSS)
avscc : 0x1 [0:0] : 0x1 Admin Vendor Specific Commands uses NVMe Format
apsta : 0x1 [0:0] : 0x1 Autonomous Power State Transitions Supported
wctemp : 353 [15:0] : 80°C (353 Kelvin) Warning Composite Temperature Threshold (WCTEMP)
cctemp : 358 [15:0] : 85°C (358 Kelvin) Critical Composite Temperature Threshold (CCTEMP)
mtfa : 50 hmpre : 51200 hmmin : 823 tnvmcap : 256,060,514,304 [127:0] : 256,060,514,304 Total NVM Capacity (TNVMCAP)
unvmcap : 0 [127:0] : 0 Unallocated NVM Capacity (UNVMCAP)
rpmbs : 0 [31:24]: 0 Access Size [23:16]: 0 Total Size [5:3] : 0 Authentication Method [2:0] : 0 Number of RPMB Units
edstt : 44 dsto : 1 fwug : 1 kas : 0 hctma : 0x1 [0:0] : 0x1 Host Controlled Thermal Management Supported
mntmt : 273 [15:0] : 0°C (273 Kelvin) Minimum Thermal Management Temperature (MNTMT)
mxtmt : 358 [15:0] : 85°C (358 Kelvin) Maximum Thermal Management Temperature (MXTMT)
sanicap : 0x60000002 [31:30] : 0x1 Media is not additionally modified after sanitize operation completes successfully [29:29] : 0x1 No-Deallocate After Sanitize bit in Sanitize command Not Supported [2:2] : 0 Overwrite Sanitize Operation Not Supported [1:1] : 0x1 Block Erase Sanitize Operation Supported [0:0] : 0 Crypto Erase Sanitize Operation Not Supported
hmminds : 0 hmmaxd : 8 nsetidmax : 0 endgidmax : 0 anatt : 0 anacap : 0 [7:7] : 0 Non-zero group ID Not Supported [6:6] : 0 Group ID does change [4:4] : 0 ANA Change state Not Supported [3:3] : 0 ANA Persistent Loss state Not Supported [2:2] : 0 ANA Inaccessible state Not Supported [1:1] : 0 ANA Non-optimized state Not Supported [0:0] : 0 ANA Optimized state Not Supported
anagrpmax : 0 nanagrpid : 0 pels : 1 domainid : 0 megcap : 0 sqes : 0x66 [7:4] : 0x6 Max SQ Entry Size (64) [3:0] : 0x6 Min SQ Entry Size (64)
cqes : 0x44 [7:4] : 0x4 Max CQ Entry Size (16) [3:0] : 0x4 Min CQ Entry Size (16)
maxcmd : 0 nn : 1 oncs : 0x5f [8:8] : 0 Copy Not Supported [7:7] : 0 Verify Not Supported [6:6] : 0x1 Timestamp Supported [5:5] : 0 Reservations Not Supported [4:4] : 0x1 Save and Select Supported [3:3] : 0x1 Write Zeroes Supported [2:2] : 0x1 Data Set Management Supported [1:1] : 0x1 Write Uncorrectable Supported [0:0] : 0x1 Compare Supported
fuses : 0 [0:0] : 0 Fused Compare and Write Not Supported
fna : 0 [3:3] : 0 Format NVM Broadcast NSID (FFFFFFFFh) Supported [2:2] : 0 Crypto Erase Not Supported as part of Secure Erase [1:1] : 0 Crypto Erase Applies to Single Namespace(s) [0:0] : 0 Format Applies to Single Namespace(s)
vwc : 0x7 [2:1] : 0x3 The Flush command supports NSID set to FFFFFFFFh [0:0] : 0x1 Volatile Write Cache Present
awun : 0 awupf : 0 icsvscc : 1 [0:0] : 0x1 NVM Vendor Specific Commands uses NVMe Format
nwpc : 0 [2:2] : 0 Permanent Write Protect Not Supported [1:1] : 0 Write Protect Until Power Supply Not Supported [0:0] : 0 No Write Protect and Write Protect Namespace Not Supported
acwu : 0 ocfs : 0 [1:1] : 0 Controller Copy Format 1h Not Supported [0:0] : 0 Controller Copy Format 0h Not Supported
sgls : 0 [15:8] : 0 SGL Descriptor Threshold [1:0] : 0 Scatter-Gather Lists Not Supported
mnan : 0 maxdna : 0 maxcna : 0 subnqn : nqn.2018-01.com.wdc:guid:E8238FA6BF53-0001-001B444A4892154C ioccsz : 0 iorcsz : 0 icdoff : 0 fcatt : 0 [0:0] : 0 Dynamic Controller Model
msdbd : 0 ofcs : 0 [0:0] : 0 Disconnect command Not Supported
ps 0 : mp:3.50W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:0.6300W active_power:1.80W active_power_workload:80K 128KiB SW ps 1 : mp:2.40W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:0.6300W active_power:1.60W active_power_workload:80K 128KiB SW ps 2 : mp:1.90W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:0.6300W active_power:1.50W active_power_workload:80K 128KiB SW ps 3 : mp:0.0250W non-operational enlat:3900 exlat:11000 rrt:3 rrl:3 rwt:3 rwl:3 idle_power:0.0250W active_power:- active_power_workload:- ps 4 : mp:0.0050W non-operational enlat:5000 exlat:39000 rrt:4 rrl:4 rwt:4 rwl:4 idle_power:0.0050W active_power:- active_power_workload:-
2280 sized SN530 is working here for me
it shows an unexpected ID
pi@m2hattest:~ $ lspci -tvnn -+-[0000:00]---00.0-[01]----00.0 Sandisk Corp WD Blue SN550 NVMe SSD [15b7:5009]
which is in fact the same as the drive in https://github.com/raspberrypi/linux/issues/6195
so this one seems to be a relabeled SN550 in 256GB and/or the data base is incorrect.
pi@m2hattest:~ $ sudo nvme --smart-log /dev/nvme0n1 -H Smart Log for NVME device:nvme0n1 namespace-id:ffffffff critical_warning : 0 Available Spare[0] : 0 Temp. Threshold[1] : 0 NVM subsystem Reliability[2] : 0 Read-only[3] : 0 Volatile mem. backup failed[4] : 0 Persistent Mem. RO[5] : 0 temperature : 27°C (300 Kelvin) available_spare : 100% available_spare_threshold : 10% percentage_used : 0% endurance group critical warning summary: 0 Data Units Read : 206,111 (105.53 GB) Data Units Written : 246,671 (126.30 GB) host_read_commands : 1,846,942 host_write_commands : 1,113,758 controller_busy_time : 10 power_cycles : 30 power_on_hours : 4 unsafe_shutdowns : 16 media_errors : 0 num_err_log_entries : 1 Warning Temperature Time : 0 Critical Composite Temperature Time : 0 Thermal Management T1 Trans Count : 0 Thermal Management T2 Trans Count : 0 Thermal Management T1 Total Time : 0 Thermal Management T2 Total Time : 0 pi@m2hattest:~ $ sudo nvme id-ctrl -H /dev/nvme0 NVME Identify Controller: vid : 0x15b7 ssvid : 0x15b7 sn : 2210D2494001
mn : WDC PC SN530 SDBPNPZ-256G-1114
fr : 21113000 rab : 4 ieee : 001b44 cmic : 0 [3:3] : 0 ANA not supported [2:2] : 0 PCI [1:1] : 0 Single Controller [0:0] : 0 Single Portmdts : 7 cntlid : 0x1 ver : 0x10400 rtd3r : 0x7a120 rtd3e : 0xf4240 oaes : 0x200 [31:31] : 0 Discovery Log Change Notice Not Supported [27:27] : 0 Zone Descriptor Changed Notices Not Supported [15:15] : 0 Normal NSS Shutdown Event Not Supported [14:14] : 0 Endurance Group Event Aggregate Log Page Change Notice Not Supported [13:13] : 0 LBA Status Information Notices Not Supported [12:12] : 0 Predictable Latency Event Aggregate Log Change Notices Not Supported [11:11] : 0 Asymmetric Namespace Access Change Notices Not Supported [9:9] : 0x1 Firmware Activation Notices Supported [8:8] : 0 Namespace Attribute Changed Event Not Supported
ctratt : 0x2 [19:19] : 0 Flexible Data Placement Not Supported [15:15] : 0 Extended LBA Formats Not Supported [14:14] : 0 Delete NVM Set Not Supported [13:13] : 0 Delete Endurance Group Not Supported [12:12] : 0 Variable Capacity Management Not Supported [11:11] : 0 Fixed Capacity Management Not Supported [10:10] : 0 Multi Domain Subsystem Not Supported [9:9] : 0 UUID List Not Supported [8:8] : 0 SQ Associations Not Supported [7:7] : 0 Namespace Granularity Not Supported [6:6] : 0 Traffic Based Keep Alive Not Supported [5:5] : 0 Predictable Latency Mode Not Supported [4:4] : 0 Endurance Groups Not Supported [3:3] : 0 Read Recovery Levels Not Supported [2:2] : 0 NVM Sets Not Supported [1:1] : 0x1 Non-Operational Power State Permissive Supported [0:0] : 0 128-bit Host Identifier Not Supported
rrls : 0 cntrltype : 1 [7:2] : 0 Reserved [1:0] : 0x1 I/O Controller fguid : 00000000-0000-0000-0000-000000000000 crdt1 : 0 crdt2 : 0 crdt3 : 0 nvmsr : 0 [1:1] : 0 NVM subsystem Not part of an Enclosure [0:0] : 0 NVM subsystem Not part of an Storage Device
vwci : 0 [7:7] : 0 VPD Write Cycles Remaining field is Not valid. [6:0] : 0 VPD Write Cycles Remaining
mec : 0 [1:1] : 0 NVM subsystem Not contains a Management Endpoint on a PCIe port [0:0] : 0 NVM subsystem Not contains a Management Endpoint on an SMBus/I2C port
oacs : 0x17 [10:10] : 0 Lockdown Command and Feature Not Supported [9:9] : 0 Get LBA Status Capability Not Supported [8:8] : 0 Doorbell Buffer Config Not Supported [7:7] : 0 Virtualization Management Not Supported [6:6] : 0 NVMe-MI Send and Receive Not Supported [5:5] : 0 Directives Not Supported [4:4] : 0x1 Device Self-test Supported [3:3] : 0 NS Management and Attachment Not Supported [2:2] : 0x1 FW Commit and Download Supported [1:1] : 0x1 Format NVM Supported [0:0] : 0x1 Security Send and Receive Supported
acl : 4 aerl : 7 frmw : 0x14 [5:5] : 0 Multiple FW or Boot Update Detection Not Supported [4:4] : 0x1 Firmware Activate Without Reset Supported [3:1] : 0x2 Number of Firmware Slots [0:0] : 0 Firmware Slot 1 Read/Write
lpa : 0x1e [6:6] : 0 Telemetry Log Data Area 4 Not Supported [5:5] : 0 LID 0x0, Scope of each command in LID 0x5, 0x12, 0x13 Not Supported [4:4] : 0x1 Persistent Event log Supported [3:3] : 0x1 Telemetry host/controller initiated log page Supported [2:2] : 0x1 Extended data for Get Log Page Supported [1:1] : 0x1 Command Effects Log Page Supported [0:0] : 0 SMART/Health Log Page per NS Not Supported
elpe : 255 [7:0] : 255 (0's based) Error Log Page Entries (ELPE)
npss : 4 [7:0] : 4 (0's based) Number of Power States Support (NPSS)
avscc : 0x1 [0:0] : 0x1 Admin Vendor Specific Commands uses NVMe Format
apsta : 0x1 [0:0] : 0x1 Autonomous Power State Transitions Supported
wctemp : 353 [15:0] : 80°C (353 Kelvin) Warning Composite Temperature Threshold (WCTEMP)
cctemp : 358 [15:0] : 85°C (358 Kelvin) Critical Composite Temperature Threshold (CCTEMP)
mtfa : 50 hmpre : 0 hmmin : 0 tnvmcap : 256,060,514,304 [127:0] : 256,060,514,304 Total NVM Capacity (TNVMCAP)
unvmcap : 0 [127:0] : 0 Unallocated NVM Capacity (UNVMCAP)
rpmbs : 0 [31:24]: 0 Access Size [23:16]: 0 Total Size [5:3] : 0 Authentication Method [2:0] : 0 Number of RPMB Units
edstt : 44 dsto : 1 fwug : 1 kas : 0 hctma : 0x1 [0:0] : 0x1 Host Controlled Thermal Management Supported
mntmt : 273 [15:0] : 0°C (273 Kelvin) Minimum Thermal Management Temperature (MNTMT)
mxtmt : 358 [15:0] : 85°C (358 Kelvin) Maximum Thermal Management Temperature (MXTMT)
sanicap : 0x60000002 [31:30] : 0x1 Media is not additionally modified after sanitize operation completes successfully [29:29] : 0x1 No-Deallocate After Sanitize bit in Sanitize command Not Supported [2:2] : 0 Overwrite Sanitize Operation Not Supported [1:1] : 0x1 Block Erase Sanitize Operation Supported [0:0] : 0 Crypto Erase Sanitize Operation Not Supported
hmminds : 0 hmmaxd : 0 nsetidmax : 0 endgidmax : 0 anatt : 0 anacap : 0 [7:7] : 0 Non-zero group ID Not Supported [6:6] : 0 Group ID does change [4:4] : 0 ANA Change state Not Supported [3:3] : 0 ANA Persistent Loss state Not Supported [2:2] : 0 ANA Inaccessible state Not Supported [1:1] : 0 ANA Non-optimized state Not Supported [0:0] : 0 ANA Optimized state Not Supported
anagrpmax : 0 nanagrpid : 0 pels : 1 domainid : 0 megcap : 0 sqes : 0x66 [7:4] : 0x6 Max SQ Entry Size (64) [3:0] : 0x6 Min SQ Entry Size (64)
cqes : 0x44 [7:4] : 0x4 Max CQ Entry Size (16) [3:0] : 0x4 Min CQ Entry Size (16)
maxcmd : 0 nn : 1 oncs : 0x5f [8:8] : 0 Copy Not Supported [7:7] : 0 Verify Not Supported [6:6] : 0x1 Timestamp Supported [5:5] : 0 Reservations Not Supported [4:4] : 0x1 Save and Select Supported [3:3] : 0x1 Write Zeroes Supported [2:2] : 0x1 Data Set Management Supported [1:1] : 0x1 Write Uncorrectable Supported [0:0] : 0x1 Compare Supported
fuses : 0 [0:0] : 0 Fused Compare and Write Not Supported
fna : 0 [3:3] : 0 Format NVM Broadcast NSID (FFFFFFFFh) Supported [2:2] : 0 Crypto Erase Not Supported as part of Secure Erase [1:1] : 0 Crypto Erase Applies to Single Namespace(s) [0:0] : 0 Format Applies to Single Namespace(s)
vwc : 0x7 [2:1] : 0x3 The Flush command supports NSID set to FFFFFFFFh [0:0] : 0x1 Volatile Write Cache Present
awun : 0 awupf : 0 icsvscc : 1 [0:0] : 0x1 NVM Vendor Specific Commands uses NVMe Format
nwpc : 0 [2:2] : 0 Permanent Write Protect Not Supported [1:1] : 0 Write Protect Until Power Supply Not Supported [0:0] : 0 No Write Protect and Write Protect Namespace Not Supported
acwu : 0 ocfs : 0 [1:1] : 0 Controller Copy Format 1h Not Supported [0:0] : 0 Controller Copy Format 0h Not Supported
sgls : 0 [15:8] : 0 SGL Descriptor Threshold [1:0] : 0 Scatter-Gather Lists Not Supported
mnan : 0 maxdna : 0 maxcna : 0 subnqn : nqn.2018-01.com.wdc:nguid:E8238FA6BF53-0001-001B444A49F4F9D3 ioccsz : 0 iorcsz : 0 icdoff : 0 fcatt : 0 [0:0] : 0 Dynamic Controller Model
msdbd : 0 ofcs : 0 [0:0] : 0 Disconnect command Not Supported
ps 0 : mp:3.50W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:0.6300W active_power:1.80W active_power_workload:80K 128KiB SW ps 1 : mp:2.40W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:0.6300W active_power:1.60W active_power_workload:80K 128KiB SW ps 2 : mp:1.90W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:0.6300W active_power:1.50W active_power_workload:80K 128KiB SW ps 3 : mp:0.0250W non-operational enlat:3900 exlat:11000 rrt:3 rrl:3 rwt:3 rwl:3 idle_power:0.0250W active_power:- active_power_workload:- ps 4 : mp:0.0050W non-operational enlat:5000 exlat:39000 rrt:4 rrl:4 rwt:4 rwl:4 idle_power:0.0050W active_power:- active_power_workload:-
Note: pciex1-compat-pi5
wasn't used here!
@aBUGSworstnightmare-rpi The firmware is different. Yours is 21113000 from 04MAR 2022. And mine is 21103900 from 24JAN 2022.
@twoplan noted! Will test on Pimoroni NVMe base later. Official M.2 HAT+ has the 32kHz sub clock mounted which isn't there on your HW and the NVMe base (at least the revision which I have).
Will also test on CM4 to see if the PCIe IP on CM4 has any issues with these drives.
Both SN530 drives (2245 and 2280size) were check with Pimoroni NVMe base as well as on CM4: working on both platforms.
as @twoplan 's isn't working it might be a firmware issue. I'm now investigating possibilities of doing a FW update (on both SN530 as well as the still non-working SN550).
Will check by using Western Digital SSD Dashboard (https://support-en.wd.com/app/answers/detailweb/a_id/31759#subject3 or https://support-en.wd.com/app/products/downloads/softwaredownloads) but need to wait until a USB NVMe adapter got delivered.
Installed latest WDC Dashboard on my Windows laptop and connected the NVMe via an USB-C adapter. Unfortunately the software reports, that there is no firmware update available for this SN530. Which obviously is wrong, as @aBUGSworstnightmare-rpi 's firmware is newer.
So I opened a ticket at WDC support ... let's see where this leads to.
seems like SN530 is not listed in there https://wddashboarddownloads.wdc.com/wdDashboard/config/devices/lista_devices.xml
WD Green SN530 are different. Hopefully WD has some interrest in supporting usage of their products on Raspberry Pi platforms. The date stated on the drive is - most likely - production date. Firmware seems to be a number only. The FW of the 2243 sized drive is even newer (produced in July 2022)
Below is from the 2280 sized drive
pi@pi5sn350:~ $ cat /sys/class/nvme/nvme0/model && cat /sys/class/nvme/nvme0/firmware_rev
WDC PC SN530 SDBPNPZ-256G-1114
21113000
should be solvable by writing a new firmware (see last commit in https://github.com/raspberrypi/linux/issues/6195).
Question now is how to read the NVMe firmware by using name-cli.
This is todays feedback from Western Digitals Customers Support:
Thank you for contacting Western Digital Customer Support. My name is Matt R.
As verified, your drive is an Original Equipment Manufacturer (OEM) drive. Western Digital supplies hardware to manufacturers that can be used as OEM products.
Western Digital® Global Customer Support does not provide technical support or warranty replacement service for Original Equipment Manufacturer (OEM) products.
Please contact the OEM manufacturer or the place of purchase of the OEM product.
The 250GB SN530 was left over from a storage upgrade of my Acer laptop two years ago. As WD is not willing to help, geting the firmware from Acer seems very unlikely too. There is no firmware update on the laptops support website.
Maybe there exists a newer firmware from a different OEM manufacturer? Found only this 3 years old reddit.
Dumping it from a working SN530 NVMe looks like the way to go ... but how?
honestly speaking that's what I've expected!
There are two packages on the internet which include Firmware for the SN530 devices - one is Dell, the other one Lenovo. Both are fully packaged executable (.exe) where there seems to be no possibility of getting access to the binary file only.
https://download.lenovo.com/pccbbs/mobiles/fwnva68.exe https://dl.dell.com/FOLDER07599485M/1/Western-Digital-Corp-SN530-Solid-State-Drive-Firmware_XTHG0_WIN64_2111.3012_A00.EXE
Although the firmware is marked as read/write I have no idea how to dump it from the drive. nvme-cli seems to not support such action as well (and I have my doubts such 'feature' is supported by the controller at all)
Which USB-C adapter did you use when testing with WD Dashboard? I only have a Realtek RTL9210B based USB 3.0 connectorized board which isn't supported.
An Icy Box IB-1817M-C31 with JMicron controller.
lsusb
Bus 004 Device 002: ID 152d:0580 JMicron Technology Corp. / JMicron USA Technology Corp. USB 3.1 Storage Device
In an older unpacked Lenovo folder are 4 firmware files for WD SN520, SN530, SN720 and SN730 NVMe. These have dates from 2019 or 2020 and I don't know which is for the SN530 (21160001.fluf ?)
2277376 Dec 18 2019 10190101.fluf
2588672 Sep 1 2020 11170101.fluf
2121728 Aug 28 2020 20370001.fluf
2588672 Jul 6 2020 21160001.fluf
The latest Lenovo package from 2024 has two more WD firmware files for unknown NVMe. But the interesting one have still the same name and same old date.
2277376 Dec 18 2019 10190101.fluf
2588672 Sep 1 2020 11170101.fluf
2121728 Aug 28 2020 20370001.fluf
2588672 Jul 6 2020 21160001.fluf
3059712 Nov 29 2023 61560101.fluf
2838528 May 27 10:29 73117101.fluf
21160001 is the firmware of my WDC PC SN530 SDBPMPZ-256G-1101 (the 2242 sized SN530)
You can try it, if it doesn't match you should get some error message.
BUT: USE AT OWN RISK!
P.S. can you share the file here on git?
On windows you can download and run fwnva68.exe from the Lenovo site ... just choose "unpack" in the dialog instead of "install".
Tomorrow I will try 21160001.fluf in WD Dashboard.
doesn't look promising:
pi@Pi5-SN530-250:~ $ cd /home/pi/Downloads
pi@Pi5-SN530-250:~/Downloads $ cat /sys/class/nvme/nvme0/model && cat /sys/class/nvme/nvme0/firmware_rev
WDC PC SN530 SDBPNPZ-256G-1114
21113000
pi@Pi5-SN530-250:~/Downloads $ sudo nvme fw-download -f 21160001.fluf /dev/nvme0
Firmware download success
pi@Pi5-SN530-250:~/Downloads $ sudo nvme fw-commit -s 2 -a 0 /dev/nvme0
NVMe status: Invalid Firmware Image: The firmware image specified for activation is invalid and not loaded by the controller(0x4107)
Multiple Update Detected (MUD) Value: 100665094
Detected an overlapping firmware/boot partition image update command sequence due to processing a command from an Admin SQ on a controller
Perhaps you could try the cab-file from ArchWiki and fwupd?
Instructions from the readme:
You can install this archive on Linux using fwupd >= 1.0.8 on supported
hardware. Use this command to install:
fwupdmgr install Lenovo-WD-PCSN530-NVMe-21160001.cab
You can check the version of fwupd using:
fwupdmgr --version
Just "updated" the SN530 with firmware 21160001.fluf in WD Dashboard. Nice progress bar and success message!
But the firmware remains at version 21103900.
Perhaps you could try the cab-file from ArchWiki and fwupd?
Instructions from the readme:
You can install this archive on Linux using fwupd >= 1.0.8 on supported hardware. Use this command to install: fwupdmgr install Lenovo-WD-PCSN530-NVMe-21160001.cab You can check the version of fwupd using: fwupdmgr --version
that is not working!
pi@Pi5-SN530-250:~/Downloads $ fwupdmgr install Lenovo-WD-PCSN530-NVMe-21160001.cab WARNING: UEFI capsule updates not available or enabled in firmware setup See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information. Decompressing… [ \ ] No supported devices found
Trying to flash the firmware binary from the .cab file fails --> the firmware has wrong dependencies
pi@Pi5-SN530-250:~/Downloads $ sudo nvme fw-download -f firmware.bin /dev/nvme0
Firmware download success
pi@Pi5-SN530-250:~/Downloads $ sudo nvme fw-commit -s 2 -a 0 /dev/nvme0
NVMe status: Invalid Firmware Image: The firmware image specified for activation is invalid and not loaded by the controller(0x4107)
Multiple Update Detected (MUD) Value: 100665094
Detected an overlapping firmware/boot partition image update command sequence due to processing a command from an Admin SQ on a controller
As there is no support from WD to be expected I would suggest to buy another NVMe. You can use your SN530 as external storage still. You might still be able to use it 'as is' behind a PCIe switch (pimoroni duo; booting from a drive behind a switch is now supported).
I'm not sure if this helps but I've got an IX SN530 NVMe 256GB, FW:2412T000 (july 27, 2023), m.2 2230.
I'm able to get it to boot, Raspbian using the Pineboard Hat from a complete power down, but if I reset the the boards with the power still connected it will not boot until I power cycle the board.
If there is any data I can provide to might be useful to this topic let me know.
I'm not sure if this helps but I've got an IX SN530 NVMe 256GB, FW:2412T000 (july 27, 2023), m.2 2230.
I'm able to get it to boot, Raspbian using the Pineboard Hat from a complete power down, but if I reset the the boards with the power still connected it will not boot until I power cycle the board.
If there is any data I can provide to might be useful to this topic let me know.
Pineboards HATs made after Jan 2023 (for HatDrive Bottom) and March (for HatDrive! Top) have HAT+ power management that solves the problem you mentioned. The official M.2 HAT+ also works in this case.
The Pi 5 simply disables the buck converter on the HAT when the pi reboots and it restarts the drive. It was needed for Western Digital drives
Describe the bug
The 250GB WD PC SN530 NVMe is not detected with an Geekworm X1001 Adapter on my 8GB Pi 5. Tested with dtparam=pciex1_gen=2 and 3.
With a different 500GB NVMe Sandisk SN740, the X1001 NVMe adapter works perfect (dtparam=pciex1_gen=3).
Steps to reproduce the behaviour
You need a SN530 NVMe from Western Digital.
Device (s)
Raspberry Pi 5
System
cat /etc/rpi-issue
vcgencmd version
uname -a
Linux raspi5 6.6.31+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
Logs
250GB Western Digital PC SN530 sudo lspci
With
500GB Sandisk SN740 sudo lspci
Additional context
No response