September 15, 2025Sep 15 For the last couple of weeks I've noticed my drives are not spinning down. They've been working fine for months so I'm rather confused on what has changed.I started with file activity logs, and saw nothing is running 24/7, so that should rule that out. I think checked my system logs and found a constant Bluetooth: hci0: Hardware error 0x0a being sent every second. I only use BT for home assistant. The handful of BT devices I have from switchbot are all showing in HA, and appear to be working as expected. I've attached my diagnostics. Anyone have any idea what could be causing this? joshflix-diagnostics-20250915-1545.zip
September 15, 2025Sep 15 Community Expert ignore it or pass the Bluetooth into a vm/docker that can use it like home assistant that will always stay running...Its mostlikely a modprbe or usb reset error due to unraid linux slack kernal and the missing host unraid packages are not installed. To use and see bluetooth, that why you see errors. I bleve the 3rd party packages whcih requires gui boot mode is called blueman to utilize and use bluetooth on unraid host.Given the post... you could have a usb bind or other isseus with passing your device given the info presented...
September 15, 2025Sep 15 Community Expert Sep 15 04:40:13 JOSHFLIX kernel: Bluetooth: hci0: Exception info Sep 15 04:40:13 JOSHFLIX kernel: Bluetooth: hci0: Hardware error 0x0athis looks like a improper vm pass and usb power stae error using usb bluetooth with a vm/docker.please review:https://www.youtube.com/watch?v=ZXvcdI3mQuAhttps://www.youtube.com/watch?v=UilWLtMYd-Uhttps://www.reddit.com/r/unRAID/comments/1fsgvlt/video_guide_install_home_assistant_vm_on_unraid/https://www.reddit.com/r/unRAID/comments/lw8f0l/how_to_set_up_home_assistant_on_unraid/if using Home assistnat while there are CA dockers you realy should use teh HA VM.https://community.home-assistant.io/t/ha-os-on-unraid/59959https://community.home-assistant.io/t/install-home-assistant-as-a-vm-on-unraid/270195https://youtu.be/-EAbiMkrcFE?si=sXLpEbvQmg8V-HKchttps://github.com/home-assistant/operating-system/releaseswhere its easeer to gui select your bluethooth device for the VM only.
September 16, 2025Sep 16 Author 17 minutes ago, bmartino1 said:Sep 15 04:40:13 JOSHFLIX kernel: Bluetooth: hci0: Exception infoSep 15 04:40:13 JOSHFLIX kernel: Bluetooth: hci0: Hardware error 0x0athis looks like a improper vm pass and usb power stae error using usb bluetooth with a vm/docker.please review:https://www.youtube.com/watch?v=ZXvcdI3mQuAhttps://www.youtube.com/watch?v=UilWLtMYd-Uhttps://www.reddit.com/r/unRAID/comments/1fsgvlt/video_guide_install_home_assistant_vm_on_unraid/https://www.reddit.com/r/unRAID/comments/lw8f0l/how_to_set_up_home_assistant_on_unraid/if using Home assistnat while there are CA dockers you realy should use teh HA VM.https://community.home-assistant.io/t/ha-os-on-unraid/59959https://community.home-assistant.io/t/install-home-assistant-as-a-vm-on-unraid/270195https://youtu.be/-EAbiMkrcFE?si=sXLpEbvQmg8V-HKchttps://github.com/home-assistant/operating-system/releaseswhere its easeer to gui select your bluethooth device for the VM only.I am running it in a VM already. I used the HA in a box docker from spaceinvader that sets it up as a VM. You can see I've checked the bluetooth device in my screenshot. I've really have two problems, one the bluetooth error, which I can ignore if it's not what's causing my other issue, which is my drives will not stay spun down. They keep getting pinged every few seconds even though file activity shows nothing is being accessed. I thought the two might be related.
September 16, 2025Sep 16 Community Expert good as the diag don't tell the full story and what was givein was limited.ok we can confirm this is a VM devcie pass isue and we are refering to HA as the VM not a docker...the spam in the log is most likely when the vm was turned off and the devce didn't power cycle or take the mvoing form the host tot eh vm corectly.have you alread restarted the host unraid?yo may need to run adational gube modprb comnds and have a user script to reset the bluetotth devcie whent eh vm turns of or when its in use with the vm as the host dind't pass it corectly to the VM.What are your VM Settings?the dig ddin't show a good lspciyou should rely bind the bluetooth devie out.main > flash>to edit unriad host grub boot options...example:so what i recomend for adational grub boot loading to fix this and restart unraid is:modprobe.blacklist=btusb,btintel,btrtl,btbcmto stop the host form loading bluetooth out right at bootand pasing the device id per your picture toteh xml code to passs the device for use int eh vm only<hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x8087'/> <product id='0x0aaa'/> </source> </hostdev> if you have the user script plugin tool this script might work taht wil acomplish this...#!/bin/bash # Detach Intel BT (8087:0aaa) from any host driver and hot-attach to a VM if running. VENDOR="8087" PRODUCT="0aaa" VM_NAME="Windows 11" # <-- set your VM name exactly # 1) Try to unbind interfaces of the matching USB device from any driver (e.g. btusb) for dev in /sys/bus/usb/devices/*; do [[ -f "$dev/idVendor" && -f "$dev/idProduct" ]] || continue if [[ "$(cat "$dev/idVendor")" "$VENDOR" && "$(cat "$dev/idProduct")" "$PRODUCT" ]]; then for ifpath in "$dev":*; do [[ -e "$ifpath/driver/unbind" ]] || continue intf="$(basename "$ifpath")" echo "$intf" > "$ifpath/driver/unbind" 2>/dev/null done # prevent auto-rescan/rebind on host [[ -w "$dev/authorized" ]] && echo 0 > "$dev/authorized" fi done # 2) If the VM is already up, hot-plug the USB device into it cat >/tmp/usb-bt.xml <<EOF <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x${VENDOR}'/> <product id='0x${PRODUCT}'/> </source> </hostdev> EOF if command -v virsh >/dev/null 2>&1; then if virsh domstate "$VM_NAME" 2>/dev/null | grep -qi running; then virsh attach-device "$VM_NAME" /tmp/usb-bt.xml --live fi fi echo "Bluetooth ${VENDOR}:${PRODUCT} detached from host and attached to ${VM_NAME} (if running)." Some FAQs / gotchasWhy not vfio-pci?Intel Bluetooth shows up as a USB device (8087:0aaa), so vfio-pci doesn’t apply. vfio-pci is for PCIe devices (USB controllers can be PCIe, but this BT module itself is USB).Do I need ACS override / unsafe interrupts?No. Those are for PCIe passthrough. Not needed for a raw USB device.Still seeing logs?Make sure btusb is blacklisted (either via the file or append) and rebooted. You can verify with:lsmod | grep btneed more info to asist otherwise... Edited September 16, 2025Sep 16 by bmartino1 code script blox issue
September 16, 2025Sep 16 Author 11 minutes ago, bmartino1 said:good as the diag don't tell the full story and what was givein was limited.ok we can confirm this is a VM devcie pass isue and we are refering to HA as the VM not a docker...the spam in the log is most likely when the vm was turned off and the devce didn't power cycle or take the mvoing form the host tot eh vm corectly.have you alread restarted the host unraid?yo may need to run adational gube modprb comnds and have a user script to reset the bluetotth devcie whent eh vm turns of or when its in use with the vm as the host dind't pass it corectly to the VM.What are your VM Settings?the dig ddin't show a good lspciyou should rely bind the bluetooth devie out.main > flash>to edit unriad host grub boot options...example:so what i recomend for adational grub boot loading to fix this and restart unraid is:modprobe.blacklist=btusb,btintel,btrtl,btbcmto stop the host form loading bluetooth out right at bootand pasing the device id per your picture toteh xml code to passs the device for use int eh vm only<hostdev mode='subsystem' type='usb' managed='yes'><source> <vendor id='0x8087'/> <product id='0x0aaa'/></source></hostdev>if you have the user script plugin tool this script might work taht wil acomplish this...#!/bin/bash# Detach Intel BT (8087:0aaa) from any host driver and hot-attach to a VM if running. VENDOR="8087" PRODUCT="0aaa" VM_NAME="Windows 11" # <-- set your VM name exactly# 1) Try to unbind interfaces of the matching USB device from any driver (e.g. btusb)for dev in /sys/bus/usb/devices/*; do [[ -f "$dev/idVendor" && -f "$dev/idProduct" ]] || continueif [[ "$(cat "$dev/idVendor")" "$VENDOR" && "$(cat "$dev/idProduct")" "$PRODUCT" ]]; then for ifpath in "$dev":*; do [[ -e "$ifpath/driver/unbind" ]] || continue intf="$(basename "$ifpath")" echo "$intf" > "$ifpath/driver/unbind" 2>/dev/null done # prevent auto-rescan/rebind on host [[ -w "$dev/authorized" ]] && echo 0 > "$dev/authorized"fidone# 2) If the VM is already up, hot-plug the USB device into itcat >/tmp/usb-bt.xml <<EOF <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x${VENDOR}'/> <product id='0x${PRODUCT}'/> </source> </hostdev> EOFif command -v virsh >/dev/null 2>&1; thenif virsh domstate "$VM_NAME" 2>/dev/null | grep -qi running; then virsh attach-device "$VM_NAME" /tmp/usb-bt.xml --live fifiecho "Bluetooth ${VENDOR}:${PRODUCT} detached from host and attached to ${VM_NAME} (if running)."Some FAQs / gotchasWhy not vfio-pci?Intel Bluetooth shows up as a USB device (8087:0aaa), so vfio-pci doesn’t apply. vfio-pci is for PCIe devices (USB controllers can be PCIe, but this BT module itself is USB).Do I need ACS override / unsafe interrupts?No. Those are for PCIe passthrough. Not needed for a raw USB device.Still seeing logs?Make sure btusb is blacklisted (either via the file or append) and rebooted. You can verify with:lsmod | grep btneed more info to asist otherwise...Here are my VM settings.I've also power cycled a few times and nothing changes. As for the user script, just to make sure I'm not missing something, I just need to add that as a script, reboot and see if that fixes it? Do I need to modify it in any way?Also, do you think this could be what is causing my disks to stay spun up? That's the real thing I'm trying solve for. Edited September 16, 2025Sep 16 by ShadohStorm
September 16, 2025Sep 16 Community Expert you will need to add this to the main grub boot launchmodprobe.blacklist=btusb,btintel,btrtl,btbcmand run my script posted above yes. this is because unraids kerneal is trying to touch and load apart of the bluetooth device even though you are planning to pass it to a VM.this is to stop the host unraid form touching the devices meant for other arears. Edited September 16, 2025Sep 16 by bmartino1
September 16, 2025Sep 16 Author 12 hours ago, bmartino1 said:you will need to add this to the main grub boot launchmodprobe.blacklist=btusb,btintel,btrtl,btbcmand run my script posted above yes. this is because unraids kerneal is trying to touch and load apart of the bluetooth device even though you are planning to pass it to a VM.this is to stop the host unraid form touching the devices meant for other arears.Sorry, I've never done this before. Am I modifying it here?default menu.c32menu title Lime Technology, Inc.prompt 0timeout 50label Unraid OSmenu defaultkernel /bzimageappend modprobe.blacklist=btusb,btintel,btrtl,btbcm initrd=/bzrootlabel Unraid OS GUI Modekernel /bzimageappend initrd=/bzroot,/bzroot-guilabel Unraid OS Safe Mode (no plugins, no GUI)kernel /bzimageappend initrd=/bzroot unraidsafemodelabel Unraid OS GUI Safe Mode (no plugins)kernel /bzimageappend initrd=/bzroot,/bzroot-gui unraidsafemodelabel Memtest86+kernel /memtestIf not, are there instructions somewhere on how to add it? Edited September 16, 2025Sep 16 by ShadohStorm
September 16, 2025Sep 16 Community Expert ok so let me clarify it then. Thank you for asking as I don't alwys go into great depth as it can be alot.... as this is advanced linux stuff...The goal atm is to tell the host unraid kernel not to load the Bluetooth drivers.Since this is kinda a mutable os. (run in ram and things are loaded off the usb... we have to run scripts or edit things at boot to apply some settings to stay at a reboot or apply to the system.Unraid loads and exists in ram...if you don't want to edit grub as explained before above. We can try the modprobe file action. As there are many ways to accomplish the same things...you can make a file at /boot/config/modprobe.d/blacklist-bt.conf# Keep host from binding the onboard BT so we can pass it to a VMblacklist btusbblacklist btintelblacklist btrtlblacklist btbcmafter making the file you will need to reboot to apply it.This can also be seen in the GUI via tool > system driversI find it easier to tell grub this additional boot option then trying to mess with unraids modprobe configurations and adding stuff to the flash drive to edit the linux default drivers....So, as I prefer the syslinux route and add options to grub at the boot screen, in Main → Flash → Syslinux add to the append line:if you go to main flash and scroll to the bottom, you will see the system Linux grub area.<unraid IP>/Main/Flash?name=flashand scroll to the very bottom:I would leave the top syslinux configuration alone. we only care about the green box. this is are default boot options for unraid and also where one can enable or disable UEFI boot via the unraid gui.as noted in my system's setup I have additional grub options I run and configurations for each machine I run linux on depending on needed use case and to set specific options...the bear min here in the boxes to boot unraid iskernel /bzimageappend initrd=/bzrootnote the gui option below has adationail line for intrid to load the gui stuff... note my picture above and how I have additional data after the initrd....Some web ui settings like the VM settings add grub options here so at boot here is where one can leverage linux to turn on or off features. here, we can leverage at boot configurations for modprobe to turn on or off device driversIf you have something in the green box as I default to default boot (with uefi). Some use gui mode... we want to add to the append line in that box.... so here i want you to add the modprobe gurb option that will blacklist (disable) the devices that use thoese drivers.if you run in terminal lspci -ayou will see at the bottom of your device a driver in use. We are essential telling unraid to never use or load that driver.Since this is a usb Bluetooth I believe the command is lsusb -a where you can see the Bluetooth device.Ideally we want the device to use vfio-pci for pce devices for VM only use... but since this is USB and not PCI we have to go a different route.so at this grub area option I want you to replace the UNRAID OS green box contents with this:kernel /bzimageappend initrd=/bzroot modprobe.blacklist=btusb,btintel,btrtl,btbcm*If you have soemthing int he box already let me know as this may chage what need to be in this box!!!then click apply at the end.you can see my grub boot line as example:kernel /bzimageappend initrd=/bzroot intel_iommu=on iommu=pt nvme_core.default_ps_max_latency_us=5500 default_hugepagesz=1G hugepagesz=1G transparent_hugepage=always pci=noaer pcie_aspm=offall of the theses options affect my running hardware and are used to fin tune some options for the host for my use case. Some are forced to default on by unraid. Other help Virtualization and side bugs. Other turn off things that I don't want on to begin with.In your case, I just want the host to not use the Bluetooth modprobe. There is technical a terminal command but i rather this be default off off. And not deal with any lingering issues after a reboot.This is one to target Bluetooth as we belvie that its the bluetooth device giving you the spam in the logs... (I want a rebooted machine with theses options and diag...)then post a updated diag file. As the cmdline will tel me if you ran it or not and potential give me the other necessary data to double-check that we got the deviceexample infor for your lsusb as this is your bluetooth device...Bus 001 Device 007: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)as we want to target this device for vm use...Then using a hook script that I shared above with the data given we can tell the host to find your usb via its vendor data and attach it to the VM in question.As normaly I deal with the pcie devices and that level... but the same concepts and principles apply here. we also have other options as well...since the spam of the log let bring down the device...Bring the controller down (if it exists) and unbind the USB interfacestry to run command hciconfig hci0 down 2>/dev/null || true*At least this is what would work in debain. unraid runs on slackware. Since i don't have access to the affect machine nor the hardware, I can only go over things I would do to get to the bottom of xyz...lspci -nn | grep -i usb# example: 00:14.0 USB controller: Intel Corporation ... [8086:a2af](which i have that need to clarify the device...)and lsusb as shown per your diag....I would potential add adational grub options like usbcore.autosuspend=-1 to stop usb power management and usb sleep states. and things like vfio-pci.ids=8086:a2af intel_iommu=on iommu=pt but this would require unraid vm setting for ACLS that would add something like pcie_acs_override=downstream,multifunction to the green box...but this in theory would only remote the port to port pass the device to the VM and is a bit convoluted. which is why I'm trying to start small and get you to point a test check and then to point b.With the devices black listed, we could then use CA plugins for USB devices to auto connect to a VM when running instead of the script. but that was after confirm that the hw error is indeed bluetooth...as the goal is to st make sure the host doesn't touch use nor interact with the bluetooth device.then in the VM / vm config and settings attach the device to the VM so only the vm can manage and use the device.I rather a reboot and this in grub at a higher level to affect the kernel and host operations due to the mutable OS where I can't always edit a config file, and it remains in use and effect at a reboot.to test as there is techily a mod probe to remove the current installed Bluetooth devices in use. (Not disable!)sudo modprobe -r btusb btintel btrtl btbcm 2>/dev/null || truebut things were touched and the spam in the syslog make it near imposable for me to assist with other checks and problems... removing doesn't undo the problem at hand...thus part of the answer and a script to try. as I don't know you skill level and I rather you ask question and get answer then randomly take the word of a person on a public forum. Edited September 16, 2025Sep 16 by bmartino1 inline broke file name correction
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.