Problems after 4.2.2 update

Good day, new user here, unfortunately a bit of a noob in all things linux, still took the plunge to qubes, so I will need fairly specific guidance.

My Bluetooth mouse, copy between qubes as well as global clipboard is now broken.

Bluetooth:
The actual BT manager works just fine, it finds the mouse and the data counter indicates it is receiving data. The mouse is shown correctly while hovering over the BT icon in the menu bar. Unfortunately the pointer does not move, so the data is not received by dom0 or whatever makes the mouse move on screen. In Global Config, when I change USB settings I get an error:
‘[‘usr/lib/qubes/qubes-rpc-multiplexer’, ‘policy.Replace+50-config-input’, dom0’]’ returned non-zero exit status 1.

Filecopy:
Gui entries for copy or move to other qube are greyed out, qvm-copy in CLI returns 'Request refused, with log saying:
qrexec-daemon [7492] qrexec-daemon.c:1096: connect_daemon_socket: qrexec-policy-exec failed

Global Clipboard accepts the input shows message top right but pasting is not possible.

Here are the things I did before it broke:

  • regular template updates through auto-updater
  • System auto-updated to 4.2.2 through auto-updater
  • I upgraded to Fedora 39 and deleted Fedora 38 template

I already tried the following (someone was suggesting that group qubes needs write access and I thought this might have been overwritten during the 4.2.2 update):

  • (based on a help article here) I tried to add write permissions in etc/qubes/policy.d/50-config-input.policy, rebooted, no effect, changed it back
  • tried to add write permissions to usr/lib/qubes/qubes-rpc-multiplexer, rebooted changed it back.

Somebody suggested that the ‘qubes’ group needs write access to some directories and files (hence the attempt above, but either that is not it, or I don’t know what to enter in CLI to achieve what I need to achieve.

Kindly inviting any thoughts (Please be simple ;-)?

Run this command in dom0 terminal:

journalctl -f -n0

Press Ctrl+Shift+C/Ctrl+Shift+V in some qube window.
Check the log in the terminal to see if there are any qrexec errors.

This looks like a syntax error somewhere in the policy. The above journalctl advice is a good one. But if it doesn’t show anything, then try journalctl -e -u qubes-qrexec-policy-daemon. If that service has failed to start, then you might need to restart it (systemctl restart qubes-qrexec-policy-daemon), after fixing the issue in some of the policy files.

Holy smokes guys, that was quick. Let me try that and report back

I cannot copy and paste and there is a lot on that screen. Most of it looks like status messages, although it points to specific lines in the file

/usr/lib/python3.11/site-packages/qrexec/policy/parser.py

specifically lines 1786/1468/1831/140/1741/1524/1332/1178/

Line 262 has comment in__new__ raise policy SyntaxError invali empty @dispvm: token :‘dispvm:’
and them Main process exited, code=exited, statu=1/FAILURE, failed with result ‘exit-code’

Will try to upload photo of screen. Clearly something is broken.

It calls out dispvm as empty and that was on fedora 38 and I had to convert it to fedora 39, did that in the Qube Manager. Not sure, since it is a hidden system qube, whether I should have done anything else, but it did not complain when I converted it…

Apparatus’s suggestion did not yield any results

Did you upgrade your Qubes OS 4.1 to Qubes OS 4.2 in-place?
There seems to be some old policy format files left in dom0 in /etc/qubes-rpc/policy/.
If you have default new policy format files in /etc/qubes/policy.d/ then move the files in /etc/qubes-rpc/policy/ away from it to e.g. your home directory and check if it’ll fix your issue.
You can convert your custom policies from old format to new policy format later if it’ll work.

I did actually not do anything, the auto updater took care of that, one day it had an update for dom0 and I let that run. Now I am on 4.2.2, so I guess yes, in-place. Sorry misread your question I think. I never was on 4.1 but 4.2.17 or so was what I started with

Just to be clear, I have files in /etc/qubes-rpc/policy but none of them have the extension .policy. They are called
qubes.InputKeyboard
qubes.InputMouse
Qubes.InputMouse (with capital Q)
qubes,USB

etc.
Do you want me to move those away and completely empty the qubes-rpc/policy folder?

What’s the output of this command in dom0?

dnf provides /etc/qubes-rpc/policy/qubes.OpenURL /etc/qubes-rpc/policy/qubes.InputMouse /etc/qubes-rpc/policy/Qubes.InputMouse

Try to move the qubes.* and Qubes.* files away from this directory for a test.
You can return them back later.

Also what’s the output of this command in dom0?

cat /etc/qubes-rpc/policy/qubes.OpenURL

UPD:
I have the /etc/qubes-rpc/policy/qubes.USB policy file in my system so I guess it’s still used somewhere so you can leave this file there.

Yooo, waddayaknow! :sunglasses:
Removed the policy files and everything seems back to normal. No more error in global config, copy and paste works, mouse works, file transfer between qubes works. Thank you so much for your time and effort and for making this executable for a moron like me!! Send me your public BTC Key and I’ll buy you a beer :wink:

You can send it here instead:

1 Like

Oh, of course, how cool. Done. Thanks again!

1 Like