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.

Blu-ray / DVD ROM Passthrough the Windows VM

Featured Replies

I see a lot of GUP Passthrough discussions and would like to ask if someone had passed through a DVD Drive to the Windows VM?

I have a all HD's attached to my AOC-SAS2LP-MV8. The cache drive as well as the DVD Drive are both attached to the mainboard SATA controller:

lspci -k
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller (rev 09)
Subsystem: Super Micro Computer Inc Device 0624
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)
Subsystem: Super Micro Computer Inc Device 1502
Kernel driver in use: e1000e
Kernel modules: e1000e
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
Subsystem: Super Micro Computer Inc Device 0624
Kernel driver in use: ehci-pci
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
Subsystem: Super Micro Computer Inc Device 0624
Kernel driver in use: ehci-pci
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C202 Chipset Family LPC Controller (rev 05)
Subsystem: Super Micro Computer Inc Device 0624
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
Subsystem: Super Micro Computer Inc Device 0624
Kernel driver in use: ahci
Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
Subsystem: Super Micro Computer Inc Device 0624
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
02:00.0 RAID bus controller: Marvell Technology Group Ltd. Device 9485 (rev 03)
Subsystem: Marvell Technology Group Ltd. Device 9480
Kernel driver in use: mvsas
Kernel modules: mvsas
04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
Subsystem: Super Micro Computer Inc Device 0000
Kernel driver in use: e1000e
Kernel modules: e1000e
05:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)
Subsystem: Super Micro Computer Inc Device 0624

 

It seems that I can't passthrough the DVD drive only as I can't see it on this list. Is this correct? dmesg is showing:

ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata2.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
ata2.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata2.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata2.00: ATAPI: HL-DT-ST BD-RE  BH10LS30, K93A7ME5937, 1.01, max UDMA/133
ata2.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
ata2.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata2.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata2.00: configured for UDMA/133
scsi 3:0:0:0: CD-ROM            HL-DT-ST BD-RE  BH10LS30  1.01 PQ: 0 ANSI: 5

 

Lastly, my windows.cfg:

name = 'windows'                                                                                                                    
builder = 'hvm'                                                                                                                     
vcpus = '4'                                                                                                                         
memory = '2048'                                                                                                                     
device_model_version="qemu-xen-traditional"                                                                                         
disk = [                                                                                                                            
        'file:/mnt/cache/.VMs/Windows/windows.img,hda,w',                                                                           
#       'file:/mnt/cache/.VMs/Windows/windows.iso,hdc:cdrom,r'                                                                      
        ]                                                                                                                           
vif = [ 'mac=00:16:3e:a1:bc:a5,bridge=br0' ]                                                                                        
on_poweroff = 'destroy'                                                                                                             
on_reboot = 'restart'                                                                                                               
on_crash = 'restart'                                                                                                                
boot = 'dc'                                                                                                                         
acpi = '1'                                                                                                                          
apic = '1'                                                                                                                          
viridian = '1'                                                                                                                      
xen_platform_pci='1'                                                                                                                
sdl = '0'                                                                                                                           
vnc = '1'                                                                                                                           
vnclisten = '0.0.0.0'                                                                                                               
vncpasswd = ''                                                                                                                      
stdvga = '0'                                                                                                                        
usb = '1'                                                                                                                           
usbdevice = 'tablet'

Is anyone having any advise? Thank you.

Does the DVD drive show up under /dev at the Linux level?    If so I would have thought you could pass it through using type phy: instead of file: in the configuration file and using the /dev name?  That is what works for passing through physical hard drives, but I do not have a SATA connected DVD drive to try it out on my system.

You havnt actually passed anything through. Where is your PCI line?

 

Sent from my S4 via Tapatalk

 

 

  • Author

Well, I read the examples as well as the "Xen PCI Passthrough" site. My mainboard/CPU also supporting IOMMU/VT-d but my issue is that I don't see the drive and this should be the starting point right?

 

Maybe I should install my unused Adaptec 1220SA, attaching the drive to the adapter and passthrough the whole thing.

You'll need to passthrough the entire SATA controller I would imagine.

 

Sent from my S4 via Tapatalk

 

 

  • Author

Installed the spare SATA card. See the steps that I made:

 

1.) lspci -k was showing the new device:

03:00.0 RAID bus controller: Silicon Image, Inc. Device 0242 (rev 01)
Subsystem: Adaptec Device 0242
Kernel driver in use: pciback
Kernel modules: sata_sil24

 

2.) Changed the syslinux.cfg file (removing the device from access by unRAID):

label Xen/unRAID OS
  menu default
  kernel /syslinux/mboot.c32
  append /xen dom0_mem=2097152 --- /bzimage xen-pciback.hide=(03:00.0) --- /bzroot

 

3.) Reboot - SATA card seems to be successfully passed through:

root@Tower:/mnt/cache/.VMs/Windows# xl pci-assignable-list
0000:03:00.0

 

4.) Added just one line to windows.cfg:

pci = ['03:00.0'] 

and started the VM (xl create windows.cfg)

Parsing config from windows.cfg
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019ec84
  Modules:       0000000000000000->0000000000000000
  TOTAL:         0000000000000000->000000007f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000000
Daemon running with PID 2324

 

I'm not sure what your last image is showing me...

 

Tbh, it's out of my knowledge zone. You're likely to have more luck on the Xen mailing lists with this issue as it's quite specific, than here.

  • Author

Done - it was a drive issue within Windows. I installed the ADAPTEC driver and I can see (and use) the drive now.

 

I'm a lucky camper now  :D

 

{EDIT} One more thing. I temporarely removed pci = ['03:00.0'] from my windows.cfg file. I used the following command instead:

xl pci-attach windows 0000:03:00.0

. This is the result of "xl pci-assignable-list" by the way.

 

HOWEVER, using pci = ['0000:03:00.0'] within windows.cfg isn't working either, I have to manually send the 'xl pci-attach windows 0000:03:00.0' command after the VM was started

Done - it was a drive issue within Windows. I installed the ADAPTEC driver and I can see (and use) the drive now.

 

I'm a lucky camper now  :D

 

{EDIT} One more thing. I temporarely removed pci = ['03:00.0'] from my windows.cfg file. I used the following command instead:

xl pci-attach windows 0000:03:00.0

. This is the result of "xl pci-assignable-list" by the way.

 

HOWEVER, using pci = ['0000:03:00.0'] within windows.cfg isn't working either, I have to manually send the 'xl pci-attach windows 0000:03:00.0' command after the VM was started

 

xl pci-attach windows 0000:03:00.0

 

=

 

pci = ['03:00.0'] from my windows.cfg file

  • Author

Does the DVD drive show up under /dev at the Linux level?    If so I would have thought you could pass it through using type phy: instead of file: in the configuration file and using the /dev name?  That is what works for passing through physical hard drives, but I do not have a SATA connected DVD drive to try it out on my system.

 

I need to come back to this - anything that I read assumed, that the DVD drive is visible in the Dom0 which is not the case. Maybe there's a driver missing in unRAID?

 

Is there anyone else who has a DVD drive passed through?

  • Author

Sure - I meant that it wasn't visible even before I was hiding it for the purpose of  passing it through.

I passed through a SATA controller to my Windows 8 VM with Xen and it worked fine.  The only issues I had was that Windows wouldn't boot since it was trying to boot off the CD.

 

I can try to confirm if I can get around that in the config file if you want, just in case you were considering buying a SATA controller

  • Author

And do you see the same picture that I posted in #8? Do you have the same effect that I was describing in #12?

 

So passing throught the SATA card when Windows is already running is working well (no difference between Win 7 and 8 by the way ....) but including it into the cfg is causing a boot issue.

 

 

Sent from my iPad using Tapatalk

  • 1 month later...

EdgarWallace - I have been experiencing the exact same issue with 1 exception.  Even after installing the sata controller drivers my system never goes past the 'no bootable device detected' sata card controller screen.  It DOES work by

 

After hiding the PCIe Sata card from unraid

After booting the Windows 8.1 VM

After installing the Sata card driver in windows (ASM1062)

After starting Windows

In Unraid Putty/Terminal I issue:  xl pci-attach windows 0000:06:00.0

 

IF I place ['06:00.0'] into my Windows.cfg PCI = ['06:00.0']

All that happens is that I am shown a similar boot lock screen showing "No bootable device" - I have confirmed this with 3 different Sata cards / chipsets.

 

 

http://lime-technology.com/forum/index.php?topic=33474.0

An idea here!  Too worn to try it now.

 

Rather than using Putty to SSH into Tower manually after launching the windows VM...

 

I wonder if we can write a batch script to pass to putty and have Windows Schedule manager launch this upon login?

 

CD/ C:/location of puttySavedFile@Tower

putty.exe -ssh tower2

...then how to type root

...then how to type enter

...then how to type TowerPassword

...then how to type enter

...then how to type xl pci-attach windows 0000:06:00.0

...then how to type enter

 

edit:  Found something to try later: http://etherealmind.com/putty-command-line/  or maybe http://stackoverflow.com/questions/14269885/putty-scripting-to-log-onto-host

 

 

  • Author

landS this might be a nice workaround but not a solution. The question is: why do we have this issue? I can only imagine that we at experiencing a driver issue (since Beta5 I can attach my BluRay drive, so I guess that a new driver was added to the kernel with this Beta of unRAID).

 

I honestly don't know how to move forward. Google doesn't help here.

 

  • 4 weeks later...
  • Author

@landS I have installed the new Beta yesterday. Issue still not resolved. Can you confirm?

 

 

Sent from my iPad using Tapatalk

I just read through this thread.  There may be better ways to accomplish this in Beta 6 than passing through the entire PCI controller your device is attached to.  I'll add this to my list of things to test/document.

  • Author

Thanks a lot Jon, this is actually the last remaining issue in my unRAID environment. Much appreciated.

@landS I have installed the new Beta yesterday. Issue still not resolved. Can you confirm?

Sent from my iPad using Tapatalk

 

I have not had the best of luck getting my 8.1 VM XEN to run in b6 so I reverted to b5.

... awaiting some of the XEN vs KVM fallout to settle as I would LOVE to be able to use a Nvidia GPU (for native Steam and Shield streaming)... plus I want to see how the different format cache stability turns out... and I want to know which format is going to be supported in 6 final. 

 

IF someone is kind enough to put up a 8.1 KVM guide that includes any eject/mount scripts, HDD, ODD, USB Controller Card, GPU passthrough then I will begin pounding sooner as opposed to later. 

 

If someone has a 8.1 XEN to KVM transfter guide I will LEAP at the chance to try a conversion.

 

For now b5 + 8.1VM appears to be very stable.

  • 2 months later...
  • Author

 

I just read through this thread.  There may be better ways to accomplish this in Beta 6 than passing through the entire PCI controller your device is attached to.  I'll add this to my list of things to test/document.

jonp, any News here? What is the "better way" instead of passing through the entire PCI SATA controller? Would you mind, updating us? Thanks a lot.

Sorry edgar. I'll get an update on this out this upcoming week or I owe you a beer.

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.