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.

Startup and reboot issue sata controller passthrough

Featured Replies

I just got my new hardware in for my unraid setup and its working good so far. All pci devices are in ther own iommu group and everything i passed through so far works. But i have an issue when i passthrough my marvell 92xx chipset sata contoller. When i start my windows 10 vm it takes a long time untill i reach the windows startup logo.. it hangs at the seabios line for a good 2 mintues than proceeds to the pxe line then the sata contoller shows the list of drives before it finally reaches windows startup logo.. than if i reboot the vm via inside the virtual machine it will load sebios line and pxe line fast and hang on a black screeen for 10 mintues or so before starting windows. I can bypass the long wait if i press ctrl alt del. It will start up quicker but still hang at seabios line for 2 minutes. Any ideas why this could be possibly happening..

 

I am passing the sata contoller through using the pci-stub method.

 

I also have a diamond 5450 gpu passed through and also a usb3.0 card.

If i do not pass through the sata contoller all works well.. fast startup and reboot..

Any help would be much appreciated.

 

To clarify some.. my ultimate goal is to have my dvd burner and 2 seperate hdds passes through directly to my windows vm. I have seen other was to accomplish this but i figured sata contoller would be easier for me. Thanks.

 

Hardware specs

Intel 5820k cpu

Gigabyte x99psli mobo

64gb ddr4 gskil ram

 

maybe just passthrough the physical disks using

 <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-ST3500312CS_9VVERKB1'/>
      <target dev='hdd' bus='virtio'/>
    </disk>

 

the ata-ST3500312CS_9VVERKB1  part change that to ata-yourdeviceid

  • Author

Thanks for the fast reply. I will have to try that. I also have a highpoint 640L raid card i could try.. do you know if a highpoint card would be able to detect dvd rom drive or do they only allow hdds to be connected?

  • Author

maybe just passthrough the physical disks using

 <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-ST3500312CS_9VVERKB1'/>
      <target dev='hdd' bus='virtio'/>
    </disk>

 

the ata-ST3500312CS_9VVERKB1  part change that to ata-yourdeviceid

 

I was not able to use this method. I kept getting an error which said it could not find device. But i was able to use

 

 <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/sdk'/>
      <target dev='hdd' bus='virtio'/>
    </disk>

 

Is that an acceptable method ? Will the path to the hdd change if i reboot unraid?

I think you missed the part which he said

the ata-ST3500312CS_9VVERKB1  part change that to ata-yourdeviceid

 

You need to do this command in the console to see the exact device ID:

ls  -l  /dev/disk/by-id

It should tell you all your storage devices ID and their corresponding sd? name.

Then you look for the ID that corresponds to sdk and replace the "ata-ST3500312CS_9VVERKB1" with it.

 

The general consensus I think is to not use the sd? designation as it can change. The "by-id" is fixed.

 

I got more luck with a slightly different method (passing through the scsi bus) but I think it's more important to get something that works for you, not me.

  • Author

I think you missed the part which he said

the ata-ST3500312CS_9VVERKB1  part change that to ata-yourdeviceid

 

You need to do this command in the console to see the exact device ID:

ls  -l  /dev/disk/by-id

It should tell you all your storage devices ID and their corresponding sd? name.

Then you look for the ID that corresponds to sdk and replace the "ata-ST3500312CS_9VVERKB1" with it.

 

The general consensus I think is to not use the sd? designation as it can change. The "by-id" is fixed.

 

I got more luck with a slightly different method (passing through the scsi bus) but I think it's more important to get something that works for you, not me.

 

Yes, thank u for that.. i def missed that part.. i went to system devices page and was using the id from there.. after doing what u have suggested it worked perfectly.. thanks again.

 

Can you possible help me try and passthrough my dvd rom drive.  I can get to the part where it shows the isci device in windows device manager but using the virtio cd the driver will not install.. plus when i remove the virtio cd the code for dvd passthrough dissapears from my xml file..

 

This is the code i am using 

<hostdev mode='subsystem' type='scsi' managed='no'>
      <source>
        <adapter name='scsi_host12'/>
        <address bus='0' target='0' unit='0'/>
      </source>
      <readonly/>
      <alias name='hostdev1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </hostdev>

 

For this dvd rom drive

 

[12:0:0:0]   cd/dvd  ATAPI    iHAS124   B      AL0S  /dev/sr0

 

Put this in the xml right before the </devices> tag:

Note the index = 1 and controller = 1.

<controller type='scsi' index='1' model='virtio-scsi'/> 
<hostdev mode='subsystem' type='scsi'> 
   <source> 
     <adapter name='scsi_host12'/> 
     <address type='scsi' bus='0' target='0' unit='0'/> 
   </source> 
   <readonly/> 
   <address type='drive' controller='1' bus='0' target='0' unit='0'/> 
</hostdev>

 

Then start the VM and go to Device Manager. You should see 2 scsi devices without driver (has a exclamation mark next to it).

Install the virtio scsi driver for the 2nd item (or whichever one that you do NOT get the warning that the driver is NOT intended for the device).

 

Note that I'm using virtio latest version (0.1.117) which has Windows 10 driver. I think stable (102) only has 8.1 which I found to not work.

Once the driver is installed, it should show up as blablabla SCSI Passthrough.

 

The optical drive should show up now but I recommend restarting the VM just to be safe.

 

I extended the above method to pass through the SSD and it appears to work too - better performance than Unassigned Devices.

  • Author

Put this in the xml right before the </devices> tag:

Note the index = 1 and controller = 1.

<controller type='scsi' index='1' model='virtio-scsi'/> 
<hostdev mode='subsystem' type='scsi'> 
   <source> 
     <adapter name='scsi_host12'/> 
     <address type='scsi' bus='0' target='0' unit='0'/> 
   </source> 
   <readonly/> 
   <address type='drive' controller='1' bus='0' target='0' unit='0'/> 
</hostdev>

 

Then start the VM and go to Device Manager. You should see 2 scsi devices without driver (has a exclamation mark next to it).

Install the virtio scsi driver for the 2nd item (or whichever one that you do NOT get the warning that the driver is NOT intended for the device).

 

Note that I'm using virtio latest version (0.1.117) which has Windows 10 driver. I think stable (102) only has 8.1 which I found to not work.

Once the driver is installed, it should show up as blablabla SCSI Passthrough.

 

The optical drive should show up now but I recommend restarting the VM just to be safe.

 

I extended the above method to pass through the SSD and it appears to work too - better performance than Unassigned Devices.

 

i got it to work on time but once i removed the virtio driver disk all hell broke loose.. i rebooted and nothing but a black screen than i rebooted a second time and was greeted with a blue screen error within the windows vm. after that i placed the code back into the xml file with no luck.. dvd rom drive doesnt show but at least i can boot back into windows.. any ideas

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.