bobbintb

Members
  • Posts

    1394
  • Joined

  • Last visited

Everything posted by bobbintb

  1. My VM takes 2-3 minutes before it gets to the TianoCore screen. I've read a lot about this being an issue with VMs with a lot of cores and RAM. However, I saw in a changelog for a recent version of UnRAID that it was related to Intel processors and that it had been resolved. Unfortunately, I am still having the issue with my Threadripper on the latest version of UnRAID. I couldn't find anything in the BIOS settings to help the issue and other solutions involve recompiling. Any ideas? Here is my VM XML: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='37'> <name>Windows 11</name> <uuid>1e48b9f1-0149-65a1-1d9e-06bdfb84bce6</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>67108864</memory> <currentMemory unit='KiB'>67108864</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='32'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='33'/> <vcpupin vcpu='4' cpuset='2'/> <vcpupin vcpu='5' cpuset='34'/> <vcpupin vcpu='6' cpuset='3'/> <vcpupin vcpu='7' cpuset='35'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-5.1'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/1e48b9f1-0149-65a1-1d9e-06bdfb84bce6_VARS-pure-efi.fd</nvram> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='none'/> </hyperv> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='4' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </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/local/sbin/qemu</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/virtio-win-0.1.215.iso' index='1'/> <backingStore/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'> <alias name='pcie.0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8' hotplug='off'/> <alias name='pci.1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9' hotplug='off'/> <alias name='pci.2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa' hotplug='off'/> <alias name='pci.3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xb' hotplug='off'/> <alias name='pci.4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xc' hotplug='off'/> <alias name='pci.5'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xd' hotplug='off'/> <alias name='pci.6'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xe' hotplug='off'/> <alias name='pci.7'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='pci' index='8' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='8' port='0xf' hotplug='off'/> <alias name='pci.8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/> </controller> <controller type='pci' index='9' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='9' port='0x10' hotplug='off'/> <alias name='pci.9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='10' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='10' port='0x11' hotplug='off'/> <alias name='pci.10'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:51:1f:d5'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <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> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-37-Windows 11/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='mouse' bus='ps2'> <alias name='input0'/> </input> <input type='keyboard' bus='ps2'> <alias name='input1'/> </input> <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='0x03' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x21' slot='0x00' function='0x0'/> </source> <alias name='hostdev1'/> <rom file='/mnt/user/isos/vbios/GP107.rom'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x21' slot='0x00' function='0x1'/> </source> <alias name='hostdev3'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> <alias name='hostdev4'/> <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x04' slot='0x00' function='0x3'/> </source> <alias name='hostdev5'/> <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x23' slot='0x00' function='0x3'/> </source> <alias name='hostdev6'/> <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain>
  2. I can't believe it's been this long but I have an update. I have a physical power button that will start, stop, and restart my VM. Here is a guide I plan on updating when I get some more time:
  3. Yes, SpaceInvader One has a video on YouTube on to do this. Some are outdated. The one you need has a script that will rip the vbios from the card for you. I'm guessing the video card is your primary video card. That's usually the one that requires the vbios. Just a note, the script didn't seem to work properly for as the vbios was unusually small. I'm not quite sure why it didn't work but I just threw it in a Windows machine and used gpuz to rip it.
  4. I've been wanting a power button for a VM for a while since my UnRAID server is my main/only computer at this point. It runs everything, including a gaming VM that has multiseating for the whole family. But trying to show (and trust) everyone how to start a VM in the GUI is not ideal. I've done WOL with an app and I know there are ways to wake it from sleep but it's just not the same to me. Yes, I know I can just leave it on as well but I've taken to shutting it down since a foreign malicious user or two was attempting to access it while I was sleeping. This guide will be a bit pretty really rough for now. I'm really busy with some other stuff so I'll try to add photos and improvements when I get the time. Hardware needed: Raspberry Pi Pico A button (you can harvest one from an old PC or buy a new one. It should be a momentary switch) 1. Connect your momentary switch to your Pico. It should be two wires, one goes to pin 16 and the other to ground. Doesn't matter which. They should be in one of the corners. (photos to come) 2. Follow this guide to get the basics set up on your computer to program the Pico. You just need Thonny set up and MicroPython installed. https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico 3. Copy this script: from machine import Pin import uasyncio as asyncio from primitives import Pushbutton vm_name = "\'Windows 11\'" start_command = "virsh start " + vm_name reboot_command = "virsh reboot " + vm_name force_shutdown_command = "virsh destroy " + vm_name btn = Pin(16, Pin.IN, Pin.PULL_UP) pb = Pushbutton(btn, suppress=True) async def main(): short_press = pb.release_func(print, (start_command,)) double_press = pb.double_func(print, (reboot_command,)) long_press = pb.long_func(print, (force_shutdown_command,)) while True: await asyncio.sleep(1) asyncio.run(main()) 4. Name the script "main.py" and save it to your Pico. It will run automatically as soon as it is plugged into a machine when it is named as such so name it something else if you are still testing. 5. Go to the following link. Go to the v3 folder and download the directory named "primitives". https://github.com/peterhinch/micropython-async 6. In Thonny, click the view menu at the top and select "Files". 7. Copy the primitives folder to the lib folder on your Pico. 8. Create a user script in UnRAID and set it to run when the array starts. The script is as follows: #!/bin/sh sh /dev/ttyACM0 > sh /dev/tty NOTE: You may have to give /dev/ttyACM0 execute permissions with `chmod +x /dev/ttyACM0` 9. Plug the Pico into your server and run the user script you just made in the background, or stop and restart your array. That should be it. I wrote most of this from memory, so let me know if there are issues. I will improve it and add photos when I get the time but I have school to focus on. The user script just listens on the USB port and forwards anything it gets to the terminal. I don't have a reset button set up yet but may add one later. Currently pressing the button once turns it on, long press will force a shutdown, and double press resets the machine. Theoretically, the button can be programmed to run any command in the terminal, such as a docker. Shouldn't be too hard to adjust the code for that.
  5. I have been trying to find a way to have multiple users use the same computer at once because I didn't want multiple VMs in UnRAID. After some research I found that the term for this is multiseating. So far, I have only found two products that meet my needs. One is called ASTER (https://www.ibik.ru/) and the other is MultiPoint but it is defunct and last available on Windows Server 2016 as a server role. ASTER is pretty good. There are a few minor issues. The others I've seen are for cloud, VDI, or remote. I'm looking for something that will let me plug in multiple monitors, keyboards, and mice. Does anyone know of any other options
  6. I'm having USB issues with my VM. I have one USB controller passed through to my VM and two identical powered USB hubs, each connected to a port on the motherboard. I keep getting an exclamation point in Device Manager for one of the USB devices. If I switch them, the other starts acting up so it's not the hub itself. I can keep trying to uninstall and reinstall the driver and sometimes that will work for a while but it usually just keeps connecting and disconnecting. I'm not sure if it is a hardware issue or not. I'm thinking it is but I'm really hoping it's not. I've included my diagnostics. Hopefully someone can see something that's just misconfigured or something. I've tried looking for a better Windows driver but it seems to prefer the generic driver. tower-diagnostics-20220226-1119.zip
  7. I fixed the multifunction in the XML. I still get no output. I tried VNC but the VNC just stays black if I have both cards. I tried my vbios again, same thing. As mentioned in the OP, I'm not sure it dumped right because it is really small. When I get the time (maybe tomorrow), I'll have to try putting it in another machine and dumping it in Windows or something. I don't think q35 will work. I don't recall why exactly but I think I couldn't get my nvme controller to passthrough with it and I kind of need that for my SSD. edit: I finally got it working. I guess the issue was that the script wasn't dumping the vbios properly. I put it in a Windows machine, used GPUz to dumb the bios, edited it. It worked fine after that. Thanks for the help. I should have figured that out but I didn't think the vbios was the problem.
  8. I fixed the multifunction in the XML. I still get no output. I tried VNC but the VNC just stays black if I have both cards. I tried my vbios again, same thing. As mentioned in the OP, I'm not sure it dumped right because it is really small. When I get the time (maybe tomorrow), I'll have to try putting it in another machine and dumping it in Windows or something. I don't think q35 will work. I don't recall why exactly but I think I couldn't get my nvme controller to passthrough with it and I kind of need that for my SSD.
  9. Ok, I changed the line and setup and took a new diagnostics. tower-diagnostics-20220211-1527.zip
  10. I applied it in the GUI under the boot device: I use the VM daily, which is why the 1050 is not the VM at the moment. If I had it passthrough, I wouldn't be able to use it. I don't know what you mean by it not being multifunctional. My goal is to have both card in one VM/
  11. tower-diagnostics-20220210-1122.zipSorry about that. It's not giving the mmap error anymore since adding that line. But it still won't start, it's just a black screen.
  12. @SpaceInvaderOne, I hate to tag you personally but I'm all out of ideas.
  13. I have a gtx 1060 as my primary card. I tried to add a 560 but the problem was it was too old and I needed an older driver. I couldn't get the two to work in the same computer. I replaced it with a 1050 ti but I get "Failed to mmap 0000:21:00.0 BAR 3. Performance may be slow". I have the IMMO groups just like before with the 560. I added video=efifb:off to syslinux.cfg and got it to start without the error but the screen stays black and never shows anything. From what I understand that means I need a vbios. I dumped it with spaceinvader's script but it's still a black screen. The bios is around 50k and the script warned me that's unusually small. I also tried to download and edit it from techpowerup but get the same result. Any ideas? tower-diagnostics-20220203-1745.zip
  14. It looks like an update might have reset some settings and now my torrents are extremely slow. I am trying to configure port forwarding but can't figure out how to make the settings stick. I keep getting a random torrent port. Using the gui doesn't seem to work and I must be editing the config file wrong because it doesn't either. Any suggestions? Edit: I think PIA is providing a different bind port and one the the docker scripts is changing it. My router is crap so I need static port forwarding rules. How can I fix this? Edit: I also just tried changing to a different server with no success. LAST EDIT: Not sure what the issue was but deleting the config folder and starting over worked for me.
  15. Has anyone gotten this to connect with Google Drive? I tried but when I get to the oath I get this error: I haven't been able to figure it out. I enabled the app, followed the instructions for adding the client id and secret. I get the error when I try to sign in via Nextcloud under "Data Migration".
  16. I'm having a few issues with a plugin I am writing. This is my first foray into node.js and JS. I have a rudimentary webui that displays a database as a table. I use PHPStorm as my IDE and it works fine in there but when I just try to get it to display in unraid it keeps saying it is not a database file. It is a sqlite file, database.db. I think it's an environmental issue in unraid. I'm not sure where exactly I need to put the file but I've tried several different locations. Maybe I am missing a module or something. This is the first bit that it gets caught up on. async function loadData(count) { const sqlPromise = initSqlJs({ locateFile: file => `${file}` }); const dataPromise = fetch("database.db").then(res => res.arrayBuffer()); console.log(dataPromise); const [SQL, buf] = await Promise.all([sqlPromise, dataPromise]) const db = new SQL.Database(new Uint8Array(buf)); The second issue is I keep getting an error about require not being defined. I first got it when trying to use a module to read sql files. I thought that was simple enough to fix, just needed to make sure require was installed. I was never able to fix it but instead used some other example that didn't use it (same as above). However, I am getting the issue again when trying to use FS module to write a file. I'm not sure why it keeps saying require is not defined when it is installed. function list() { // include node fs module var fs = require('fs'); // writeFile function with filename, content and callback function fs.writeFile('files.txt', tester(), function (err) { if (err) throw err; console.log('File is created successfully.'); }); }
  17. Understood. Well, I pretty much got the successful test I was looking for. I think the PHP I was using was just too complex and not meant for unraid, as you said. Thanks!
  18. Thanks for the suggestions. Running it with php spit out a bunch of html. I save it and loaded it in my browser just fine. However, the php code has some config options at the beginning. If I set $use_auth to false, then I get an index error : Notice: Undefined index: HTTP_HOST in /usr/local/emhttp/plugins/dynamix.system.autofan/FanSettings.page on line 66 <h1>Root path "" not found! </h1> this is line 66 $root_path = $_SERVER['DOCUMENT_ROOT']; I get another issue with $_SERVER if I fix that. It seems $_SERVER is not set. But I'm not sure why the php -f command works in the first place, until I change $use_auth. I don't work in php much. Regardless, the error in the unraid UI doesn't change.
  19. I am trying to write a plugin and just starting out with a simple test. I am trying to reverse engineering the dynamix autofan plugin. I removed the PHP from the page file and put in another PHP script: https://github.com/prasathmani/tinyfilemanager/blob/master/tinyfilemanager.php I keep getting a parsing error: Parse error: syntax error, unexpected end of file in /usr/local/emhttp/plugins/dynamix/include/DefaultPageLayout.php(522) : eval()'d code on line 4141 However, I can run the PHP just fine on a dev webserver. I'm not sure what the matter is. I simply removed everything below --- in the page file and copied and pasted the PHP. As far as I can tell, that should have worked. I see unraid uses PHP 7.4.15. My dev webserver is 7.4.25 so I don't image there would be an issue there. Any ideas?
  20. Unfortunately, that's an issue with qBittorrent itself. The webUI is lacking in some features and that is one of them. It is on their wishlist though, and will likely be added at some point. You can follow the progress here: https://github.com/qbittorrent/qBittorrent/issues/5614
  21. Sure, I can try and write something up. I tend to overcommit myself however so if you don't hear back from me soon, just PM me. Sorry for the late reply. I must have missed the notification for your post.
  22. I don't know of any containers that use that specific tool but there are others that support OneDrive. I'm sure you know that but I would recommend trying one of those and seeing if that would meet your needs (if you haven't already) before you try to build a new one.
  23. root@Tower:~# ls -lah /mnt/disk9/Docker total 0 drwxrwxrwx 2 nobody users 6 Mar 26 2017 ./ drwxrwxrwx 5 nobody users 71 Aug 29 04:30 ../ root@Tower:~# ls -lah /mnt/disk8/VMs total 0 drwxrwxrwx 2 nobody users 6 Nov 28 2018 ./ drwxrwxrwx 5 nobody users 84 Aug 29 04:30 ../ root@Tower:~#
  24. I don't even know anymore. I know I need to go through and take another look at how I have things configured. I didn't think I had anything related to the dockers on the array. I mean, many of them save files to the array, but there shouldn't be any sort of config files or anything anywhere other than the docker share on the cache drive.