Hello, With two identical NVMe M.2 devices, I get the following: [ 1.069839] nvme nvme0: pci function 0000:02:00.0 [ 1.069876] nvme nvme1: pci function 0000:05:00.0 [ 1.285972] nvme nvme0: missing or invalid SUBNQN field. [ 1.285994] nvme nvme1: missing or invalid SUBNQN field. [ 1.286046] nvme nvme1: Duplicate cntlid 1 with nvme0, rejecting [ 1.286112] nvme nvme1: Removing after probe failure status: -22 [ 1.296942] nvme nvme0: allocated 64 MiB host memory buffer. [ 1.306422] nvme nvme0: 4/0/0 default/read/poll queues [ 1.312608] nvme nvme0: nvme_report_ns_ids: Identify Descriptors failed [ 1.314470] nvme nvme0: nvme_report_ns_ids: Identify Descriptors failed Commenting out as follows, in drivers/nvme/host/core.c /* if (tmp->cntlid == ctrl->cntlid) { dev_err(ctrl->device, "Duplicate cntlid %u with %s, rejecting\n", ctrl->cntlid, dev_name(tmp->device)); return false; } */ I get: [19223.240315] nvme nvme0: pci function 0000:02:00.0 [19223.240387] nvme nvme1: pci function 0000:05:00.0 [19223.349355] nvme nvme1: missing or invalid SUBNQN field. [19223.357239] nvme nvme1: allocated 64 MiB host memory buffer. [19223.367854] nvme nvme1: 4/0/0 default/read/poll queues [19223.374272] nvme nvme1: nvme_report_ns_ids: Identify Descriptors failed [19223.376134] nvme nvme1: nvme_report_ns_ids: Identify Descriptors failed [19223.377516] nvme0n1: p1 [19223.457331] nvme nvme0: missing or invalid SUBNQN field. [19223.457343] nvme nvme0: Subsystem does not support multiple controllers [19223.457365] nvme nvme0: Removing after probe failure status: -22 Or, booting linux 4.19.67-2+deb10u2: [ 1.308671] nvme nvme0: pci function 0000:02:00.0 [ 1.308707] nvme nvme1: pci function 0000:05:00.0 [ 1.524154] nvme nvme1: missing or invalid SUBNQN field. [ 1.524177] nvme nvme0: missing or invalid SUBNQN field. [ 1.524179] nvme nvme0: ignoring ctrl due to duplicate subnqn (nqn.2014.08.org.nvmexpress:126f126fTM7401918256C Teelkoou 256G ). [ 1.524224] nvme nvme0: Removing after probe failure status: -22 [ 1.527619] nvme nvme1: allocated 64 MiB host memory buffer. [ 1.543338] nvme nvme1: nvme_report_ns_ids: Identify Descriptors failed [ 1.545101] nvme nvme1: nvme_report_ns_ids: Identify Descriptors failed [ 1.546249] nvme0n1: p1 # nvme list Node SN Model Namespace Usage Format FW Rev ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- -------- /dev/nvme0n1 TM7401918256C Teelkoou 256G 1 256.06 GB / 256.06 GB 512 B + 0 B R0629A0 # nvme list-subsys nvme-subsys0 - NQN=nqn.2014.08.org.nvmexpress:126f126fTM7401918256C Teelkoou 256G \ +- nvme0 pcie 0000:02:00.0 live # nvme id-ctrl /dev/nvme0n1 NVME Identify Controller: vid : 0x126f ssvid : 0x126f sn : TM7401918256C mn : Teelkoou 256G fr : R0629A0 rab : 6 ieee : 000000 cmic : 0 mdts : 6 cntlid : 1 ver : 10300 rtd3r : 249f0 rtd3e : 13880 oaes : 0x100 ctratt : 0 rrls : 0 oacs : 0x6 acl : 4 aerl : 7 frmw : 0x6 lpa : 0xf elpe : 255 npss : 0 avscc : 0 apsta : 0 wctemp : 343 cctemp : 353 mtfa : 100 hmpre : 16384 hmmin : 16384 tnvmcap : 0 unvmcap : 0 rpmbs : 0 edstt : 0 dsto : 0 fwug : 4 kas : 0 hctma : 0x1 mntmt : 0 mxtmt : 0 sanicap : 0 hmminds : 0 hmmaxd : 0 nsetidmax : 0 anatt : 0 anacap : 0 anagrpmax : 0 nanagrpid : 0 sqes : 0x66 cqes : 0x44 maxcmd : 0 nn : 1 oncs : 0x5f fuses : 0 fna : 0 vwc : 0x1 awun : 0 awupf : 0 nvscc : 0 nwpc : 0 acwu : 0 sgls : 0 mnan : 0 subnqn : ioccsz : 0 iorcsz : 0 icdoff : 0 ctrattr : 0 msdbd : 0 ps 0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0 rwt:0 rwl:0 idle_power:- active_power:- # nvme id-ns /dev/nvme0n1 NVME Identify Namespace 1: nsze : 0x1dcf32b0 ncap : 0x1dcf32b0 nuse : 0x1dcf32b0 nsfeat : 0 nlbaf : 0 flbas : 0 mc : 0 dpc : 0 dps : 0 nmic : 0 rescap : 0 fpi : 0x80 dlfeat : 0 nawun : 0 nawupf : 0 nacwu : 0 nabsn : 0 nabo : 0 nabspf : 0 noiob : 0 nvmcap : 0 nsattr : 0 nvmsetid: 0 anagrpid: 0 endgid : 0 nguid : 00000000000000000000000000000000 eui64 : 0100000000000000 lbaf 0 : ms:0 lbads:9 rp:0 (in use) lspci -nn: 02:00.0 Non-Volatile memory controller [0108]: Silicon Motion, Inc. Device [126f:2263] (rev 03) 05:00.0 Non-Volatile memory controller [0108]: Silicon Motion, Inc. Device [126f:2263] (rev 03) Since by looking at product reviews, screenshots etc. it seems most buyers are using Windows, I tried booting up the Windows 10 installer. It did present both NVMe devices as choices for the installation target. I did not go any further. I wonder if this could be made to work on Linux. If there is something else I should post here, please guide me. Thanks.
after disabling the "Subsystem does not support multiple controllers" check, I now get "nvme nvme1: duplicate IDs for nsid 1", and again only one device, nvme0, remains available. [44442.259864] nvme nvme0: pci function 0000:02:00.0 [44442.260016] nvme nvme1: pci function 0000:05:00.0 [44442.369530] nvme nvme0: missing or invalid SUBNQN field. [44442.377301] nvme nvme0: allocated 64 MiB host memory buffer. [44442.386726] nvme nvme0: 4/0/0 default/read/poll queues [44442.392800] nvme nvme0: nvme_report_ns_ids: Identify Descriptors failed [44442.394647] nvme nvme0: nvme_report_ns_ids: Identify Descriptors failed [44442.478557] nvme nvme1: missing or invalid SUBNQN field. [44442.489603] nvme nvme1: allocated 64 MiB host memory buffer. [44442.499456] nvme nvme1: 4/0/0 default/read/poll queues [44442.505707] nvme nvme1: nvme_report_ns_ids: Identify Descriptors failed [44442.505712] nvme nvme1: duplicate IDs for nsid 1