Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ble extension #247

Open
spammads opened this issue Oct 11, 2023 · 6 comments
Open

Ble extension #247

spammads opened this issue Oct 11, 2023 · 6 comments

Comments

@spammads
Copy link

I know it’s a very niche thing. But for days I’m trying to get one of my Nodes to provision a matter-device. Bluetooth is needed during the comissioning-process. Would be great if Ble could be provided via an extension. Nevertheless thanks for this great and stable operating system.

@Preisschild
Copy link
Contributor

Preisschild commented Oct 15, 2023

You should be able to just attach a device (per /dev path) to the container. I use a Zigbee USB stick with zigbee2mqtt in a container, and it works without issues.

Plug in the USB adapter, check the ID by using talosctl ls /dev/serial/by-id and use a hostPath volume to mount that path.

@spammads
Copy link
Author

I don't think so. Bluetooth needs Kernelmodules. And i need Dbus to run.

@myoung34
Copy link

myoung34 commented Jan 20, 2024

Any ideas?
Its def not niche, i have a bunch of iBeacons Id like to capture data from

I have a container with priviledged, all caps, host network and mounted dbus, it still shows no BLE
Its not a serial device so it wont show up in /dev/serial

192.168.4.119: kern:    info: [2024-01-18T19:18:48.293803009Z]: usb 1-6.1.4: new full-speed USB device number 8 using xhci_hcd
 SUBSYSTEM=usb
 DEVICE=+usb:1-6.1.4

Im assuming it goes to /dev but im unable to find out where

In a privileged pod (only dbus mounted)

/ # lsusb | grep 0a12:0001
Bus 001 Device 008: ID 0a12:0001

and

✗ k get node/server -oyaml | grep e0_0a12_0001
    feature.node.kubernetes.io/usb-e0_0a12

@stereobutter
Copy link

I'm believe for using bluetooth with talos you will have to build your own kernel (see https://www.talos.dev/v1.6/advanced/customizing-the-kernel/) with relevant kernel config parameters enabled (see e.g. https://github.com/torvalds/linux/blob/master/net/bluetooth/Kconfig).

I've also found some articles about running the BlueZ daemon inside a pod (e.g. https://medium.com/omi-uulm/how-to-run-containerized-bluetooth-applications-with-bluez-dced9ab767f6).

@stereobutter
Copy link

If/when talos gains the ability to load kernel modules signed with keys other then those generated (and thrown away) building the kernel it would also be possible to build a kernel with bluetooth as modules and package those in a talos system extension I think.

@stereobutter
Copy link

There is also an issue on pkgs already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants