On FreeBSD, calibre relied on HAL for the mounting of ereaders that use USB mass storage (usbms). HAL was deleted from the ports system back in February 2021, and it appears that it was never a formal requirement of the port (probably relied on it being pulled in from the Desktop.)
I'm looking into replacing the HAL code with BSDisks/Udisks2, but I haven't been a programmer in a long, long time. I thought I'd file a bug report to see if someone with more current skills can help.
On an installed calibre the files in question are /usr/local/lib/calibre/calibre/devices/usbms/device.py and hal.py in the same directory.
Thanks for the report.
I'm actually aware of this, and was planning to do the same you propose (use libudisks and bsdisks), but I've been unable to make it work. Unluckily at present I can dedicate little time to this.
Also add that I don't have good knowledge of python.
If you want to try to create a patch even imperfect and post here I'll be happy to try to help.
To be more specific I had problems finding how to access bsdisk and libudidsks from python to get the information I need to actually mount the devices.