You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器内运行hciconfig报错Can't open HCI socket的问题咨询

解决Docker容器内执行hciconfig报错的问题

针对你在基于arm64v8/ros:humble-ros-base的容器中执行hciconfig出现的Can't open HCI socket.: Address family not supported by protocol错误,结合你已有的启动参数,可尝试以下几个排查和解决方向:

  • 确认容器内安装了蓝牙工具依赖
    ros:humble-ros-base镜像默认未预装蓝牙相关工具包,进入容器执行以下命令安装:

    apt update && apt install -y bluez bluez-tools
    
  • 添加PID namespace共享参数
    虽然你已经使用了--net=host,但蓝牙进程的访问可能依赖主机的PID namespace,启动容器时添加--pid=host参数:

    docker run -it -v /etc:/etc -v /var:/var -v /dev:/dev -v /sys:/sys -v /run:/run --privileged --net=host --pid=host --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_ADMIN <my_image>
    
  • 明确挂载蓝牙专属设备/目录
    即使挂载了/dev,部分场景下需要单独指定蓝牙相关设备节点,启动时添加:

    --device=/dev/hci0 -v /dev/bluetooth:/dev/bluetooth
    
  • 验证主机蓝牙模块与服务状态
    容器共享主机内核,确保主机已加载蓝牙内核模块:

    lsmod | grep bluetooth
    

    同时确认主机蓝牙服务处于运行状态:

    systemctl status bluetooth
    
  • 检查容器内内核配置支持
    进入容器后,验证是否支持蓝牙地址族:

    grep CONFIG_BT /boot/config-$(uname -r)
    

    确保输出中包含CONFIG_BT=y和CONFIG_BT_HCIUART=y等相关配置(主机正常的话此步骤大概率没问题)。

内容的提问来源于stack exchange,提问作者hashtag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:05:20