NexusHE 发表于 2023-7-10 03:09

huyz 发表于 2023-6-28 16:30
我最近买的 P7000Z 4T 也遇到 linux 下不认盘的问题,但和 2T 不同,4T 的只装一块就不认。
但它也不是 100 ...

同样问题,找到解决办法了
添加grub参数 iommu=soft
参考: https://bbs.archlinux.org/viewtopic.php?id=278249

hawie 发表于 2023-7-10 07:40

本帖最后由 hawie 于 2023-7-10 07:44 编辑

marswjf 发表于 2023-7-10 01:16
请教下怎么查呢

好像不是一样

udevadm info -a -n /dev/nvme0
lspci -vv -nn
等等

hawie 发表于 2023-7-10 07:53

NexusHE 发表于 2023-7-10 03:09
同样问题,找到解决办法了
添加grub参数 iommu=soft
参考: https://bbs.archlinux.org/viewtopic.php?id= ...

如果是N100,可以同时开启iommu,及核显的SRIOV, 参考参数是:
intel_iommu=on i915.enable_guc=3 i915.max_vfs=7

不知道对MAP1602的4TB型号有没有帮助。我手头的4TB是三星的。

eneiku 发表于 2023-7-10 07:54

楼主小主机长啥样,想看看4盘位

hawie 发表于 2023-7-10 08:09

eneiku 发表于 2023-7-10 07:54
楼主小主机长啥样,想看看4盘位

可以关注,但不推荐,厂家目前还没有解决一些问题。


eneiku 发表于 2023-7-10 08:37

hawie 发表于 2023-7-10 08:09
可以关注,但不推荐,厂家目前还没有解决一些问题。

看起来太舒适,以后4x4T,直接脱坑了

marswjf 发表于 2023-7-10 18:15

hawie 发表于 2023-7-8 13:25
这个补丁只是针对重复ID的问题。如果4TB的主控PCIe ID也是0x1e4B, 0x1602,对重复ID会有作用。
不过,所 ...

4T的PCIe ID是1e4b:1602。
看上去可以用哇
目前用LSPCI能看到
但是PVE内核的管理界面看不到硬盘






hawie 发表于 2023-7-10 18:43

marswjf 发表于 2023-7-10 18:15
4T的PCIe ID是1e4b:1602。
看上去可以用哇
目前用LSPCI能看到


ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part
可以看看/dev/disk/by-id/目录有没有识别了全部的盘。

marswjf 发表于 2023-7-10 19:28

hawie 发表于 2023-7-10 18:43
可以看看/dev/disk/by-id/目录有没有识别了全部的盘。



这算是2个盘吗?
nvme-eui.0000000000000000d0d0d0d0d0d0d0d0和 nvme-aigo_NVMe_SSD_P7000Z_4TB_19B46000000000000948
好像都在nvme1n1下面

hawie 发表于 2023-7-11 02:11

marswjf 发表于 2023-7-10 19:28
这算是2个盘吗?
nvme-eui.0000000000000000d0d0d0d0d0d0d0d0和 nvme-aigo_NVMe_SSD_P7000Z_4TB_19B4 ...

只认了一个盘。类似这样是两个盘:
lrwxrwxrwx 1 root root13 Jul 11 02:02 nvme-aigo_NVMe_SSD_P7000Z_4TB_15765000000010001880 -> ../../nvme1n1
lrwxrwxrwx 1 root root13 Jul 11 02:02 nvme-aigo_NVMe_SSD_P7000Z_4TB_15765000000010001885 -> ../../nvme0n1

补丁解决的重复ID问题,是针对的类似这样的内核信息:
nvme nvme0: globally duplicate IDs for nsid 1
4TB看来还有其他不一样要处理,这类broken hardware距离大品牌还任重道远。

marswjf 发表于 2023-7-11 14:29

NexusHE 发表于 2023-7-10 03:09
同样问题,找到解决办法了
添加grub参数 iommu=soft
参考: https://bbs.archlinux.org/viewtopic.php?id= ...

感谢提供解决思路
我后续要直通核显,
所以需要iommu=pt这个参数

我回去试试amd_iommu=fullflush,每次开启执行一次完全刷新试试能不能解决这个问题

marswjf 发表于 2023-7-11 15:39

hawie 发表于 2023-7-11 02:11
只认了一个盘。类似这样是两个盘:
lrwxrwxrwx 1 root root13 Jul 11 02:02 nvme-aigo_NVMe_SSD_P7000Z ...

感觉可能和我是AMD CPU有关系. intel的兼容性会好一些

wangmice 发表于 2023-7-12 00:41

marswjf 发表于 2023-7-7 23:02
大神V5....
非常需要,求更新,求详细教程....
8.0升级了你2023616日发的那个的内核后   


同样问题,加了iommu参数也不起作用

ShireCiel 发表于 2023-7-12 10:26

hawie 发表于 2023-6-18 20:55
万事俱备,调高目标,最终应该能达成:5*M.2 NVMe。
补个图。



请教一下这转接卡是不是有啥芯片啊。
N100虽然有9条PCIE通道。 但是实际上CPU最高支持 6个PCIE设备。(8个RootPort)
这 都4+4 8个PCIE设备了。
有芯片便宜能接受得估计只有PCIE2.0得switch芯片了。那这样是不是NVME得速度会有影响?

hawie 发表于 2023-7-12 10:44

ShireCiel 发表于 2023-7-12 10:26
请教一下这转接卡是不是有啥芯片啊。
N100虽然有9条PCIE通道。 但是实际上CPU最高支持 6个PCIE设备。(8 ...

转接板:


芯片局部图:


你看看,是什么情况?

ShireCiel 发表于 2023-7-12 11:06

hawie 发表于 2023-7-12 10:44
转接板:




这颗芯片是一颗clock buffer。
作用是 将1路时钟 分成 多路时钟。没有PCIE SWITCH的作用。
奇了怪了。按理说Intel的RootPort是物理上的闲置,不存在破解的可能性的。
难道是 机器的主板上的网卡那边有PCIE SWTICH芯片?(这样会导致网卡没办法同时跑满2.5G)

ShireCiel 发表于 2023-7-12 11:12

hawie 发表于 2023-7-12 10:44
转接板:




你在Linux系统上 lspci 看看输出的有哪些设备来着。
里面pcie switch也是可以看到的。

hawie 发表于 2023-7-12 12:25

ShireCiel 发表于 2023-7-12 11:12
你在Linux系统上 lspci 看看输出的有哪些设备来着。
里面pcie switch也是可以看到的。 ...

厂家的BIOS还有些问题一直没解决,我暂时拆下了这个转接板,要等BIOS修正完成后再安装。

不过,找到之前安装时拍过这个:

happysun110 发表于 2023-7-12 16:59

marswjf 发表于 2023-7-7 23:02
大神V5....
非常需要,求更新,求详细教程....
8.0升级了你2023616日发的那个的内核后   


我也遇到了和你同样的问题,报错是一样的:

nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0

我的也是爱国者7000Z 4T,PVE 8.0 版本,只有这一块硬盘。

ShireCiel 发表于 2023-7-12 17:15

hawie 发表于 2023-7-12 12:25
厂家的BIOS还有些问题一直没解决,我暂时拆下了这个转接板,要等BIOS修正完成后再安装。

不过,找到之前 ...

卧槽。完全看不出来有啥Switch设备。看起来所有得通道都是从 CPU直出得??!?!?

marswjf 发表于 2023-7-12 22:41

happysun110 发表于 2023-7-12 16:59
我也遇到了和你同样的问题,报错是一样的:

nvme nvme0: Device not ready; aborting initialisation, C ...

你是啥CPU呢A家还的I家的?

我测试了下改grub
iommu=soft
amd_iommu=fullflush这些都无效

我用dmsg看了下,

如果没有成功启动,就是2个盘都没加载成功
nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0
nvme nvme1: Device not ready; aborting initialisation, CSTS=0x0

如果成功启动,日志显示其中一个盘没有加载成功

[    0.003127] ACPI: SSDT 0x0000000091B4A000 00073F (v02 AMD    NVME   00000001 INTL 20220331)
[    0.003128] ACPI: SSDT 0x0000000091B49000 00073F (v02 AMD    NVME   00000001 INTL 20220331)
[    0.311251] pci 0000:02:00.0: type 00 class 0x010802
[    0.311263] pci 0000:02:00.0: reg 0x10:
[    0.312729] pci 0000:07:00.0: type 00 class 0x010802
[    0.312744] pci 0000:07:00.0: reg 0x10:
[    0.342006] pci_bus 0000:02: resource 1
[    0.342009] pci_bus 0000:07: resource 1
[    0.342694] pci 0000:02:00.0: Adding to iommu group 18
[    0.342725] pci 0000:07:00.0: Adding to iommu group 22
[    0.804086] nvme 0000:02:00.0: platform quirk: setting simple suspend
[    0.804090] nvme 0000:07:00.0: platform quirk: setting simple suspend
[    0.804137] nvme nvme1: pci function 0000:07:00.0
[    0.804138] nvme nvme0: pci function 0000:02:00.0
[    0.811168] nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0
[    0.811174] fbcon: Taking over console
[    0.815787] nvme nvme1: allocated 40 MiB host memory buffer.
[    0.846933] pps pps0: new PPS source ptp0


0000:02和07的2个4T P7000Z都找到了
但是在初始化的时候0000.02那个盘没加载起来
只认出了一个


所以楼主的内核应该是有效的,
只是因为有其他原因导致这个盘加载不起来.

hawie 发表于 2023-7-13 10:36

ShireCiel 发表于 2023-7-12 17:15
卧槽。完全看不出来有啥Switch设备。看起来所有得通道都是从 CPU直出得??!?!? ...

厂家似乎能将N100的9条PCIE通道全都用上,配NVMe、网卡、USB3.0等不同的硬件规格。不过,我感兴趣的还是这个PCIe x4通道,拆分成4*M.2,理论上可用5*M.2(底板还有一条M.2)。但是,厂家这么久了目前还调试得不稳定,时不时死机,给他们指出来问题在哪儿也不改,所以改为暂不推荐了。等厂家自发地找到问题去改,不知道要到什么时侯,这个转接板只能先闲置吃灰了。

hawie 发表于 2023-7-13 10:48

marswjf 发表于 2023-7-12 22:41
你是啥CPU呢A家还的I家的?

我测试了下改grub


亲测PVE 8的最新更新内核6.2.16-4,也没有把MAP1602的补丁做进去。
再编译了6.2.16-4的带补丁版本,放在1楼了。已验证能同时支持手头的P7000Z 2TB版本多块。

P7000Z的4TB版本比2TB版本,还有这些问题真是意外,不过由于当时没买4TB版本,手头没法测,等以后有条件了再试试。
如果你感兴趣可尝试自己修改,nvme内核驱动中的复位超时那个部份,表面现象是超时返回的错误信息。可能增加一点点超时的门限也许会好。

NexusHE 发表于 2023-7-13 16:22

hawie 发表于 2023-7-13 10:48
亲测PVE 8的最新更新内核6.2.16-4,也没有把MAP1602的补丁做进去。
再编译了6.2.16-4的带补丁版本,放在1 ...

感谢提供思路,我的硬盘是梵想S790 4TB,主控也是MAP1602,同样报 kernel: nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0 错误,之前说的iommu=soft参数验证后发现无效,是偶然情况,我这里设备是联想的Y9000X 2022,bios里没法关闭ASPM来测试,昨天和朋友改的drivers/nvme/host/core.c 经过多次验证没有问题

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 3ec38e2b9173..ab2583cb42aa 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -2408,6 +2408,7 @@ int nvme_enable_ctrl(struct nvme_ctrl *ctrl)
        } else {
                timeout = NVME_CAP_TIMEOUT(ctrl->cap);
        }
+        dev_info(ctrl->device, " nvme core got timeout %u\n",timeout);

        ctrl->ctrl_config |= (NVME_CTRL_PAGE_SHIFT - 12) << NVME_CC_MPS_SHIFT;
        ctrl->ctrl_config |= NVME_CC_AMS_RR | NVME_CC_SHN_NONE;
@@ -2425,8 +2426,9 @@ int nvme_enable_ctrl(struct nvme_ctrl *ctrl)
        ret = ctrl->ops->reg_write32(ctrl, NVME_REG_CC, ctrl->ctrl_config);
        if (ret)
                return ret;
+        dev_info(ctrl->device, " nvme_wait_ready now wait for %u, previously %u\n",(timeout + 1) * 2, (timeout + 1)/2);
        return nvme_wait_ready(ctrl, NVME_CSTS_RDY, NVME_CSTS_RDY,
-                             (timeout + 1) / 2, "initialisation");
+                             (timeout + 1) * 2, "initialisation");
}
EXPORT_SYMBOL_GPL(nvme_enable_ctrl);



直接暴力把timeout除以2改成乘2了hhh,应该是硬盘固件问题?也联系硬盘官方了,他们也在复现问题,修改后内核的dmesg信息如下



感觉在楼主的修改位置,.driver_data后加入NVME_QUIRK_DELAY_BEFORE_CHK_RDY也可能会生效?之后我验证一下

楼上的marswjf和huyz兄弟可以试一下

hawie 发表于 2023-7-13 18:08

NexusHE 发表于 2023-7-13 16:22
感谢提供思路,我的硬盘是梵想S790 4TB,主控也是MAP1602,同样报 kernel: nvme nvme0: Device not ready ...

属性调整为:"NVME_QUIRK_DELAY_BEFORE_CHK_RDY | NVME_QUIRK_BOGUS_NID",放在1楼,有4TB盘可试试。

happysun110 发表于 2023-7-13 18:24

本帖最后由 happysun110 于 2023-7-13 18:32 编辑

你们是怎么测试的啊,我可以一起来验证。

我的是 华硕 z690-p ddr4 主板,cpu 是 13700k,ssd 是爱国者p7000z 4t 单盘。我安装 pve 8.0.2 版本,安装过程正常,能正确识别 爱国者p7000z 4t 硬盘而且安装文件写入都正常。安装完成后重启,进入pve操作系统时报错

nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0

你们说的补丁,是要怎么打?我现在连pve都启动不了,怎么打补丁啊?

最好是能进去 iso 启动盘,安装时就已经搞定了。

现在我这种安装正常启动失败,要怎么打补丁?请指教,谢谢!



=========

我明白了,你们是用这个有问题的ssd硬盘做从盘,pve 是安装在其他硬盘上。

😓,我是用这个盘做系统盘,pve是直接安装在这个 4t 硬盘上的,所以启动时失败我就完全没有机会做其他事情了。。。

只能等 iso 安装文件能修复这个问题了。

happysun110 发表于 2023-7-13 18:26

bios里没法关闭ASPM来测试

这个我试过了,关闭 ASPM 之后依然是同样报错。

marswjf 发表于 2023-7-13 19:04

本帖最后由 marswjf 于 2023-7-13 21:31 编辑

hawie 发表于 2023-7-13 18:08
属性调整为:"NVME_QUIRK_DELAY_BEFORE_CHK_RDY | NVME_QUIRK_BOGUS_NID",放在1楼,有4TB盘可试试。 ...

可以结案了
经测试,
PVE8.0下联芸1602 4T重启找不到盘,2*4T只认一个的故障已排除。


机器是零刻GTR7 ,
配置7840hs+64G+2*爱国者P7000Z 4T


各位大神简直V5





root@marswjf:~# ls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v part
total 0
drwxr-xr-x 2 root root 480 Jul 13 18:55 .
drwxr-xr-x 7 root root 140 Jul 13 18:55 ..
lrwxrwxrwx 1 root root13 Jul 13 18:55 nvme-aigo_NVMe_SSD_P7000Z_4TB_19B46000000000000936 -> ../../nvme0n1
lrwxrwxrwx 1 root root13 Jul 13 18:55 nvme-aigo_NVMe_SSD_P7000Z_4TB_19B46000000000000948 -> ../../nvme1n1
lrwxrwxrwx 1 root root13 Jul 13 18:55 nvme-nvme.1e4b-3139423436303030303030303030303030393336-6169676f204e564d65205353442050373030305a20345442-00000001 -> ../../nvme0n1
lrwxrwxrwx 1 root root13 Jul 13 18:55 nvme-nvme.1e4b-3139423436303030303030303030303030393438-6169676f204e564d65205353442050373030305a20345442-00000001 -> ../../nvme1n1


root@marswjf:~# dmesg | grep nvme
[    0.809229] nvme 0000:02:00.0: platform quirk: setting simple suspend
[    0.809231] nvme 0000:07:00.0: platform quirk: setting simple suspend
[    0.809277] nvme nvme1: pci function 0000:07:00.0
[    0.809277] nvme nvme0: pci function 0000:02:00.0
[    3.149783] nvme nvme0: allocated 40 MiB host memory buffer.
[    3.149792] nvme nvme1: allocated 40 MiB host memory buffer.
[    3.189419] nvme nvme1: 16/0/0 default/read/poll queues
[    3.203389] nvme nvme0: 16/0/0 default/read/poll queues
[    3.218318] nvme nvme0: Ignoring bogus Namespace Identifiers
[    3.218475] nvme nvme1: Ignoring bogus Namespace Identifiers
[    3.230674]nvme0n1: p1 p2 p3
[    3.231145]nvme1n1: p1 p2 p3


NexusHE 发表于 2023-7-13 20:52

happysun110 发表于 2023-7-13 18:24
你们是怎么测试的啊,我可以一起来验证。

我的是 华硕 z690-p ddr4 主板,cpu 是 13700k,ssd 是爱国者p70 ...

我是作为主盘用的,完全靠运气进入...差不多启动七八次有一次能进去,然后换内核解决

marswjf 发表于 2023-7-13 21:26

NexusHE 发表于 2023-7-13 20:52
我是作为主盘用的,完全靠运气进入...差不多启动七八次有一次能进去,然后换内核解决 ...

请教下换的哪个内核呢?什么版本   求链接
页: 1 2 3 [4] 5 6
查看完整版本: 联芸MAP1602主控的可以入了,掉坑里刚爬出来,P7000Z晚班车拿了四块,附内核