Leaderboard

Popular Content

Showing content with the highest reputation on 11/09/19 in all areas

  1. Just an FYI for this forum: It has been 16 days since I have had any corruption with Plex. That only happened with 6.6.7. With anything newer, it would corrupt in less than a day. 6.8.0-rc4 and rc5 have been rock stable with the changes that were made. I'm glad that I stuck with the testing, and was able to work so close with the Unraid team. 🙂
    5 points
  2. Is there any reason NOT to lock threads that haven't had a reply in more than a year? If not, I think it would be a good thing to implement, along with a note somewhere why this was done. It seems like every time an old thread is resurrected, the new post doesn't belong there, for various reasons. For support threads with very little activity because stuff just works, the supporting person or group could easily post a keep alive, or request an unlock if appropriate.
    2 points
  3. IPMI plugin for unRAID 6.1+ This plugin is for viewing the local or remote sensors and event logs of a motherboard with ipmi. Sensors can be viewed in basic or advanced mode. Sensor reading color will be green if between non critical, yellow for critical and red for non recoverable. Event Log can clear all or individual events. Sensors page will refresh every 10 sec while viewing it. You can turn on event notification warnings and remote lan monitoring from the settings page. 1. Copy the plugin url: https://raw.githubusercontent.com/dmacias72/IPMI-unRAID/master/plugin/ipmi.plg 2. Paste url into install plugin text input and click install 3. There will be an IPMI tool icon under the Tools menu/ UnRAID OS 4. This will install freeipmi and modprobe ipmi drivers 5. There is a settings page at /Settings/IPMI for event notifications, remote ipmi monitoring and temp/fan sensors to be displayed in the webpage footer. You can pick any four temp or fan sensor to display at the bottom of the unRAID webGui. 6. You can acces the sensor readings and events by navigating to Tools/IPMITools or clicking the Readings button on the settings page. You can test notifications either by sticking your finger in a fan [emoji33] or from the command line "ipmitool event 1" (you can also use 2 or 3) No need for bloody fingers or command line foo anymore, there's a button on the settings page for testing events. It cycles through 5 different events that are either warnings or alerts. IPMI fan control is supported for ASRock and Supermicro X10/X11 only. For Asrock boards there's a configure button that automatically sets any active fan to their location relative to the ipmi-raw command. If you change or add fan headers you will need to rerun configuration. Then set up temp sensor to monitor for the fan and the temp hi/lo thresholds. Setting a fan to auto will use the systems smart fan settings. There's also a minimum option to keep a fan from going below a certain percentage and a maximum to limit the highest fan speed. I've added some extra command line scripts. They will use network connection or local from the plugin as well as filter ignored sensors. They will accept any commands line options that their counterpart accept. They are ipmisensors, ipmisel, ipmifru and ipmiraw. All comments and sugestions are welcome. ipmitool is not part of the plugin anymore but here's a link to the package https://raw.githubusercontent.com/dmacias72/unRAID-plugins/master/source/packages/ipmitool-1.8.13-x86_64-1_slack.txz Both of these are compiled under 6.2 so they may not work on 6.1 https://raw.githubusercontent.com/dmacias72/unRAID-plugins/master/source/packages/ipmitool-1.8.17-x86_64-1.txz https://raw.githubusercontent.com/dmacias72/unRAID-plugins/master/source/packages/ipmiutil-3.0.0-x86_64-1.txz Supermicro Motherboards You need to set the thresholds for the fans to a lower value or they will spin up to full speed constantly. The reason for this is because the default threshold is usually 700 rpms. So if the fan's rpms drop below this the bmc spins the fans up to full speed. I have mine set all three thresholds for each fan at 200 - 300 rpms. You can also use the fan speed minimum % setting to help keep the fans above the thresholds you set. I have mine set to 28-34%. To set the thresholds for to the config editor tab. Then select sensors config and scroll down to each fan and change the thresholds. I set all three thresholds for FANA to 200. The fans on this header are for my hard drives. I set all the other fans to 300. These are my case and CPU fans. Just click save after you're done. You may have to click load config @ unraid start if the settings aren't persistent after a reboot. IPMI Commands ############################################# # ASRock # ipmi-raw 00 3a 01 00 00 00 00 00 00 00 00 # ipmi-raw 00 3a 01 AA BB CC DD EE FF GG HH # 00 = smartfan mode # 01 - 64 = 1% - 100% ############################################# ############################################# # ASRock Dual Socket # ipmi-raw 00 3a 01 CPU_1_OVERRIDE CPU_1 REAR_1 FRONT_1 FRONT_2 FRONT_3 # ipmi-raw 00 3a 11 CPU_2_OVERRIDE CPU_2 REAR_2 FRONT_4 # ipmi-raw 00 3a 01 00 AA BB CC DD EE # ipmi-raw 00 3a 11 00 AA BB CC ############################################# ############################################# # Supermicro X10/X11 # ipmi-raw 00 30 70 66 01 00 64 # ipmi-raw 00 30 70 66 AA BB CC # # AA # 00 - Get value # 01 - Set value # # BB # 00 - FAN 1/2/3/4 or CPU_FAN1/2 # 01 - FAN A or SYS_FAN1/2/3 # # CC # 00 to 64 - Set Speed (0-64) ############################################# ############################################# # Supermicro X9 # ipmi-raw 00 30 91 5A 3 00 FF # ipmi-raw 00 30 91 5A 3 BB CC # # BB # 10 - FAN 1/2/3/4 # 11 - FAN A # # CC # 00 to FF - Set Speed (0-255) ############################################# Change Log ###2020.08.24 - fix hard drive spin down by using unraid hdd temps - update dashboard to match new ui - fix missing sensor icons - update to freeipmi 1.6.4 ###2019.02.08 - add remaining fa icons ###2019.01.25 - remove all icons and convert to fa fonts - fix summarized notification misalignment caused by tablesorter css ###2019.01.24 - update settings icon to fa font ###2018.12.31 - add support for Supermicro boards with CPU_FAN and SYS_FAN fan names ###2018.11.10 - add fixed fan control page conditions - add more css and js autov thanks to ljm42 ###2018.11.08a - fix remove fan control page condition ###2018.11.08 - add fan control support for virtual machines ###2018.11.04 - fix full fans add delay to script start ###2018.11.03 - fix bmc cold reset - fix config editor not showing errors - update tablesorter to v2.31.0 ###2018.10.14 - update fan control script ###2018.06.03 - fix scaled fan control thanks to gmk2 ###2018.05.20a - move range from json to global var ###2018.05.20 - format min and max percentages to one decimal place - add support for Supermicro X9 boards - set Supermicro boards to full speed mode (other modes seem to interfere with script) ###2017.12.14 - add compatibility with System Temp plugin - add support for any sensor display in footer - reformat footer display ###2017.11.29 - fix fan control rc.local_shutdown command options ###2017.11.26 - fix plugin install services starting when disabled - fix bmc reset and editor save success/error return - add sensor cache flush to bmc reset ###2017.11.24 - fix footer refresh rate ###2017.11.11 - fix network settings not saving - change Dash page and Fan Control page condition check - misc minor bug fixes ###2017.10.30 - fix network password encoding on settings page - fix: remove info page error from freeipmi package ###2017.10.27 - upgrade freeipmi to 1.5.7 - fix fan control full and auto speed for ASRock dual socket boards - add hard drive selection for display sensors and Readings - get hard drives for HDD Temperature from emhttp devices - if available get unassigned drive temps from UA plugin ###2017.10.26 - add support for ASRock dual socket boards - misc fixes and code cleanup ###2017.10.23 - add hard drive selection for fan control - add lock file to enable or disable fan control page - fix fan control start and stop - fix default settings buttons - add workaround to starting services during plugin install - add more towards dual socket Asrock, not there yet ###2017.10.09 - add support for dual socket to ipmi2json script only ###2017.10.06 - change fancontrol min and max to show percentage instead of 1 -64 - update help ###2017.10.02 - fix css and stickyheaders for new themes - move cdnjs to local - properly fix dropdown checklist tab refresh/switch ###2017.06.26 - revert previous changes till for more testing ###2017.06.25 - change Temperature Polling Times. You will need to change settings, save and restart fan control. - add fan max speed ###2017.06.19 - fix Supermicro auto fan setting - stopping fan control returns fans to original mode - update ipmifan auto and full speed functions ###2017.06.18a - add zone fan control support for Supermicro X10 and X11 boards - add support for new 6.4 themes - combine Sensor Editor and Config Editor and move to Settings page - restructure Settings page vars and forms - fix incorrect colors vs readings when missing thresholds - change bmc reset from warm to cold reset - update codemirror cdn - update freeipmi to 1.5.5 - remove board log file and switch to dmidecode for board info instead of ipmi-fru - misc fixes and code improvements ###2017.01.27 - update and harden code for security - update codemirror for sensor and config editor - add: search and replace functions for config editor ###2016.10.22 - fix: min/max version in plugin ###2016.10.19 - fix: min/max version in plugin - fix: cached board status set add unknown ###2016.10.17 - fix: board not recognized and fancontrol disbaled ###2016.10.12 - fix: load kernel driver ###2016.10.10 - fix: plugin file ###2016.10.09 - fix: quiet modprobe - update for min/max and 6.3 ###2016.10.07a - fix: add padding to single digit percentage for ###2016.10.07 ###2016.10.06a - fix: array_key_error on fans page ###2016.10.06 - add: update to freeipmi-1.5.3 - add: automatic system specific configuration of ipmi fans for ASRock boards - fix: move boards.json to board.json - fix: cache board type to speed up settings page - fix: minor fixes, cleanup and remove depreciated code - fix: css affecting dashboard - fix: unRaid 6.3 compatibility ###2016.09.29 - fix: remove quotes from OEM Reserved readings ###2016.10.24 - update codemirror for sensor and config editor - add: search and replace functions for config editor ###2016.09.28a - add: show readings for OEM Reserved in dashboard - add: ability to select OEM Reserved to display in footer ###2016.09.28 - add: show readings for OEM Reserved e.g. Supermicro temp readings - fix: hard drives reading showing 0 when spun down ###2016.09.20 - fix: inaccurate error when running fancontrol while disabled ###2016.09.16 - update tablesorter to 2.27.6 ###2016.07.22 - fix: fan control not setting fans to auto when stopped - fix: fan control not setting fan min (only setting a value of 1) - fix: fan log percentage 0% when fan min is used - thanks to piotrasd for the testing ###2016.05.17 - fix: workaround for dynamix plugin update api not refreshing after update (remove update message) - fix: workaround for dynamix drop down checklists bug (F5 on other tab breaks ddcl) - fix: refresh Settings tab on tab1 click for ddcl bug - fix: convert fan control settings to name based instead of number based (you'll need to setup fancontrol again) - fix: check for board manufacturer - add: remove auto board.json update and add manual Check for Updates button - add: update fan logging: add start/stop messages and fan speed changes are in the form Fan Name(%):Temp Sensor(°C) - add: ignored sensors to fan control page - add: ignored sensors and command line arguments to CL helper scripts: ipmisensors, ipmisel and ipmifru - add: Dashboard settings for all sensors, deselect all to disable Dashboard - remove: Dashboard switch and types ###2016.05.16 - add: Dashboard will show any sensor if state is not nominal - fix: Dashboard summary switch default to On - fix: no sensors if localhost and network enabled - fix: no sensors displayed if ignore is empty Thanks to ljm42 - fix: remove depreciated network check in footer display Thanks ljm42 ###2016.05.15 - fix: condense code, remove excess files - fix: readings page buttons alignment - fix: sensors refresh rate first time dash or readings page is loaded - add: update ipmi check method and network checks (move into fuctions) - add: color to sensor readings in footer based on sensor state - add: tablesorter reset for all tables (1st click is ascending, 2nd is descending and third 3rd is unsorted) - add: settings drop down check list for sensor select and ignore - add: settings drop down check list for Dashboard sensor type (uncheck all: hides IPMI Dashboard Summary) - add: Dashboard summary page and hide switch - fix: motherboard logos not showing ###2016.05.10a - fix: local ipmi check Thanks to ljm42 ###2016.05.10 - add: CL helper scripts ipmisensors and ipmisel that use network settings if network is enabled - add: motherboard logos - add: ability to use any fan or temp sensor in footer - add: settings and readings tabs to Settings and Tools menu - add: ipmi sensors configuration to readings page - add: ipmi system configuration editor to settings page - add: ability to edit, save and load on boot ipmi sensor configuration e.g. sensor thresholds - add: help button text - add: Dynamix plugin update API - add: ipmi fan control for ASRock boards only - (based on fans being named: CPU_FAN1, CPU_FAN2, REAR_FAN1, REAR_FAN2, FRNT_FAN1, FRNT_FAN2) - add: select fan control ip address - add: advanced view for fan control options - fix: show separate status on each settings page - add: highest array hard drive temp as a sensor - add: abbreviated units to readings, change units column to type column - fix: reduce footer footprint - fix: network options ###2016.04.27 - fix: network timeout ###2016.03.27 - fix: add check for valid date ###2016.03.26 - fix: change date format function ###2016.03.25 - fix: archived events page update on event delete - fix: archived events with same timestamp - fix: archived events tablesorter pager ###2016.03.24 - update for 6.2 to freeipmi 1.5.1 - new installs on 6.2 will work fine - 6.2 users with previous install will need to reboot or install libgcrypt-1.6.5 (temporarily) to use freipmi 1.5.1 - libgcrypt-1.6.5 is included with unRAID 6.2 and previous versions downgraded it to 1.5.5 to use freeipmi 1.4.11 - http://ftp.slackware.com/pub/slackware/slackware64-current/slackware64/n/libgcrypt-1.6.5-x86_64-1.txz - fix: bug local ipmi timeout webgui to wait for ipmi (only affected systems without local ipmi) - changed backup events to archived events - add archived event page and switch ###2016.03.14 - update freeipmi package - fix virtual machines not auto starting due to /etc/init.d directory created by freeipmi package ###2016.03.13 - add test button for sending sample notification events - move ID column to advanced - fix temp units not showing in footer - add backup switch to backup events when clearing them ###2016.03.12 - converted to using freeipmi instead of ipmitool - add support for multiple ipmi hosts local, network or both together - add an extra fan display so you have 2 temp and 2 fan in footer - add different warning levels based on event state - fix race condition on reading of sensors and events - add highlights and filters to tables - add settings button to readings page and reading button to settings page - add polling time to event monitoring - code optimizations #####2016.02.22 - fix: advanced changed to fixed instead of toggle ###2016.02.15a - fix: array combine error for sensors with non uniform data ###2016.02.15 - update tablesorter - add: fan control page and status - fan control Not functional yet - add: settings for temps and fan display - add: temp and fans readings to footer - move event daemon start and stop functions to rc scripts - remove daemon start and stop with array - move daemon start process to plugin install - move daemon stop process to rc.local_shutdown ###2016.01.17 - add tablesorter as a separate package - fix values outside of critical showing green - add icons instead of switches - minor code changes ###2015.12.30 - remove old plugin directory on install ###2015.12.20 - fixed "Waiting for events" triggering notification on system start - reorganize events page - add switchbuttons - move from UnRAID OS to System Information under Tools menu - add unRAID version check ###2015.12.11 - change repo - change install and remove method ###2015.11.17 - fix permissions for emhttp events ###2015.11.10b - whoops deleted sensors page ###2015.11.10 - stop event monitoring on plugin removal ###2015.11.09 - minor bug fixes ###2015.11.08 - add settings page - add event notifications - add remote IPMI access ###2015.08.15 - update for unRAID 6.1-rc+ only ###2015.05.07a - fix bug ###2015.05.07 - initial unRAID 6 release.
    1 point
  4. Application Name: netboot.xyz Application Site: https://netboot.xyz/ Docker Hub: https://hub.docker.com/r/linuxserver/netbootxyz Github: https://github.com/linuxserver/docker-netbootxyz Please post any questions/issues relating to this docker you have in this thread. If you are not using Unraid (and you should be!) then please do not post here, instead head to linuxserver.io to see how to get support.
    1 point
  5. Yes, that's right: the man, the myth, the legend Spaceinvader One has graciously agreed to sit down for an interview with us. Check out our interview here: https://unraid.net/blog/spaceinvader-one-interview
    1 point
  6. If you have a non-GPU device that you wish to assign to a guest in KVM and are using the machine type of PC (not Q35), you can use this XML and skip the <qemu:cmd> arguments at the end. This goes in between the <devices> and </devices> tags in your domain XML. <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/> </source> </hostdev> For "bus", "slot", and "function", this should be your PCI device address. The above XML will pass through PCI device 02:00.1. Again, this only applies to non-graphics PCI devices (NICs, USB controllers, capture cards, tuners, etc.) Happy virtualizing!!
    1 point
  7. I use papertrail and their remote server address has a 5 digit port - the field on the page only allows for 4 digits
    1 point
  8. Just an observation on my Threadripper 2990WX with a test VM using QEMU Emulated CPU's. If I overclock the CPU via the BIOS, even just a teeny little bit, my Win10 VM becomes extremely sluggish, even just to start the spinning circles at boot. The one time it actually managed to get to the Desktop, the mouse pointer was jumping around like it was running at 5fps. Go back to stock settings in the BIOS, no issues.
    1 point
  9. This is resolved in rc6. You will have to update UD before updating to rc6.
    1 point
  10. The parity drive has nothing to do with the cache drive. But, if the parity drive is even 1 byte less than any data drive (perhaps due to a HPA partition present on it) then the system will do what you're stating.
    1 point
  11. A problem with the default vdisk method is that the vdisk itself cannot be trimmed which means that performance will gradually suffer. Try this: https://forums.unraid.net/topic/51703-vm-faq/#comment-557606
    1 point
  12. Oh, an additional thought before you throw in the towel on UFS Explorer. You need a success with your scan method before you can declare a failure on the recovery. What I mean by that is this. You need to set up a drive without file system damage that has exactly the same format and encryption, and run that through the UFS Explorer process and be able to see all the current files on the undamaged file system. That way you know the software is capable of reading that specific combination of encryption and format properly.
    1 point
  13. It say's that you don't use DoH because you don't use the 1.1.1.1 DoH app The can't detect it when you not using their app but if you are using their app than you don't get the benefit of PiHole adblocking even if youre not at home (also you know if it works if the ads are gone on your mobile device) also you can't detect easily detect DoH. You can also make a DNS Leak test to try if everything works correctly (also don't forget to specify only one upstream DNS server - your PiHole otherwise it will choose any server in the DNS upstream server list). DNS Leak Test
    1 point
  14. Remove the "ListenPort" in the TorGuard config, it is not needed/used because the peer will always initiate the connection.
    1 point
  15. The reason you are stuck is a misinterpretation of what the selection options accomplish. That dialog just determines which slots stay populated with their current assignments temporarily, it doesn't finalize anything. There is another step after you choose an option from that list. So for your purposes, it would probably be easiest to select all, and then make your adjustments on the Main page of the GUI before you start the array.
    1 point
  16. The macinabox template uses custom ovmf files. If you change <os> <type arch='x86_64' machine='pc-q35-3.1'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/e930dfa3-ce5f-4a14-a642-d140ed8035bd_VARS-pure-efi.fd</nvram> </os> to be as below you will be back without the screen corruption. <os> <type arch='x86_64' machine='pc-q35-3.1'>hvm</type> <loader readonly='yes' type='pflash'>/mnt/user/domains/MacinaboxCatalina/ovmf/OVMF_CODE.fd</loader> <nvram>/mnt/user/domains/MacinaboxCatalina/ovmf/OVMF_VARS.fd</nvram> </os> hope that helps 😀
    1 point
  17. Yes, but I had to do some network/ip address changes to prevent the log flooding with the unexpected gso message.
    1 point
  18. The netdata app will show how much is actually used (and by what) Sent from my NSA monitored device
    1 point
  19. We are working with upstream to localize the IPXE files for this container so you will be able to go in and modify them if you want. This is going to take time but it will solve things like you are experiencing with wimboot destination setting. I will update this thread when we have a viable docker tag for testing local boot files.
    1 point
  20. Because the "fix" worked for one group of users, but caused complete host crash for others. If someone develops a reliable patch we will certainly incorporate it.
    1 point
  21. Don't worry about the Forced Stop vs Stop thing. It's not related. While you are at it with BIOS, also try to boot Unraid in Legacy mode. That helps in some cases.
    1 point
  22. Thank you to all who submitted questions. This interview is now LIVE here: https://unraid.net/blog/spaceinvader-one-interview Let us know what you think of the interview. Also, huge thanks to @SpaceInvaderOne for taking the time to do this!
    1 point
  23. Thanks! Your XML looks good, and it works with other containers so that means you have the drivers installed. When you access the GUI, do you have the options in the pic below?
    1 point
  24. If the file(s) were say on a disk you copied over to a share via something like mounting the drive with Unassigned Devices and using Krusader or unBalance or whatnot to move the files over, then permission issues are possible. The only time I've ever had permission issues with files created on Windows and transferred over SMB to a share was with using robocopy, which trashes normal smb permissions.
    1 point
  25. How do I keep my sparse vdisk as small as possible? How do enable trim on my Windows 8/10 or Windows Server 2012/2016 VM? NOTE: according to this post by @aim60virtio devices also support discard on recent versions of qemu, so you just need to add the discard='unmap' option to the XML. Still going to leave the older info here for now just in case. By default vdisks are sparse, i.e., you can chose 30GB capacity but it will only allocate the actual required space and use more as required, you can see the current capacity vs allocated size by clicking on the VM name, problem is that over time as files are written and deleted, updates installed, etc, the vdisk grows and it doesn't recover from the deleted files. This has two consequences, space is wasted and if the vdisk in on an SSD that unused space is not trimmed, it's possible to "re-sparsify" the vdisk e.g., by cping it to another file, but this it's not very practical and there's a better way. You can use the vitio-scsi controller together with discard='unmap', this allows Windows 8/10 to detect the vdisk as "thin provisioned drive", and any files deleted on the vdisk are immediately recovered as free space on the host (might not work if the vdisk is on a HDD), and this also allows fstrim to then trim those now free sectors when the vdisk is on an SSD. On an existing vdisk it's also possible to run Windows defrag to recover all unused space after changing to that controller. Steps to change an existing Windows8/10 VM (also works for Windows Server 2012/2016): 1) First we need to install the SCSI controller, shutdown the VM (For Windows 8/10 I recommend disabling Windows fast Startup -> Control Panel\All Control Panel Items\Power Options\System Settings before shutdown, or else the VM might crash on first boot after changing the controller). Then edit the VM in form mode (toggle between form and XML views is on the upper right side), and change an existing device other than your main vdisk or virtio driver cdrom to SCSI, for example your OS installation device if you still have it, if not you can also add a second small vdisk and chose SCSI as the vdisk bus, save changes 2) Start the VM and install the driver for the new "SCSI controller", look for it on the virtio driver ISO (e.g., vioscsi\w10) 3) Shutdown the VM, edit the VM again, again using the form view and change the main vdisk controller to "SCSI", now change view to XML and add "discard='unmap'" to the SCSI controller: Add after cache='writeback', e.g. before: After: 4) Start the VM (if you added a 2nd vdisk you can remove it now before starting), it's should boot normally, you can re-enable Windows fast startup. 5) Run Windows Defrag and Optimize drives, check that he disk is now detected as "Thin provisioned drive" and run optimize to recover all previous unused space. From now on all deleted files on the vdisk should be immediately trimmed. Note: If after this you edit the VM using the GUI editor these changes will be lost and will need to be redone.
    1 point
  26. If you have 2 step turned on, just go to https://security.google.com/settings/security/apppasswords?pli=1 to generate an app password
    1 point
  27. So, I've been helping a fellow forumite and wrote up this guide in another thread. Thought it might be useful here for those new to KVM as there is a lot of confusion surrounding passthrough. jonp - If you feel this doesn't belong here then please feel free to delete it. This is how I passthrough my TV Card on a Intel system. Prerequisites: VT-d or equivalent for AMD must be enabled in BIOS and your hardware must be VT-d compatible. Before you start, check the settings for PCIe ACS Override are as below. EDIT: Apparently there may be some issues with PCIe ACS Override so ensure this is set to off, I haven't yet had chance to investigate with my own machine but the info comes from a very knowledgeable forum user. I have also removed references to this in syslinux.cfg - the updated config is posted below. EDIT2: Now had a chance to check this and the below config is working as far as I can tell. There is no need to edit your syslinux.cfg and PCIe ACS Override should be set to off. I have modified the text and pictures below so it is all current and correct as far as I understand things. I can confirm this method works with beta14b and beta15 My syslinux.cfg 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 label Xen/unRAID OS kernel /syslinux/mboot.c32 append /xen --- /bzimage --- /bzroot label Xen/unRAID OS Safe Mode (no plugins) kernel /syslinux/mboot.c32 append /xen --- /bzimage --- /bzroot unraidsafemode My go file #!/bin/bash # Start the Management Utility /usr/local/sbin/emhttp & lspci -knn (relevant bit only) 02:00.0 Multimedia controller [0480]: Philips Semiconductors SAA7160 [1131:7160] (rev 02) Subsystem: Device [6285:0001] My VM setup page - Note my bridge setup maybe different to yours. The resulting xml <domain type='kvm' id='3'> <name>Test Argus</name> <uuid>a0fe523e-4438-9b12-43f3-4cbf048a442e</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>1</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.2'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='1' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source file='/mnt/disk/KVM/VM/Test Argus/vdisk1.img'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/disk/KVM/Media/Win7AIO.iso'/> <backingStore/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/disk/KVM/Media/virtio-win-0.1-100.iso'/> <backingStore/> <target dev='hdb' bus='ide'/> <readonly/> <alias name='ide0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <alias name='usb0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'> <mac address='52:54:00:f5:0a:c6'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/0'> <source path='/dev/pts/0'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <input type='tablet' bus='usb'> <alias name='input0'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='en-gb'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='vmvga' vram='16384' heads='1'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> </domain> Now to add in my card I paste in my passthrough config.. Generically, the address is aa:bb:c So I need to paste into <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0xaa' slot='0xbb' function='0xc'/> </source> </hostdev> My Card's address is 02:00.0 Which becomes <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> </hostdev> This goes above these last two lines in your xml, ie in the devices section. </devices> </domain> Once you've pasted it in and saved it then you may notice two extra lines are added automatically. This is the KVM assigning your passthrough card a slot on the virtual machine, so don't worry about that. In my case that was <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> So the relevant part becomes: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> Install the OS and boot up once it's completed, my device manager shows this: Install my drivers: For completeness here's my finished xml, note that KVM manager does reorder things a little bit, the important thing to avoid errors is to paste it into the correct place to start with (above the last two lines) <domain type='kvm' id='3'> <name>Test Argus</name> <uuid>a0fe523e-4438-9b12-43f3-4cbf048a442e</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>1</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.2'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='1' threads='1'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source file='/mnt/disk/KVM/VM/Test Argus/vdisk1.img'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/disk/KVM/Media/Win7AIO.iso'/> <backingStore/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/disk/KVM/Media/virtio-win-0.1-100.iso'/> <backingStore/> <target dev='hdb' bus='ide'/> <readonly/> <alias name='ide0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <alias name='usb0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'> <mac address='52:54:00:f5:0a:c6'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/0'> <source path='/dev/pts/0'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <input type='tablet' bus='usb'> <alias name='input0'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='en-gb'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='vmvga' vram='16384' heads='1'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> </domain> For Linux My Ubuntu server setup in KVM Pasting in <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> </hostdev> Which the KVM plugin turns to (allocating a PCI domain on the ubuntu VM) <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </hostdev> Then I installed the ubuntu iso & booted. Ran lspci -knn And saw Note the address now matches <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> Rather than 02:00.0 Multimedia controller [0480]: Philips Semiconductors SAA7160 [1131:7160] (rev 02) Subsystem: Device [6285:0001] which was the address on the Unraid host OS. Here's my complete XML file for reference <domain type='kvm'> <name>TVHeadEnd</name> <uuid>52c64f2e-ffcd-14e4-0876-824e00c83f65</uuid> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>1048576</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>1</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.2'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='1' threads='1'/> </cpu> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source file='/mnt/disk/KVM/VM/TVHeadEnd/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/disk/KVM/Media/ubuntu-14.10-server-amd64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt/cache/Recorded TV/'/> <target dir='recordings'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </filesystem> <interface type='bridge'> <mac address='52:54:00:4a:ad:2c'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-gb'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='vmvga' vram='16384' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </memballoon> </devices> </domain> If you encounter any problems then run virsh start name Where name is what you find in the second line of the XML file, in my XML file for example <name>Test Argus</name> So I would enter virsh start "Test Argus" The quotation marks are only necessary if there are spaces in your VM name. Then post the results. EDIT: Added virsh commands to help solve any problems and get error messages.
    1 point