『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: XCray

[技术探讨] 【23年7月更】Armbian 系统 RTL8761BTV 蓝牙的最正确食用方式

  [复制链接]

0

主题

9

帖子

157

积分

注册会员

Rank: 2

积分
157
金钱
148
HASS币
0
发表于 2022-11-2 22:07:26 | 显示全部楼层
既然有enable-gpios为对应gpio拉高,那可以试试reset-gpios为对应gpio拉低,可能驱动里面用到了这个reset,试试看
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-11-3 22:08:55 | 显示全部楼层
YanceyChiew 发表于 2022-11-2 22:07
既然有enable-gpios为对应gpio拉高,那可以试试reset-gpios为对应gpio拉低,可能驱动里面用到了这个reset, ...

早就试过了,无效
回复

使用道具 举报

0

主题

9

帖子

157

积分

注册会员

Rank: 2

积分
157
金钱
148
HASS币
0
发表于 2022-11-4 07:57:55 | 显示全部楼层
本帖最后由 YanceyChiew 于 2022-11-4 11:19 编辑
XCray 发表于 2022-11-3 22:08
早就试过了,无效

确实,我翻了下驱动,根本没有这玩意的用武之地。

现在有个变通的方法,亲测有效,就是把这个gpio假装成一个led灯,配置成default-state = "on",这样系统启动时它会自动拉高,关闭(重启)时会自动拉低,挂起等状态我没有测试但是如果没有keep状态的话应该是会自动拉低的。

这样有个坏处就是gpio被占用了,也就无法从用户态手动硬重置蓝牙设备了(或者可以变通地直接控制灯的状态?),不过正常来说也没见什么软件提供这个功能,所以某种意义上来说还是很完美的。
 leds {
                compatible = "gpio-leds";

                power_led {
                        led_name = "power_led";
            gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>;
                        default-state = "on";
                };

                net_led {
                        led_name = "net_led";
            gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_LOW>;
                        default-state = "off";
                        linux,default-trigger = "0.0:00:link";
                };

                remote_led {
                        led_name = "remote_led";
            gpios = <&gpio_ao GPIOAO_10 GPIO_ACTIVE_LOW>;
                        default-state = "off";
                        linux,default-trigger = "rc-feedback";
                };
                
// 修改开始
                bluetooth_reset_fake_led {
                        led_name = "bluetooth_reset_fake_led";
            gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
                        default-state = "on";
                };
// 修改结束

        };


本来是编译了一个overlay,结果看了下amlogic的u-boot要把dtbo搞起来似乎有点麻烦的样子,对boot脚本改动较大,还是算了。
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2022-11-4 15:26:56 | 显示全部楼层
YanceyChiew 发表于 2022-11-4 07:57
确实,我翻了下驱动,根本没有这玩意的用武之地。

现在有个变通的方法,亲测有效,就是把这个gpio假装成 ...

是个好主意!
overlay的玩法我也没搞通,后来犯懒就放弃了。
回复

使用道具 举报

6

主题

243

帖子

1864

积分

金牌会员

Rank: 6Rank: 6

积分
1864
金钱
1621
HASS币
0
发表于 2022-11-4 21:49:33 | 显示全部楼层
YanceyChiew 发表于 2022-11-4 07:57
确实,我翻了下驱动,根本没有这玩意的用武之地。

现在有个变通的方法,亲测有效,就是把这个gpio假装成 ...

这个完整的dts可以提供下吗?我想驱动led
回复

使用道具 举报

3

主题

301

帖子

3243

积分

论坛元老

Rank: 8Rank: 8

积分
3243
金钱
2942
HASS币
0
发表于 2022-11-4 22:32:19 | 显示全部楼层
隔壁的王叔叔 发表于 2022-11-2 10:39
我的401a,用的是e900v22c的dtb,cm311的用不了,修改如下,目前测试正常,感谢大佬。 ...

我的401用你这个完全没问题,状态灯也是对的,不过感觉太亮了能否改下亮度一半
回复

使用道具 举报

0

主题

9

帖子

157

积分

注册会员

Rank: 2

积分
157
金钱
148
HASS币
0
发表于 2022-11-5 00:24:47 | 显示全部楼层
本帖最后由 YanceyChiew 于 2022-11-5 01:06 编辑
liantianji 发表于 2022-11-4 21:49
这个完整的dts可以提供下吗?我想驱动led

dts因为要include通用的部分所以不长, 我就不传附件直接贴代码块里面吧。(更正:代码块缩进有问题,还是传了附件) 我这个是cm311-1A上面改的,你自己对照自己的dts来改。
补充:再传个编译好的dtb文件,这样懒得下内核源码的直接反编译大概也能复制出来用。

meson-g12a-s905l3a-cm311-with-bt.zip

1.39 KB, 下载次数: 53

cm311-dts

dtb-meson-g12a-s905l3a-cm311-with-bt.zip

15.3 KB, 下载次数: 71

cm311-dtb

回复

使用道具 举报

6

主题

243

帖子

1864

积分

金牌会员

Rank: 6Rank: 6

积分
1864
金钱
1621
HASS币
0
发表于 2022-11-5 08:44:30 | 显示全部楼层
隔壁的王叔叔 发表于 2022-11-2 10:39
我的401a,用的是e900v22c的dtb,cm311的用不了,修改如下,目前测试正常,感谢大佬。 ...

奇怪,我用401a用这个启动不来机子
回复

使用道具 举报

6

主题

243

帖子

1864

积分

金牌会员

Rank: 6Rank: 6

积分
1864
金钱
1621
HASS币
0
发表于 2022-11-5 08:50:30 | 显示全部楼层
YanceyChiew 发表于 2022-11-5 00:24
dts因为要include通用的部分所以不长, 我就不传附件直接贴代码块里面吧。(更正:代码块缩进有问题,还是 ...

感谢!试看看
回复

使用道具 举报

0

主题

6

帖子

54

积分

注册会员

Rank: 2

积分
54
金钱
48
HASS币
0
发表于 2022-11-5 09:10:34 | 显示全部楼层
隔壁的王叔叔 发表于 2022-11-2 10:41
如果不好用,不妨试试我编译的那个。

我的401A 换这个起不起来
5.684955]  cpu_startup_entry+0x24/0x28
[    5.688593]  secondary_start_kernel+0x1ac/0x254
[    5.693082] Code: 52800029 5280010c 5280020e aa0b03ed (f9400d6b)
[    5.699116] ---[ end trace 8692b46a2d17db2b ]---
[    5.703685] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[    5.710500] SMP: stopping secondary CPUs
[    5.714382] Kernel Offset: disabled
[    5.717829] CPU features: 0x00240002,20002004
[    5.722140] Memory Limit: none
[    5.725307] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 00:11 , Processed in 0.139991 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表