May 23, 201412 yr Hi My disclaimer - IT isn't my expertise so please let me know if I am missing something or asking something stupid. That and I onyl started lookign at xen for the first time yesterday!! Based on what I have read up marvell sata controllers dont work with Xen when VT-d is enabled. This has something to do with DMA and the controller using the wrong requestor id... Apparently there was a work around created which you can call from the command line "pci-phantom" (http://xenbits.xen.org/docs/unstable/misc/xen-command-line.html) I am not sure which links to provide as there are a lot of reports on this via a quick google search. My question- How easy is it to implement the pci-phantom command (doesn't seem to exist in this xen version)? Thanks Suleiman
May 23, 201412 yr My 6.0b5a server is using 2 SuperMicro AOC-SAT2-MV8 controllers which use Marvel's 88SX6081 controller for unRAID dom0. I am passing through a M1015 LSI based controller to a WHS2011 domU on my 6.0b5a system.
May 23, 201412 yr Author Hi Should have been more specific. It is specifically the Marvell 88SE91xx SATA controllers in IOMMU ([intel:] VT-d) mode. I have noticed a few other people posting threads about issues with drives not being recognising so not sure if it is related. Controller is fine with vt-d switched off but when switched on it doesn't pick up the drive attached to the card. Regards
May 23, 201412 yr Thought that might be the case. The 88SX6081 is OLD and PCI-X (at least on the SAT2-MV8) so I can see why it would have more support. You may have to switch to LSI based as I believe that works. Definitely does when passed through to a VM anyway. It is also possible that Xen 4.4 in the upcoming beta will fix the Marvel problem. As to adding it to the command line isn't that what the instructions for the pciBack.hide does when added to syslinux.cfg when passing through PCI devices to a VM?
May 23, 201412 yr Author LSI- A different brand? (Not an IT person) My limited understanding is that the issue is not related to passing through but rather that "use a different wrong requester ID and don't even fit into the DMA source idea. " (link: https://lkml.org/lkml/2014/5/1/290 -for the rest of issue) It seems that the current workaround is to invoke the pci-phantom command from the command-line - like this person -(http://lists.xenproject.org/archives/html/xen-users/2013-06/msg00403.html) to get the item registered Any case this is way over my head and this is where I got to with my little understanding. PS. Not sure if I missed what you said..
May 23, 201412 yr LSI is a different brand - yes. IBM M1015 (a popular controller on these forums) is LSI based you can also find them from other manufacturers like Dell. I have a Perc H310 in my HP N40L unRAID server as well. Or you can get a LSI marketed version. This LSI on newegg is what my M1015s and Perc H310s are cross flashed to http://www.newegg.com/Product/Product.aspx?Item=N82E16816118112&ignorebbr=1&cm_re=lsi_controller-_-16-118-112-_-Product (cross flash means I took my Perc H310 and flashed the firmware to look like an LSI 9211-8i in IT mode. IT mode is a mode that just presents disks to OS and doesn't offer RAID functions). As to the change I was hoping some that knows more about XEN could confirm where to change it. I think the commands are passed to xen from the syslinux.cfg settings like what is done when you hide a controller for pass through to a VM by adding a pciBack.Hide= command to syslinux.cfg.
May 23, 201412 yr It seems that I am having this issue with my Asrock C226 WS witch has 2 Marvell controllers and I have 3 drives connected to them. Can some explain in detail how to apply this work around? Sent from my SCH-I545 using Tapatalk
May 23, 201412 yr I will look up what I'm talking about and see if I can come up with something for you two to try but that will be tonight after work.
May 23, 201412 yr You will need to know the PCI BDF Notation for the card you are passing through based on what I see for pci-phantom. You can get that by going to the Utilities tab in the unRAID GUI and selecting PCI devices. When you do you will get something like this: 00:00.0 Host bridge: Intel Corporation 3200/3210 Chipset DRAM Controller (rev 01) 00:01.0 PCI bridge: Intel Corporation 3200/3210 Chipset Host-Primary PCI Express Bridge (rev 01) 00:06.0 PCI bridge: Intel Corporation 3210 Chipset Host-Secondary PCI Express Bridge (rev 01) 00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02) 00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02) 00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02) 00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02) 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02) 00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 02) 00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02) 00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92) 00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [iDE mode] (rev 02) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02) 00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA Controller [iDE mode] (rev 02) 00:1f.6 Signal processing controller: Intel Corporation 82801I (ICH9 Family) Thermal Subsystem (rev 02) 01:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge A (rev 09) 01:00.1 PIC: Intel Corporation 6700/6702PXH I/OxAPIC Interrupt Controller A (rev 09) 01:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge B (rev 09) 01:00.3 PIC: Intel Corporation 6700PXH I/OxAPIC Interrupt Controller B (rev 09) 02:01.0 SCSI storage controller: Marvell Technology Group Ltd. MV88SX6081 8-port SATA II PCI-X Controller (rev 09) 03:02.0 SCSI storage controller: Marvell Technology Group Ltd. MV88SX6081 8-port SATA II PCI-X Controller (rev 09) 04:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03) 05:00.0 USB controller: Etron Technology, Inc. EJ188/EJ198 USB 3.0 Host Controller 0d:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03) 0f:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller 11:04.0 VGA compatible controller: AMD/ATI [Advanced Micro Devices, Inc.] ES1000 (rev 02) Look for your Marvell Controller you can see my 2 in the list above. Make note of PCI BDF notation values (02:01.0 for the first card in my list) Now edit your syslinux.cfg mine is below: default /syslinux/menu.c32 menu title Lime Technology prompt 0 timeout 50 label unRAID OS kernel /bzimage append initrd=/bzroot label unRAID OS Safe Mode (no plugins) kernel /bzimage append initrd=/bzroot unraidsafemode label Memtest86+ kernel /memtest label Xen/unRAID OS menu default kernel /syslinux/mboot.c32 append /xen --- /bzimage xen-pciback.hide=(0f:00.0)(04:00.0)(05:00.0) --- /bzroot label Xen/unRAID OS Safe Mode (no plugins) kernel /syslinux/mboot.c32 append /xen --- /bzimage --- /bzroot unraidsafemode See how I used xen-pciback.hide= in my list? You need to do something similar with pci-phantom. So maybe something like this would work: append /xen --- /bzimage pci-phantom=02:01,1 --- /bzroot The 02:01 comes from my PCI devices list at the top. The ,1 comes from this post http://www.gossamer-threads.com/lists/xen/users/288542 But as I said better advice would be from someone that knows what they are talking about rather then my guesses.
May 24, 201412 yr Author Thanks for the help. Thats also where I got to before I knocked off yesterday. However no success. I am playing around with syntax e.g. add "xen-" before it and location of the command but no success yet
May 24, 201412 yr Author So- SUCCESS at last. My sata card has two ports and I had to move my drive from port 1 to port 0 tio get it working (suspect this has something to do with the stride parameter). The process for those who want to try the fix: [*]See BobPhoenix post on getting device ID [*]In the syslinux.cfg - directly after "/xen " add pci-phantom= (your id with stride 1) in my case the line looks like "append /xen pci-phantom=01:00,1 --- /bzimage --- /bzroot" If this doesn't work, try ensuring your hdd is plugged into the sata ports in order starting from port 0. Thanks for the assistance BobPhoenix
May 25, 201412 yr Awesome news. I'll report my findings on my motherboard when I have some time again. Could be awhile... Sent from my Nexus 4 using Tapatalk
December 30, 201411 yr I recently experienced this issue with an SSD on a new system. Motherboard : Asrock Z97 Extreme4 SSD (M.2 Slot) : Plextor PCIe M.2 2280 (PX-G256M6e) The Plextor SSD utilises the Marvell 88SS9183-BNP2 Native PCIe 2.0 Controller, as do the 128GB and 512GB versions (PX-G128M6e and PX-G512M6e respectively). Initially, the drive just didn't appear in the Web UI while unpleasant messages appeared in the system log : EG ata5.00: failed to IDENTIFY (INIT_DEV_PARAMS failed, err_mask=0x80) After much poking around, I finally found this topic and quickly disabled VT-d in the BIOS. After confirming that my errant drive was finally showing in Dynamix, I followed the solution and have not experienced further issues. SSDs are gaining traction as cache drives and M.2 slots are appearing on motherboards more frequently - so I thought it would be worthwhile mentioning the Plextor issue to save others the hassle. Sorry for bumping up an old topic
December 31, 201411 yr Thanks for posting your findings. I have the same MB and was wondering if the M.2 slot would work in unRAID.
January 15, 201511 yr Ahhh - good to see someone got some value from it Yes, the M.2 slot does work, and I don't think that you will experience the issues I did if you are using another brand of SSD (or a Sata rather than PCI based SSD).
July 26, 201510 yr I am struggling with the same issue of a nonworking Marvell 88SX6081 (actually the one integrated in the Plextor M6e with PCIe). In my case, there is no xen involved though as I have not set it up though. However, the drive does not show up in Unraid 6. I have initially reported as a hardware issue (http://lime-technology.com/forum/index.php?topic=41758.0), but looks like this thread is covering exactly the same topic. This thread has been very helpful and I believe it may lead to a solution. I actually can find the controller in tools/devices: 05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01) My syslinux.cfg obviously looks different as it does not include any reference to xen: default /syslinux/menu.c32 menu title Lime Technology prompt 0 timeout 50 label unRAID OS menu default kernel /bzimage append initrd=/bzroot label unRAID OS Safe Mode (no plugins) kernel /bzimage append initrd=/bzroot unraidsafemode label Memtest86+ kernel /memtest I tried to add " append pci-phantom=05:00,1 --- /bzimage --- /bzroot" in the line after "append initrd=/bzroot", but this made it worse (Kernel panic, can no longer start Unraid 6). Any idea how to solve this? I would really love to use this lightning-fast drive!!!
Archived
This topic is now archived and is closed to further replies.