Archive for June, 2023

Repairing a CRS328-24p-4s+

Wednesday, June 21st, 2023

I scored a used CRS328 for $135 which is dirt cheap for a switch that would normally be $400+. Problem is, ports 17-24 had broken PoE – so broken that RouterOS believed they were non-PoE ports. No pictures since the switch is in use.

Fortunately, the switch has three separate PoE daughterboards, one for each group of eight ports. These are not easy to remove, due to the design of the front panel of the switch. There is a cable underneath each card as well as a pin header, so be careful to not yank cables or damage any connectors. In my case, swapping the second and third caused ports 9-16 to break and 17-24 to work, so it was easy to confirm it was a bad card. If you wish to quickly install a card for testing, you don’t need to plug in the power input nor the power output – only the pin header connector to the mainboard.

Upon inspecting the failed board, I noticed that the component “FB3” seemed to have been knocked off the board. The “FB” designation would typically refer to a “ferrite bead”, but I didn’t have any surface mount ferrite beads on hand, so I replaced it with a jumper wire. Not a good long-term plan, but it was enough to get the card working, which would indicate that the missing ferrite bead was indeed the culprit. The long-term fix would be to find an appropriate replacement bead, or replace the board entirely.

Quick Fix: AppArmor+Libvirt Errors in Debian, Round 2

Wednesday, June 21st, 2023

After smooth sailing for a while after the last post on the subject, I ran into another one. Once again, I was getting errors when trying to start guests.

I was getting error messages such as these in syslog:

2023-06-20T14:14:41.858010-07:00 store libvirtd[8623]: internal error: Process exited prior to exec: libvirt:  error : Cannot delete directory '/run/libvirt/qemu/4-autoserver.shm': Device or resource busy
2023-06-20T14:14:42.060935-07:00 store libvirtd[8623]: internal error: Failed to autostart VM 'autoserver': internal error: Process exited prior to exec: libvirt:  error : Cannot delete directory '/run/libvirt/qemu/4-autoserver.shm': Device or resource busy

/var/log/audit/audit.log showed errors such as these:

type=AVC msg=audit(1687295681.852:196): apparmor="DENIED" operation="umount" class="mount" profile="libvirtd" name="/run/libvirt/qemu/4-autoserver.dev/" pid=9441 comm="daemon-init"

The fix is to add this to /etc/apparmor.d/abstractions/libvirt:

umount /run/libvirt/qemu/**,

Reload apparmor (systemctl reload apparmor) and try starting a guest.