Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Marvell Sata controller with VT-d

Featured Replies

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

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.

 

 

 

  • 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

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?

  • 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..

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.

 

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

 

 

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.

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.

  • 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 :(

 

  • 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

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

 

 

  • 7 months later...

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 :)

Thanks for posting your findings. I have the same MB and was wondering if the M.2 slot would work in unRAID.

  • 2 weeks later...

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).

  • 6 months later...

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.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.