本帖最后由 XCray 于 2022-9-3 09:48 编辑
之前想到这个方向了,看安卓gpio有这个:
gpio-493 ( |bt_rfkill ) out hi
dts里有这么一段:
bt-dev {
compatible = "amlogic, bt-dev";
gpio_reset = <0x19 0x53 0x00>;
dev_name = "bt-dev";
gpio_en = <0x19 0x53 0x00>;
status = "okay";
};
参照这两段试了试,没啥收获。好像需要驱动程序向rfkill注册这个引脚,但具体怎么弄没想明白,驱动编译也没搞定。
这两个链接我看了一下,第一个探索过程和我之前的差不多,结论好像和我现在的做法也是一样的:通过脚本重置蓝牙芯片,虽然标题写的是如何加到rfkill,但内容和rfkill没发生任何关系。
第二个链接感觉更接近目标,可是没想明白应该怎么玩。代码肯定很多地方需要修改,编译之后呢?是个内核模块?insmod?
理想的效果好像、大概应该是:无需用户层面的配置,系统reboot/poweroff的某个时间点调用rfkill、把相应的gpio拉低1秒钟,然启动的某个时间点把相应的gpio拉高,然后自动调用hciattach附着蓝牙电路(rtl的还得用自己的附着程序)。
陌生、不明白的东西太多了。
|