Re: difference between command line and virtual machine manager
Am 08.09.23 um 12:41 schrieb w...@gmx.com: I am a newbie when it comes to QEMU/KVM. So bear with my questions. To explain what I am doing, I am a ham radio operator, and need to run Winlink radio email and VARA in Windows. That is all I use windows for. Wine is not sufficient to run it for some reason that I am unable to fathom. Therefore, I have had to resort to the Virtual Machine. Now on to the reason for this post: My host is a fairly recent Linux Mint 21.1. My Guest is a Windows 10. My usual method is to bring up Virtual Machine Manager, and run Windows from there. It works great UNTIL I try to use the radios' USB port for data communications. The radio has either a C-Media chipset or a cp210 type chipset (depending upon the radio). It has the quality of being BOTH a USB audio, AND 1 or 2 serial ports (for CAT control and PTT). What I need to do, is to pass through both the audio part and the serial port(s) part as well. But they might not be present, if the particular radio is not on. Which brings me to my 2nd question, how do I start up the VM without them, if I am not plugged in to the radio's USB port. And then be able to run the VM when they ARE plugged in. Which leads me to, can I run this whole thing via the command line with or without the particular USB port, and how do I create the command line version from the Virtual Machine Manager? So in summary I have 3 questions: 1. How to pass through the USB device in question (both audio and serial) ? 2. How to make it all variable (sometimes one radio vs the other will be plugged in, and sometimes none at all) ? 3. If different CLI versions have to be made depending upon #2 above, how do I create that from what I have in the Virtual Machine Manager? I hope this ramble makes some sense to someone at 5:00 in the morning! Thank you for taking the time to read this, and look forward to your answers. Jerry Maybe i do not completely understand, but what i do: 1+2) i use virtmanager and there is a option to bypass usb-ports inside the "pull down menues". i do this for some usb-dongels the host-port(s) can be used, or not, and so its seen inside the vm or not. in my case, 2 usb dongels are always plugged in and i switch between this 2, because otherwise my old windows software will only see one of them (lsusb did not see any difference between the dongels). but if i remember correct its also possible to plug it in, and after that connect via the virt manager the usb-port. its a little tricky to set the host system to do it, at least in opensuse. - i have it somewhere written down how to configure it (for opensuse) but i have to search if you are interested in. 3) the commandline virt manager is using you will find by ps fax |grep qemu simoN Extra Ham Operator: WF5W Registered Linux User: 275424 3D designer The most exciting phrase to hear in science - the one that heralds new discoveries - is not "Eureka!" but "That's funny...". - Isaac. Asimov OpenPGP_signature Description: OpenPGP digital signature
difference between command line and virtual machine manager
I am a newbie when it comes to QEMU/KVM. So bear with my questions. To explain what I am doing, I am a ham radio operator, and need to run Winlink radio email and VARA in Windows. That is all I use windows for. Wine is not sufficient to run it for some reason that I am unable to fathom. Therefore, I have had to resort to the Virtual Machine. Now on to the reason for this post: My host is a fairly recent Linux Mint 21.1. My Guest is a Windows 10. My usual method is to bring up Virtual Machine Manager, and run Windows from there. It works great UNTIL I try to use the radios' USB port for data communications. The radio has either a C-Media chipset or a cp210 type chipset (depending upon the radio). It has the quality of being BOTH a USB audio, AND 1 or 2 serial ports (for CAT control and PTT). What I need to do, is to pass through both the audio part and the serial port(s) part as well. But they might not be present, if the particular radio is not on. Which brings me to my 2nd question, how do I start up the VM without them, if I am not plugged in to the radio's USB port. And then be able to run the VM when they ARE plugged in. Which leads me to, can I run this whole thing via the command line with or without the particular USB port, and how do I create the command line version from the Virtual Machine Manager? So in summary I have 3 questions: 1. How to pass through the USB device in question (both audio and serial) ? 2. How to make it all variable (sometimes one radio vs the other will be plugged in, and sometimes none at all) ? 3. If different CLI versions have to be made depending upon #2 above, how do I create that from what I have in the Virtual Machine Manager? I hope this ramble makes some sense to someone at 5:00 in the morning! Thank you for taking the time to read this, and look forward to your answers. Jerry Extra Ham Operator: WF5W Registered Linux User: 275424 3D designer The most exciting phrase to hear in science - the one that heralds new discoveries - is not "Eureka!" but "That's funny...". - Isaac. Asimov
Possible to use QEMU’s VNC feature with simpledrm and the DRM fbdev emulation layer?
Dear QEMU folks, I wanted to replace replace the fbdev drivers with simpledrm and the DRM fbdev emulation layer [1][2]. My colleagues now noticed, that QEMU’s VNC feature does not work anymore for the console [3]. We are using QEMU emulator version 7.2.0. Log differences: Working (CONFIG_FB=y): [0.00] Linux version 6.5.2.mx64.428-00118-g2bb542eff7d5 (buc...@dose.molgen.mpg.de) (gcc (GCC) 10.4.0, GNU ld (GNU Binutils) 2.41) #49 SMP PREEMPT_DYNAMIC Fri Sep 8 11:29:40 CEST 2023 […] [1.774569] bochs-drm :00:02.0: vgaarb: deactivate vga console [1.881464] Console: switching to colour dummy device 80x25 [1.882069] [drm] Found bochs VGA, ID 0xb0c5. [1.883935] [drm] Framebuffer size 16384 kB @ 0xfd00, mmio @ 0xfebd. [1.885523] [drm] Found EDID data blob. [1.886042] [drm] Initialized bochs-drm 1.0.0 20130925 for :00:02.0 on minor 0 [1.888123] fbcon: bochs-drmdrmfb (fb0) is primary device [1.895255] Console: switching to colour frame buffer device 160x50 [1.901041] bochs-drm :00:02.0: [drm] fb0: bochs-drmdrmfb frame buffer device Non-working (CONFIG_FB unselected): [1.753182] bochs-drm :00:02.0: vgaarb: deactivate vga console [1.760518] Console: switching to colour dummy device 80x25 [1.761660] [drm] Found bochs VGA, ID 0xb0c5. [1.762618] [drm] Framebuffer size 16384 kB @ 0xfd00, mmio @ 0xfebd. [1.766553] [drm] Found EDID data blob. [1.767442] [drm] Initialized bochs-drm 1.0.0 20130925 for :00:02.0 on minor 0 Kind regards, Paul [1]: https://fedoraproject.org/wiki/Changes/ReplaceFbdevDrivers [2]: https://github.molgen.mpg.de/mariux64/linux/commits/mariux-6.1.39-450 [3]: https://github.molgen.mpg.de/mariux64/linux/commit/f3ba607af9fca65ae01cfee6ed29b6946f059f11
how to debug kvm run failed bad address error
Hello community experts, I want to ask how to debug errors like follows, error: kvm run failed Bad address PC=b51041a8 X00=1240c034 X01=0001 X02= X03=1240c0340600 X04=fffdc048c34a X05=1240c034068a X06= X07= X08= X09= X10= X11= X12=0300 X13=0001 X14= X15= X16=8395ee40 X17=b5104050 X18=b51d4a70 X19=843d4000 X20=0001 X21=d98cec30 X22=1240c034 X23=068a X24=8ea0abc8 X25=fffdc162a020 X26= X27=068a X28=d6f65fd0 X29=8ea0a9a0 X30=83930f80 SP=8ea0a9a0 PSTATE=80001000 N--- EL0t It is an aarch64 virtual machine and qemu version is 4.2.0. The host is running an openEuler 22.03 Linux system with kernel 5.10. I am trying to passthrough an huawei ascend NPU to virtual machine and when above error message appears, the vm is paused. My question is how to make sense of this output and find out the root cause. Thank you very much for the help. -- Best Regards, Jiatong Shen the qemu commad is in attachment /usr/bin/qemu-system-aarch64 \ -name guest=instance-4e08,debug-threads=on \ -S \ -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-55-instance-4e08/master-key.aes \ -blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/instance-4e08_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \ -machine virt-4.2,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -cpu host \ -m 65536 \ -overcommit mem-lock=off \ -smp 16,sockets=16,cores=1,threads=1 \ -uuid 8f2064ea-b017-48f2-9ee8-9c1df29f287b \ -no-user-config \ -nodefaults \ -chardev socket,id=charmonitor,fd=38,server,nowait \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc,driftfix=slew \ -no-shutdown \ -boot strict=on \ -device pcie-root-port,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \ -device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \ -device pcie-root-port,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \ -device pcie-root-port,port=0xb,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x3 \ -device pcie-root-port,port=0xc,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 \ -device pcie-root-port,port=0xd,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 \ -device pcie-root-port,port=0xe,chassis=7,id=pci.7,bus=pcie.0,addr=0x1.0x6 \ -device pcie-root-port,port=0xf,chassis=8,id=pci.8,bus=pcie.0,addr=0x1.0x7 \ -device pcie-root-port,port=0x10,chassis=9,id=pci.9,bus=pcie.0,multifunction=on,addr=0x2 \ -device pcie-root-port,port=0x11,chassis=10,id=pci.10,bus=pcie.0,addr=0x2.0x1 \ -device pcie-root-port,port=0x12,chassis=11,id=pci.11,bus=pcie.0,addr=0x2.0x2 \ -device pcie-root-port,port=0x13,chassis=12,id=pci.12,bus=pcie.0,addr=0x2.0x3 \ -device pcie-root-port,port=0x14,chassis=13,id=pci.13,bus=pcie.0,addr=0x2.0x4 \ -device pcie-root-port,port=0x15,chassis=14,id=pci.14,bus=pcie.0,addr=0x2.0x5 \ -device pcie-root-port,port=0x16,chassis=15,id=pci.15,bus=pcie.0,addr=0x2.0x6 \ -device qemu-xhci,id=usb,bus=pci.3,addr=0x0 \ -device virtio-scsi-pci,id=scsi0,bus=pci.2,addr=0x0 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.4,addr=0x0 \ -object secret,id=libvirt-2-storage-secret0,data=udkUid/sikiVSuP9MfreiH3utxXjsYbgFCFka65VzjA=,keyid=masterKey0,iv=ljn2HbTx+vK9269AZ84fKA==,format=base64 \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,drive=libvirt-2-format,id=scsi0-0-0-0,bootindex=1,write-cache=on \ -object secret,id=libvirt-1-storage-secret0,data=LrGlHpygimvJ3WtUaq0BOft4Wa7xOQUA9vVFowq2T1s=,keyid=masterKey0,iv=X+ff6w+cCASaxqM8V57YGw==,format=base64 \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,device_id=drive-scsi0-0-0-1,drive=libvirt-1-format,id=scsi0-0-0-1,write-cache=on \ -device virtio-net-pci,mq=on,vectors=34,host_mtu=1500,netdev=hostnet0,id=net0,mac=fa:16:3e:bb:e2:ab,bus=pci.1,addr=0x0 \ -serial chardev:charserial0 \ -chardev socket,id=charchannel0,fd=71,server,nowait \ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \ -device usb-tablet,id=input0,bus=usb.0,port=1 \ -device usb-kbd,id=input1,bus=usb.0,port=2 \ -vnc 100.209.8.157:3,password \ -device virtio-gpu-pci,id=video0,max_outputs=1,bus=pci.8,addr=0x0 \ -device vfio-pci,host=:41:00.0,id=hostdev0,bus=pci.5,addr=0x0 \ -device