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.

Hardware Raid SATA controller passthrough

Featured Replies

I have this device: http://www.amazon.com/SEDNA-HyoperDuo-acceleration-function-included/dp/B01EHKCMIG?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00

 
87:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller (rev 11)

<qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=8b:00.0,bus=root.1,addr=00.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=87:00.0,bus=root.1,addr=00.2'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=03:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
  </qemu:commandline>

 

My intention is to pass it through to a VM as illustrated by the above XML snippet. I really have no idea how the raid works on this, I assume it's some custom bios as there are no jumpers on the board. Anyway my problem is when the VM boots up it just freezes on a page describing the SATA controller... (no OS installed yet, I have boot drive with the fedora 23 installation iso passed through as separate drive as well.... and when I don't pass through this SATA controller, it boots right into the live disk).

 

Here is what I see (attached), and I tried pushing all F keys and Del key... nothing.

 

I did attempt to find a guide on how to do this, but the only one I found concerning a SATA specific device passthrough had to do with blueray something on windows 10 that has nothing to do with my setup. Any recommendations on how to move forward would be very welcome!

 

Thanks!

IMG_1156.JPG.fe52f19e79a391a1a0ee901cd0ea13f5.JPG

  • Author

Update --

 

So I was able to get this to work in the sense of getting past the boot process. I stopped passing the controller directly to the instance, and instead used my host bios to create a virtual drive (hold control-m on bios page -- not mentioned anywhere in the RAID controller documentation, thanks SEDNA...) and then directly passed that virtual drive to my host via:

 

<disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-MARVELL_Raid_VD_24ee8d97fb400001'/>
      <target dev='hdd' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>

 

All is well. I then ran:

dd if=/mnt/users/vdisks/fedora/vdisk1.img of=/dev/vdx bs=4k

 

And it booted into my fedora instance! yaya! However, within 10 minutes I start getting write errors and dmesg entries implying my raid is messed up.

 

Is this not the recommended way of having a VM use a disk directly? Do I have to do anything in Unraid to tell it to not touch this PCIe device and let the VM do everything with it?

seeing as you're using fedora, it should support virtio-scsi passthrough for the disk, so you could try passing it through like this:

 

<disk type='block' device='lun' rawio='no'>

      <driver name='qemu' type='raw'/>

      <source dev='/dev/disk/by-id/ata-MARVELL_Raid_VD_24ee8d97fb400001'/>

      <target dev='sdd' bus='scsi'/>

      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    <controller type='scsi' index='0' model='virtio-scsi'>

 

Your errors could possibly be due to the caching with the virtio bus.

If that makes no difference, id start running tests on the virtual disk you created, but outside of the VM to see if its actually issues with the disks or card? or an issue with the driver its using with unraid?

Also, if you tell unraid not to initialize the PCIe card, id imagine the disk wont be available to pass through to the VM.

 

EDIT: you might need to reinstall the OS though.... not sure if it'll like the disk type being changed and still boot ok.

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.