On 12/12/24 19:16, Rick Wertenbroek wrote: > Hello, > I have tested the NVMe endpoint function extensively on two extra > platforms to run on, the FriendlyElec CM3588+NAS Kit [1] and NanoPC T6 > [2] (with PCIe x1, x2, and x4 links). > > Besides testing with Linux based hosts (Ubuntu 20.04, 23.10, 24.04), I > also tested that the NVMe device is recognized by a Windows 10 > Enterprise host and can be formatted and used as a regular disk. I > also tested on MacOS Monterey on a Macbook Pro 2016 (Intel based) host > through a M.2 to USB-C adapter [3], the drive is recognized and > usable. > > The USB-C adapter is based on the ASM2464PD chipset [4] which does > USB4/Thunderbolt to PCIe/NVMe, I tested with PCI over Thunderbolt with > the MacOS host, so the host sees the NVMe endpoint function directly > as a PCI device and the NVMe drive is seen as such. This works well. > > The only test case that did not work is when I tested the ASM2464PD > chipset NVMe to regular USB functionality, where the chipset is the > host, and presents itself to the PC as a "usb-storage" class device, > but this didn't work because the ASM2464PD never enabled the NVMe > controller (CC.EN bit in BAR0), the PCI Link between the ASM2464PD and > endpoint function gets up however, and to the host PC the USB device > is recognized ("usb-storage" class, like a USB stick, e.g., /dev/sda), > but it cannot be read (shows as 0B block device). As I cannot debug > the chipset itself I don't know why the NVMe endpoint doesn't get > enabled. This might very well be a quirk in the ASM2464PD chipset and > is a very specific use case so I don't think it indicates any major > issues with the endpoint function, but I report it here for the sake > of completion. > > I have tested with different storage backend devices for actual > storage (USB, eMMC, and NVMe (PCIe x1, x2) on the NAS kit). > > In summary, over PCI the endpoint function works well with all three > Linux/MacOS/Windows hosts. > > Tested-by: Rick Wertenbroek <rick.wertenbroek@xxxxxxxxx> > (I don't know if this applies as I co-developed the endpoint function > with Damien) I think it does apply since I only tested with Linux hosts. Thanks a lot for all the extra testing ! Sending v4 with the build failure fixed and doc typos fixed. > > Best regards, > Rick > > [1] https://wiki.friendlyelec.com/wiki/index.php/CM3588 > [2] https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6 > [3] https://www.aliexpress.com/item/1005006316029054.html > [4] https://www.asmedia.com.tw/product/802zX91Yw3tsFgm4/C64ZX59yu4sY1GW5/ASM2464PD > -- Damien Le Moal Western Digital Research