#Bluethooth passthrough after switching to VM

1 messages ยท Page 1 of 1 (latest)

limpid pilot
#

I switched to home assistant OS after the announcement of deprecating the supervised installs.
All fun and all just take a backup and restore in a VM.

Sadly it's never that simple. I ran into the issue that the VM doesn't recognize the bluetooth addapter.
Anyone any idea how I can do a passthrough of the bluetooth adapter on a raspberry pi 5?

My google results resulted in buy a seperate USB bluetooth addapter but that feels kinda overkill.
I can see the adapter on my main host as hci0 but can't select it as hardware in my virt-manager.

I'm not thrilled with the deprecation as you lose a lot of dedicated resources and run into issues like this but i can understand where the devs come from..

#

Forgot to add running KVM on top of the raspberry pi OS

somber mauve
limpid pilot
#

running some custom networking (vpn, pihole, etc) and some other nice to have like changing my old printer into airprint capable device etc

#

I wanted to avoid having more then one appliance or having to actually hang a nuc or bigger hardware somewhere

#

which was working nicely but yeah ๐Ÿ˜…

#

sadly the raspberry pi bluetooth is connected over serial as far as i know using uart

#

And well aware of the virtualization part on the pi, wanted to avoid that at all costs but also not sure if the container option will fully work

somber mauve
#

container might be a better option in this case, now granted it has some drawbacks but you can work around those for the mostpart

unique vault
#

I'm setting up a mini pc with proxmox. I couldn't find the integrated Bluetooth in the usb passthrough.
I kindly (afraid of skynet) asked to ChatGPT and helped me identify the USB port (which didn't have any name).

limpid pilot
#

hciconfig hci0: Type: Primary Bus: UART BD Address: 2C:CF:67:72:EF:5E ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:5035294 acl:24 sco:0 events:208128 errors:0 TX bytes:632910 acl:28 sco:0 commands:92849 errors:0

#

from what i can see it doesn't use usb

somber mauve
limpid pilot
#

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

somber mauve
#

can see if its mentioned in dmesg perhaps

#

something like
dmesg | grep Bluetooth
or variations on that

#

although tbh container does seem to be the more sensible solution tbh

limpid pilot
#

I don't really see the interface their either was doing something similar, it does have a chip ID but not sure that is enough to go on

dmesg | grep -i bluetooth
[ 2.421900] Bluetooth: Core ver 2.22
[ 2.421921] NET: Registered PF_BLUETOOTH protocol family
[ 2.421923] Bluetooth: HCI device and connection manager initialized
[ 2.421929] Bluetooth: HCI socket layer initialized
[ 2.421931] Bluetooth: L2CAP socket layer initialized
[ 2.421935] Bluetooth: SCO socket layer initialized
[ 2.549796] Bluetooth: HCI UART driver ver 2.3
[ 2.549804] Bluetooth: HCI UART protocol H4 registered
[ 2.549828] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 2.550043] Bluetooth: HCI UART protocol Broadcom registered
[ 2.905911] Bluetooth: hci0: BCM: chip id 107
[ 2.906110] Bluetooth: hci0: BCM: features 0x2f
[ 2.907147] Bluetooth: hci0: BCM4345C0
[ 2.907149] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0000
[ 2.907739] Bluetooth: hci0: BCM4345C0 'brcm/BCM4345C0.raspberrypi,5-model-b.hcd' Patch
[ 3.316482] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.316489] Bluetooth: BNEP filters: protocol multicast
[ 3.316495] Bluetooth: BNEP socket layer initialized
[ 3.630404] Bluetooth: hci0: BCM: features 0x2f
[ 3.631795] Bluetooth: hci0: BCM43455 37.4MHz Raspberry Pi 3+-0190
[ 3.631803] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0382
[ 3.632107] Bluetooth: hci0: BCM: Using default device address (43:45:c0:00:1f:ac)
[ 3.655388] Bluetooth: MGMT ver 1.22
[ 4.064376] Bluetooth: RFCOMM TTY layer initialized
[ 4.064392] Bluetooth: RFCOMM socket layer initialized
[ 4.064406] Bluetooth: RFCOMM ver 1.11

somber mauve
#

yeah it looks like passthrough is gunna be not overally doable

#

so the main drawbacks of container install are:

updates are not fully built in and you have to pull the latest container image like you would with other containers.
and
you don't get the addon system. although you can run pretty much everything thats an addon in a separate container and use it just the same (just requires a bit of setup)

are either of thoses a big issue for you?

limpid pilot
#

RIP. should work i guess bit of a pain but better then having a bricked setup once the deprecation goes trough

#

what will happen with stuff that is currently pushed as addon? Probably need to fully reconfig it?

#

if i restore backup that is

somber mauve
#

if you restore a backup with addons in it to container, the addons just get ignored as they are not supported

#

what stuff are you running in addon?

limpid pilot
#

currently running this

#

they all have docker versions

#

but i guess they will need to be reconfiged

somber mauve
#

yes, although their may be migration paths

#

addons are just conatiners themselves so i imagine if you extract the config files you may be able to import them into a standalone container

#

i guess it depends how much work reconfiguring those things from default is for you

#

if its a big issue then its worth trying to migrate. if its not that much then might be quicker to start from scratch

limpid pilot
#

yeah will give it a try and see

#

worst case i guess, i have 6 months lol

somber mauve
#

there is that too yeah

#

realistically its probably not going to straight away break after 6 months either, it just becomes "unsupported"

limpid pilot
#

yeah but unfortunately I'm also missing a bit of the what does this mean part in the blog and comments.
I understand most people don't want the technical explanation of this but at the same time the people taking this type of install are probably already doing the more technical setup.

I mean sure i understand code doesn't directly break but will updates still be pushed? What part of the code is not maintained? Like what part of the software stack right, cause if you don't do updates its a question of time until you have outdated libs, etc..

somber mauve
#

stuff wont be tested against it and the documenation showing how to install that way wont be there anymore. you will likely get some more issues when updating but if you self-support and fix things it will probably continue to work at least for a while

limpid pilot
#

That makes sense but from a architectural view is it any different other then your OS package might brick stuff?

somber mauve
#

not overally, and i am sure there will be community driven support for a while. it just doesnt make sense to do it anymore. its a very low percentage of installs, a lot of which are running in an unsupported banner anyway. that style of install was important a while ago but as HAOS has improved for the most part theres no need for it anymore

limpid pilot
#

yeah from a maintenance perspective i fully understand don't get me wrong but there is always that side case. And i don't mind it being dropped i just have the feeling there is a lot of misunderstanding of what this actually means and what parts of the setup might eventually break. I can probably also understand that there is no quick and easy anwser for people to understand.

#

I always knew it was not supported if i had issues updating etc already anyways as i was running PI OS and not the standard debian but i figured the package changes were so minimal it would not break and honestly i never had any issues. I had the occational add-on failing but nothing i couldn't just restore with a backup that was created

#

Guess i might just sit it out for now before i switch to docker

somber mauve
#

could upgrade to a mini pc instead of a rpi, run proxmox and run haos alongside another distro in vm's ๐Ÿ™‚

limpid pilot
#

Yeah but then i need to find one with the same physical footprint ๐Ÿ˜… the PI was chosen for the simple reason i can stick it to the wall with 3M tape to fit nicely in the util place of the house haha

#

also for that money i can probably just buy that bluetooth dongle and run that vm ๐Ÿ˜›

somber mauve