Re: difference between command line and virtual machine manager

2023-09-08 Thread Simon Becherer


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

2023-09-08 Thread wf5w
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?

2023-09-08 Thread Paul Menzel

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

2023-09-08 Thread Jiatong Shen
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