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

如何修改树莓派3 B(内核4.14.30)的蓝牙内核参数?

嘿,我来一步步帮你搞定这个修改——因为你改的是内核蓝牙子系统的头文件,必须重新编译树莓派内核才能让修改生效。针对你的2015款Raspberry Pi 3 B和4.14.30内核,具体操作如下:

1. 准备编译环境与源码

首先得确保树莓派有足够空间(至少10GB),并装好编译依赖:

sudo apt update && sudo apt full-upgrade
sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev

然后下载对应版本的树莓派内核源码——你的内核是4.14.30,对应官方仓库的rpi-4.14.y分支:

git clone --depth=1 --branch rpi-4.14.y https://github.com/raspberrypi/linux.git

(--depth=1是只拉取最新提交,能大幅缩短下载时间)

2. 修改目标头文件

进入源码目录,打开你要修改的hci.h:

cd linux
nano include/net/bluetooth/hci.h

找到那两行超时定义,替换成你修改后的内容:

#define HCI_LE_CONN_TIMEOUT msecs_to_jiffies(10000) /* 10 seconds WAS 2 seconds /
#define HCI_LE_AUTOCONN_TIMEOUT msecs_to_jiffies(10000) /
10 seconds WAS 2 seconds */

修改完成后按Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。

3. 配置内核编译参数

树莓派3 B对应的默认内核配置是bcm2709_defconfig,直接加载即可:

make bcm2709_defconfig

如果之前有自定义过内核配置,可以用make menuconfig调整,但这里只是修改蓝牙超时参数,默认配置完全够用。

4. 编译内核

启动编译,用-j4利用树莓派3的4核加速(能省不少时间):

make -j4 zImage modules dtbs

这个过程会比较久,可能需要1-2小时,别着急,让它慢慢跑就行。

5. 安装编译好的内核与模块

编译完成后,先安装内核模块:

sudo make modules_install

然后替换系统中的内核、设备树文件:

sudo cp arch/arm/boot/zImage /boot/kernel.img
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
6. 验证修改效果

重启树莓派让新内核生效:

sudo reboot

重启后,你可以通过uname -r确认内核版本还是4.14.30(我们只是重新编译了同版本内核,版本号不会变),然后就可以测试BLE连接超时是否已经改成10秒了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:56:10