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

标题: M401A/311-1a盒子Armbian系统中蓝牙基本完美,reboot/音乐问题搞定 [打印本页]

作者: XCray    时间: 2022-8-7 19:05
标题: M401A/311-1a盒子Armbian系统中蓝牙基本完美,reboot/音乐问题搞定
本帖最后由 XCray 于 2022-10-29 11:37 编辑

这是之前的玩法,这种方式(在用户空间运行rtk_hciattach)据说比较陈旧。现代化的方法是内核直接驱动(serdev),详见:https://bbs.hassbian.com/thread-18366-1-1.html
---------------------
之前帖子的内容随着认识的深入不断变化,导致可读性比较差,重新梳理一下启用串口蓝牙电路的要点:
大部分使用串口蓝牙芯片的盒子尤其是realtek芯片的,都可以参考。
我用的rtk_hciattach源码来自radxa,比较坑的是这个repo包含的固件config文件是1.5m速率的,我的两个盒子都用不了。

更详细的内容慢慢看吧:
--------------------
我相信论坛里一定有真正懂的大神,只是好像都比较小气,轻易不爱发表指导意见。

我已经让这两个盒子可以使用蓝牙了,但是有两个问题实在不好搞,不过最终也都搞定了:

1. 系统不断电reboot后蓝牙无法操作,根据文档,应该在reboot过程中“拉低 BT_RST pin,1s 后,BT controller 才能真正进入 power down 模式”,这样系统重启后才可以继续操控蓝牙。

可是我不知道怎么去“拉低”这个引脚(根据安卓dts判断好像是gpiochip0的83号)。 gpiod装了,试过gpioset,不行(原来没用过这个)。

经过苦苦思索和搜索,搜索和思索,外加尝试,终于搞定了。具体方法见65楼。这样直接reboot重启蓝牙也可以继续工作了。

2. 蓝牙初始化后无法变更波特率(所以现在必须删掉固件的config才能完成初始化),怀疑是串口没弄对,可是翻遍安卓dts也没找到更有帮助的信息。

这个是imzlh搞定的!61楼imzlh朋友上传了一个可以正常下载并切换到2m波特率的config文件,用这个config播放音乐就毫无问题了。感谢imzlh
值得强调的是这里有一个隐患:如果同时使用HA的蓝牙集成收集传感器信息的话,2m波特率可能会导致蓝牙吊死,表现就是所有蓝牙传感器都停止状态更新。

怀疑和时钟精度不够有关系。如果没有音乐播放需求的话,还是用原来的方法:删掉config文件、使用115200的波特率,长时间观察没有这个问题。

删掉config文件的方法比较粗暴,并且损失了硬件流控,我把2m波特率的config文件改了改,波特率分别为115200和230400,其它不变(硬件流控保持开启,还有啥我也不知道),下载到蓝牙芯片毫无问题,有兴趣的可以选择测试。
[attach]40913[/attach]
原来下载到蓝牙芯片会导致失败的那个config文件是1.5m的,估计这个波特率不行(460800我试过也不行),把波特率改为230400、4m下载都没问题,文件大小25字节(2m那个大小为81字节,也不知道多出来的内容都是啥)。只是4m的必要性、稳定性可能都是个问号。
[attach]40914[/attach]不过更推荐81字节的版本,似乎更稳定:
[attach]41380[/attach]
包内有3个版本,115200、230400、2m,按需选用,别忘了改名
~~~~~~~~~~~~~
先是在CoreELEC里已经验证没问题。
然后搞定dtb文件,在系统里把连接蓝牙电路的串口搞出来。
自己编译了rtk_hciattach工具,可以和蓝牙芯片通信,碰到了最后的固件下载失败的问题
怀疑是串口参数没弄对,一番折腾无果。后来终于找到一个真正能参考解决这个问题的帖子:Realtek Bluetooth ERROR: patch timerout, retry · Issue #31 · lwfinger/rtl8723bs_bt (github.com)

解决的办法也很颠覆三观:删掉固件里的那个config文件!(后来明白了点,不删改改也行)

然后就行了!(至少ha里可以正常使用了,无法用于播放音乐,因为波特率不能切换,115200不够)

坑太多了~~~

RTL8761BTV芯片,其它芯片的自行琢磨吧
最后来点儿真相:
[attach]40101[/attach]
~~~~~~~~~~~~~~
311-1a yst (yss) 是另一位坛友的,实现的方法完全相同:
【M401A】CoreELEC初步小试,毫无难度的安装和xue微折腾的蓝牙




作者: XCray    时间: 2022-8-7 20:08
本帖最后由 XCray 于 2022-9-2 07:18 编辑

这是我编译的dtb(只在u200基础上增加了连接蓝牙电路的串口)和rtk_hciattach工具(源码来自radxa)。欢迎同款蓝牙芯片的坛友们测试
最后又照着x96-max-plus的dts改了一下串口,其实和之前的效果好像没啥区别。
[attach]40100[/attach]
最关键的还是config(已经有坛友找到了可以顺畅下载并且波特率会自动调整为2M的config,蓝牙音乐就没有问题了)

只测试了5.15和5.18内核,欢迎测试其它版本

还有一个坑:每次重启必须断电,直接reboot不行

ps。我重新整理了完整的安装步骤,还是回到之前的帖子吧:
https://bbs.hassbian.com/thread-17335-1-1.html

发现原来u200的dtb只配置了1G的内存,以前只是在其基础上增加了串口,没管内存的事儿(只是依靠overload uboot去检测)。

再上传一个2G内存的版本,需要的自取:
[attach]40846[/attach]

作者: ghostist    时间: 2022-8-7 21:06
X大玩的越来越深奥 跟不上了
作者: XCray    时间: 2022-8-7 21:10
ghostist 发表于 2022-8-7 21:06
X大玩的越来越深奥 跟不上了

别夸我,惭愧着呢
作者: jck773656345    时间: 2022-8-7 23:15
期待X大
作者: leonarddo    时间: 2022-8-8 00:27
好厉害,可惜同型号盒子都不一定通用。。。
作者: shadowba    时间: 2022-8-8 08:53
XCray 发表于 2022-8-7 20:08
这是我编译的dtb(只在u200基础上增加了连接蓝牙电路的串口)和rtk_hciattach工具(源码来自radxa)。欢迎 ...

不错,现在还跑着HASSIO,等哪天闲了也弄弄
作者: Ari    时间: 2022-8-8 08:57
给力啊,顶帖
作者: 隔壁的王叔叔    时间: 2022-8-8 09:42
本帖最后由 隔壁的王叔叔 于 2022-8-8 09:44 编辑

报错信息一模一样,删掉配置文件删了也没什么用,5.9
  1. sudo rm /lib/firmware/rtl_bt/rtlbt_config
复制代码

内核。你重新安装驱动了嘛?这个重启必须断电,蛮讨厌的。盒子放在家里,就没办法了
作者: XCray    时间: 2022-8-8 10:07
本帖最后由 XCray 于 2022-8-8 10:41 编辑
隔壁的王叔叔 发表于 2022-8-8 09:42
报错信息一模一样,删掉配置文件删了也没什么用,5.9
内核。你重新安装驱动了嘛?这个重启必须断电,蛮讨厌 ...
不是rtl_bt,是rtlbt那个目录,不带下划线的。带下划线的是给sdio接口用的。
不用管驱动,系统自带的就行。并且任意版本自带的驱动都可以。

事实上曾经想换,但编译报错且没能力解决。

作者: 隔壁的王叔叔    时间: 2022-8-8 10:20
XCray 发表于 2022-8-8 10:07
不用管驱动,系统自带的就行。并且任意版本自带的驱动都可以。

事实上曾经想换,但编译报错且没能力解决 ...

麻烦您会议一下细节,理论上应该是一个解决方案的,我现在删了那个配置文件也不行,搞不懂了。
作者: 隔壁的王叔叔    时间: 2022-8-8 10:24
XCray 发表于 2022-8-8 10:07
不用管驱动,系统自带的就行。并且任意版本自带的驱动都可以。

事实上曾经想换,但编译报错且没能力解决 ...

麻烦您看看/lib/firmware/rtl_bt
/lib/firmware/rtlbt
目录下的 文件呗,我想了想,前几天曾经把那个驱动文件里的驱动,给复制到这两个文件里去了,不知道会不会有影响,不行的话,就得重新刷机了
作者: XCray    时间: 2022-8-8 10:44
隔壁的王叔叔 发表于 2022-8-8 10:24
麻烦您看看/lib/firmware/rtl_bt
/lib/firmware/rtlbt
目录下的 文件呗,我想了想,前几天曾经把那个驱动 ...

不用管rtl_bt那么目录,那是给sdio接口的芯片用的。

不会有影响,不同的rtl8761b_fw固件文件区别不大,都能用。再说文件级别的操作就行了,没必要刷机啊
作者: owbot    时间: 2022-8-8 10:59
感谢大佬分享
作者: 隔壁的王叔叔    时间: 2022-8-8 10:59
XCray 发表于 2022-8-8 10:44
不用管rtl_bt那么目录,那是给sdio接口的芯片用的。

不会有影响,不同的rtl8761b_fw固件文件区别不大, ...

大佬,请问、lib/firmware/rtlbt里的
rtl8761b_config要删除嘛?我没删,那个github的帖子里也没要求删。
作者: XCray    时间: 2022-8-8 11:26
本帖最后由 XCray 于 2022-8-8 11:27 编辑
隔壁的王叔叔 发表于 2022-8-8 10:59
大佬,请问、lib/firmware/rtlbt里的
rtl8761b_config要删除嘛?我没删,那个github的帖子里也没要求删。 ...

要删的就是/lib/firmware/rtlbt/rtl8761b_config这个文件呀!很显然你已经晕了
当然,不舍得删的话改个名字也行

作者: 隔壁的王叔叔    时间: 2022-8-8 11:31
XCray 发表于 2022-8-8 11:26
要删的就是/lib/firmware/rtlbt/rtl8761b_config这个文件呀!很显然你已经晕了
当然,不舍得删的话改个 ...

晕倒啊,我是按照那个帖子里删的这个sudo rm /lib/firmware/rtl_bt/rtlbt_config,我晕,这个我没删,本来删掉了,还特意去找回来,又复制进去 的,我的天哪,只能晚上回家试试看,感谢大佬。
作者: 花落花空    时间: 2022-8-8 13:26
祝贺大佬成功
作者: XCray    时间: 2022-8-8 14:48
隔壁的王叔叔 发表于 2022-8-8 11:31
晕倒啊,我是按照那个帖子里删的这个sudo rm /lib/firmware/rtl_bt/rtlbt_config,我晕,这个我没删,本 ...

那个帖子说的是另一款芯片,使用sdio界面的wifi蓝牙二合一rtl8723bs,那个用rtl_bt路径;我只是参考他的问题处理思路,uart界面的芯片对应的是rtlbt目录
作者: 隔壁的王叔叔    时间: 2022-8-8 15:22
XCray 发表于 2022-8-8 14:48
那个帖子说的是另一款芯片,使用sdio界面的wifi蓝牙二合一rtl8723bs,那个用rtl_bt路径;我只是参考他的 ...

感谢大佬,晚上回家试试,抱大腿的感觉真好。另外您的声卡成功输出声音了嘛?我用a

  1. root@arm-64:~# aplay -l
  2. **** List of PLAYBACK Hardware Devices ****
  3. card 0: G12AU200 [G12A-U200], device 0: fe.dai-link-0 (*) []
  4.   Subdevices: 1/1
  5.   Subdevice #0: subdevice #0
  6. card 0: G12AU200 [G12A-U200], device 1: fe.dai-link-1 (*) []
  7.   Subdevices: 1/1
  8.   Subdevice #0: subdevice #0
  9. card 0: G12AU200 [G12A-U200], device 2: fe.dai-link-2 (*) []
  10.   Subdevices: 1/1
  11.   Subdevice #0: subdevice #0
复制代码
play-l 可以看到一个声卡,3个设备,但是声音放不出来。
  1. root@arm-64:~# aplay -D hw:0,0 test.wav
  2. Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
  3. aplay: set_params:1407: Unable to install hw params:
  4. ACCESS:  RW_INTERLEAVED
  5. FORMAT:  S16_LE
  6. SUBFORMAT:  STD
  7. SAMPLE_BITS: 16
  8. FRAME_BITS: 32
  9. CHANNELS: 2
  10. RATE: 44100
  11. PERIOD_TIME: (124988 124989)
  12. PERIOD_SIZE: 5512
  13. PERIOD_BYTES: 22048
  14. PERIODS: (4 5)
  15. BUFFER_TIME: 500000
  16. BUFFER_SIZE: 22050
  17. BUFFER_BYTES: 88200
  18. TICK_TIME: 0
  19. root@arm-64:~#
复制代码

作者: XCray    时间: 2022-8-8 15:37
隔壁的王叔叔 发表于 2022-8-8 15:22
感谢大佬,晚上回家试试,抱大腿的感觉真好。另外您的声卡成功输出声音了嘛?我用aplay-l 可以看到一个声 ...

hdmi打一开始就有声音,3.5mm那个我没试,应该也能出声。

不过我还是查了个USB小音箱,图的是简单,自带功放一根线搞定。
作者: 隔壁的王叔叔    时间: 2022-8-8 15:46
XCray 发表于 2022-8-8 15:37
hdmi打一开始就有声音,3.5mm那个我没试,应该也能出声。

不过我还是查了个USB小音箱,图的是简单,自带 ...

请问您是如何使其发声呢?播放了一个音频文件吗?还是网页播放了个视频?声卡驱动用的是哪个呀?
作者: XCray    时间: 2022-8-8 15:50
隔壁的王叔叔 发表于 2022-8-8 15:46
请问您是如何使其发声呢?播放了一个音频文件吗?还是网页播放了个视频?声卡驱动用的是哪个呀? ...

mpd,驱动都是系统自己的,我都没管,直接就能出声。插上usb小音箱后选usb那个。
作者: jiluxinqing    时间: 2022-8-8 17:23
羡慕会玩硬件的大佬
作者: 隔壁的王叔叔    时间: 2022-8-8 22:39
再次感谢大佬,成功驱动了蓝牙,但是现在有几个问题。
1、蓝牙mod没有加载,需手动加载
2、蓝牙服务没有启动成功,可能是上面的锅
3、rtl_hcixxx 那个命令窗口要一直开着才行,他运行完了显示device steup completed不退出,一退出,就没得玩了。
不知道大佬是怎么解决第三个问题的。请指教。
作者: 隔壁的王叔叔    时间: 2022-8-8 23:03
隔壁的王叔叔 发表于 2022-8-8 22:39
再次感谢大佬,成功驱动了蓝牙,但是现在有几个问题。
1、蓝牙mod没有加载,需手动加载
2、蓝牙服务没有启 ...

第一个可能要设置开机加载模块,第三个不知道怎么搞,或者搞个开机启动脚本。
作者: leonarddo    时间: 2022-8-9 03:35
XCray 发表于 2022-8-8 10:07
不是rtl_bt,是rtlbt那个目录,不带下划线的。带下划线的是给sdio接口用的。
不用管驱动,系统自带的就行。 ...

我rtlbt目录没有rtl8761b_fw的文件,请问从哪里下载?
作者: leonarddo    时间: 2022-8-9 03:51
leonarddo 发表于 2022-8-9 03:35
我rtlbt目录没有rtl8761b_fw的文件,请问从哪里下载?

不用了,已经找到了
作者: XCray    时间: 2022-8-9 07:48
隔壁的王叔叔 发表于 2022-8-8 22:39
再次感谢大佬,成功驱动了蓝牙,但是现在有几个问题。
1、蓝牙mod没有加载,需手动加载
2、蓝牙服务没有启 ...

你重新看我这个帖子吧。mod会自动加载、服务也会自动启动。至于第三个,更简单,&
作者: 隔壁的王叔叔    时间: 2022-8-9 08:40
XCray 发表于 2022-8-9 07:48
你重新看我这个帖子吧。mod会自动加载、服务也会自动启动。至于第三个,更简单,& ...

恩,我昨天仔细看了,并抄了作业,就想您说的,重启要断电,蓝牙才起的来。谢谢大佬,现在就剩声卡了,aplay -l看起来是正常的,实际并不发声,我一定是哪里搞错了些什么,没有linux经验,好累。
作者: XCray    时间: 2022-8-9 17:55
隔壁的王叔叔 发表于 2022-8-9 08:40
恩,我昨天仔细看了,并抄了作业,就想您说的,重启要断电,蓝牙才起的来。谢谢大佬,现在就剩声卡了,ap ...

现在声卡这东西确实挺复杂的,模拟数字环绕混音转码......别说linux,就windows里面也会把很多人搞晕。

我之前拿这盒子接显示器,armbian/coreelec都是直接从hdmi出声(显示器自带的声音输出)。

3.5mm那个是音视频复合插孔,只用它输出声音的话估计得怎么设置一下。

几个方向可以考虑:
- 苦读 linux 音频相关文档(我浅尝过,辄止了),涉及alsa、pulseaudio之类的;
- 装个桌面,图形界面里应该相对好搞一些;
- hassio的mpd加载项里也可以直接声音输出通道;
作者: 隔壁的王叔叔    时间: 2022-8-9 21:54
XCray 发表于 2022-8-9 17:55
现在声卡这东西确实挺复杂的,模拟数字环绕混音转码......别说linux,就windows里面也会把很多人搞晕。

...

我是装的supervise,但是加载项里好像并没有mpd啊
作者: lensam    时间: 2022-8-9 22:28
XCray 发表于 2022-8-7 20:08
这是我编译的dtb(只在u200基础上增加了连接蓝牙电路的串口)和rtk_hciattach工具(源码来自radxa)。欢迎 ...

有2+16的cm211增强版的dtb么?也是905l3的
作者: 隔壁的王叔叔    时间: 2022-8-9 23:07
本帖最后由 隔壁的王叔叔 于 2022-8-10 00:16 编辑
  1. root@arm-64:~# aplay /usr/share/sounds/alsa/Front_Center.wav
  2. Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
  3. aplay: set_params:1407: Unable to install hw params:
  4. ACCESS:  RW_INTERLEAVED
  5. FORMAT:  S16_LE
  6. SUBFORMAT:  STD
  7. SAMPLE_BITS: 16
  8. FRAME_BITS: 16
  9. CHANNELS: 1
  10. RATE: 48000
  11. PERIOD_TIME: 125000
  12. PERIOD_SIZE: 6000
  13. PERIOD_BYTES: 12000
  14. PERIODS: 4
  15. BUFFER_TIME: 500000
  16. BUFFER_SIZE: 24000
  17. BUFFER_BYTES: 48000
  18. TICK_TIME: 0
复制代码

  1. root@arm-64:~# aplay -l
  2. **** List of PLAYBACK Hardware Devices ****
  3. card 0: G12AU200 [G12A-U200], device 0: fe.dai-link-0 (*) []
  4.   Subdevices: 1/1
  5.   Subdevice #0: subdevice #0
  6. card 0: G12AU200 [G12A-U200], device 1: fe.dai-link-1 (*) []
  7.   Subdevices: 1/1
  8.   Subdevice #0: subdevice #0
  9. card 0: G12AU200 [G12A-U200], device 2: fe.dai-link-2 (*) []
  10.   Subdevices: 1/1
  11.   Subdevice #0: subdevice #0
复制代码


大佬,请问您的声卡认出来的是这个吗?,头大啊
作者: XCray    时间: 2022-8-10 07:43
本帖最后由 XCray 于 2022-8-18 06:34 编辑
lensam 发表于 2022-8-9 22:28
有2+16的cm211增强版的dtb么?也是905l3的

ophub镜像里的dtb自己测试看哪个好用吧,可以先试试u200的,估计这个最有可能好用。这东西没有盒子在手上,不可能知道哪个dtb对你最合适。

作者: XCray    时间: 2022-8-10 07:44
隔壁的王叔叔 发表于 2022-8-9 23:07
大佬,请问您的声卡认出来的是这个吗?,头大啊

是这个,你得先学会指定从哪个通道播放、以及调音量。
作者: XCray    时间: 2022-8-10 07:45
本帖最后由 XCray 于 2022-8-10 08:52 编辑
隔壁的王叔叔 发表于 2022-8-9 21:54
我是装的supervise,但是加载项里好像并没有mpd啊

自己搜搜啊,教程贴一堆堆的。简单说你得先找个有mpd的仓库,或者自己制作镜像。
这是我这儿mpd里显示出来的:
[attach]40147[/attach]

选Built-in那个的话,默认是从hdmi出声,没试过改成3.5插孔,应该用alsamixer设置一下就行

作者: 隔壁的王叔叔    时间: 2022-8-10 11:16
XCray 发表于 2022-8-10 07:45
自己搜搜啊,教程贴一堆堆的。简单说你得先找个有mpd的仓库,或者自己制作镜像。
这是我这儿mpd里显示出来 ...

我可能是胡乱设置alsa或者plusealsa之类的东西,把驱动搞坏了,mpd装好了,音频输出那是Dummy Output
作者: 隔壁的王叔叔    时间: 2022-8-11 09:43
隔壁的王叔叔 发表于 2022-8-10 11:16
我可能是胡乱设置alsa或者plusealsa之类的东西,把驱动搞坏了,mpd装好了,音频输出那是Dummy Output ...

我昨天晚上重装了,现在mpd的界面跟您的是一样的了。
作者: imzlh    时间: 2022-8-17 21:22
求助,蓝牙怎么也弄不好。好像有一个返回参数不对导致芯片型号识别不出来
作者: imzlh    时间: 2022-8-17 21:27
还有请教,我的音频输出好像不正常。已经安装好了桌面了,是150大神的arm-64,但是没有音频输出
作者: XCray    时间: 2022-8-18 06:35
imzlh 发表于 2022-8-17 21:22
求助,蓝牙怎么也弄不好。好像有一个返回参数不对导致芯片型号识别不出来 ...

poweroff、断电、重新加电!

一定不要直接reboot,否则蓝牙肯定认不出来。
作者: XCray    时间: 2022-8-18 06:54
imzlh 发表于 2022-8-17 21:27
还有请教,我的音频输出好像不正常。已经安装好了桌面了,是150大神的arm-64,但是没有音频输出 ...

150的版本属实比较老了,他是先驱,当时也是探索,估计没弄的东西很多。
他的镜像我没用过(用不成),具体也搞不清楚。

建议下载ophub的最新镜像,我用着HDMI直接就能出声(先接好显示器或电视,信号输入切换到盒子),长期用我插了个USB小音箱自带声卡的那种,也是直接就能用。3.5mm我没试过。
作者: imzlh    时间: 2022-8-18 08:36
XCray 发表于 2022-8-18 06:35
poweroff、断电、重新加电!

一定不要直接reboot,否则蓝牙肯定认不出来。 ...

试过很多次了,都是这样。手中是B863AV3.2-M,和M401A完全一样的配置,但是就是不行
作者: XCray    时间: 2022-8-18 09:13
imzlh 发表于 2022-8-18 08:36
试过很多次了,都是这样。手中是B863AV3.2-M,和M401A完全一样的配置,但是就是不行 ...

可能还是系统太老了吧,驱动缺少之类的。试试先modprobe hci_uart加载一下这个模块。不行就换新版的armbian吧
作者: dscao    时间: 2022-8-19 16:48
[attach]40477[/attach]

用这个就能将hdmi的声音在普通音箱上发声了。

这个小盒子做homeassistant及相关服务看来是非常不错呀。

作者: XCray    时间: 2022-8-19 17:52
dscao 发表于 2022-8-19 16:48
用这个就能将hdmi的声音在普通音箱上发声了。

这个小盒子做homeassistant及相关服务看来是非常不错呀。

这就是我说的HDMI音视频分离器吧?几块钱?

我现在用的是一个自带DAC的USB小音箱,好处是一根线电源信号都解决,linux也自带驱动,缺点就是占了一个USB口。
这种hdmi分离器倒是可以把usb口腾出来,就是还得加一个电源吧?然后音箱也需要电源。。。
作者: dscao    时间: 2022-8-19 19:18
XCray 发表于 2022-8-19 17:52
这就是我说的HDMI音视频分离器吧?几块钱?

我现在用的是一个自带DAC的USB小音箱,好处是一根线电源信号 ...

这个叫“hdmi转vga带音频”,几年前弄投影时买的,刚查了一下价格7.5元包邮。不需要加电源,直接插上去就可以了。
音箱一般是带电源的,这个转换后的音频输出与耳机输出孔一样了。
作者: XCray    时间: 2022-8-19 19:46
dscao 发表于 2022-8-19 19:18
这个叫“hdmi转vga带音频”,几年前弄投影时买的,刚查了一下价格7.5元包邮。不需要加电源,直接插上去就 ...

嗯,不错,配电视盒子跑HA,做TTS发声、背景音乐啥的挺合适,价格也够低。
作者: imzlh    时间: 2022-8-21 11:35
蓝牙串口驱动实在是太慢了播放音乐就行卡壳了一样
有办法引出i2c电路或者可以增大波特率吗
作者: XCray    时间: 2022-8-21 12:45
本帖最后由 XCray 于 2022-8-21 12:53 编辑
imzlh 发表于 2022-8-21 11:35
蓝牙串口驱动实在是太慢了播放音乐就行卡壳了一样
有办法引出i2c电路或者可以增大波特率吗 ...

你是实际用过还是只是猜测?用过的话能否把使用过程展开说说?

如果是猜的,那个115200只是初始化波特率,初始化之后的波特率就不是这个了。就像俩人先微信发消息问方便语音/视频不、然后打语音/视频一个道理,两个阶段的数据传输速率是不一样的。

这盒子我没在armbian里用过蓝牙耳机或蓝牙音箱,只是觉得这么低级的问题厂家不可能犯,要不也就不会有uart接口的蓝牙这种东西了。
作者: imzlh    时间: 2022-8-21 13:54
XCray 发表于 2022-8-21 12:45
你是实际用过还是只是猜测?用过的话能否把使用过程展开说说?

如果是猜的,那个115200只是初始化波特率 ...

我是用过的,不知道怎么忽然某一天就可以用了,状态栏蓝色的蓝牙标志出现了(还是用的是150的arm-64桌面)。
试了试连上蓝牙鼠标,很流畅,但是一旦连接音响播放就都不流畅了,看看传输页面只有几十b

                               
登录/注册后可看大图

作者: imzlh    时间: 2022-8-21 14:22
本帖最后由 imzlh 于 2022-8-21 18:04 编辑

这是我在播放时截的图,希望能解决吧
传输速度只有几KB,最多也就10Kb/s,难怪播放音乐卡死。
[attach]40538[/attach]

作者: XCray    时间: 2022-8-21 18:28
imzlh 发表于 2022-8-21 14:22
这是我在播放时截的图,希望能解决吧
传输速度只有几KB,最多也就10Kb/s,难怪播放音乐卡死。

试过在安卓下蓝牙播放音乐吗?如果也不行,那就是uart接口确实不支持这种应用。如果安卓下没问题,那就是驱动解码啥的没弄对了
作者: imzlh    时间: 2022-8-21 19:27
XCray 发表于 2022-8-21 18:28
试过在安卓下蓝牙播放音乐吗?如果也不行,那就是uart接口确实不支持这种应用。如果安卓下没问题,那就是 ...

安卓下十分流畅,连接了无线鼠标,蓝牙遥控器,音响还是这么流畅,我猜可能是安卓用了多个协议的,i2c+高速串口
作者: XCray    时间: 2022-8-21 19:41
本帖最后由 XCray 于 2022-8-22 09:57 编辑
imzlh 发表于 2022-8-21 19:27
安卓下十分流畅,连接了无线鼠标,蓝牙遥控器,音响还是这么流畅,我猜可能是安卓用了多个协议的,i2c+高 ...

i2c和这个应该没啥关系,串口的速率我记得最高也可以到4m,按说连接音响是没有问题的。估计还是linux里的什么地方没设置对,闹不好初始化后波特率没改。
作者: imzlh    时间: 2022-8-22 12:47
device ff803000.serial
state default
type MUX_GROUP (2)
controlling device ff800000.sys-ctrl:pinctrl@14
group uart_ao_a_tx
function uart_ao_a

device ff803000.serial
state default
type CONFIGS_GROUP (4)
controlling device ff800000.sys-ctrl:pinctrl@14
group uart_ao_a_tx
config 00000105

device ff803000.serial
state default
type MUX_GROUP (2)
controlling device ff800000.sys-ctrl:pinctrl@14
group uart_ao_a_rx
function uart_ao_a

device ff803000.serial
state default
type CONFIGS_GROUP (4)
controlling device ff800000.sys-ctrl:pinctrl@14
group uart_ao_a_rx
config 00000105

device ffd24000.serial
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group uart_a_tx
function uart_a

device ffd24000.serial
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group uart_a_rx
function uart_a

device ffd24000.serial
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group uart_a_cts
function uart_a

device ffd24000.serial
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group uart_a_rts
function uart_a

device ffd1c000.i2c
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group i2c3_sda_a
function i2c3

device ffd1c000.i2c
state default
type CONFIGS_GROUP (4)
controlling device ff634400.bus:pinctrl@40
group i2c3_sda_a
config 00000001
config 000bb80a

device ffd1c000.i2c
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group i2c3_sck_a
function i2c3

device ffd1c000.i2c
state default
type CONFIGS_GROUP (4)
controlling device ff634400.bus:pinctrl@40
group i2c3_sck_a
config 00000001
config 000bb80a

device ffd1d000.i2c
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group i2c2_sda_z
function i2c2

device ffd1d000.i2c
state default
type CONFIGS_GROUP (4)
controlling device ff634400.bus:pinctrl@40
group i2c2_sda_z
config 00000001
config 000bb80a

device ffd1d000.i2c
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group i2c2_sck_z
function i2c2

device ffd1d000.i2c
state default
type CONFIGS_GROUP (4)
controlling device ff634400.bus:pinctrl@40
group i2c2_sck_z
config 00000001
config 000bb80a

device ffd1f000.i2c
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group i2c0_sda_z0
function i2c0

device ffd1f000.i2c
state default
type CONFIGS_GROUP (4)
controlling device ff634400.bus:pinctrl@40
group i2c0_sda_z0
config 00000001
config 000bb80a

device ffd1f000.i2c
state default
type MUX_GROUP (2)
controlling device ff634400.bus:pinctrl@40
group i2c0_sck_z1
function i2c0

device ffd1f000.i2c
state default
type CONFIGS_GROUP (4)
controlling device ff634400.bus:pinctrl@40
group i2c0_sck_z1
config 00000001
config 000bb80a
我找到了许多设备,我想问问直接操控gpio与你的dtb引出蓝牙串口有差别吗
作者: XCray    时间: 2022-8-22 13:34
imzlh 发表于 2022-8-22 12:47
device ff803000.serial
state default
type MUX_GROUP (2)

这问题太高深了,直接操控gpio?不知道,没想过,也不知道该咋想…
作者: XCray    时间: 2022-8-22 20:54
本帖最后由 XCray 于 2022-8-22 21:33 编辑
imzlh 发表于 2022-8-21 19:27
安卓下十分流畅,连接了无线鼠标,蓝牙遥控器,音响还是这么流畅,我猜可能是安卓用了多个协议的,i2c+高 ...

我大概知道问题出在哪儿了,但是还想不出该怎么解决。

标准流程是rtk_hciattach读取config和fw然后下载;之前我们碰到的问题是有config就不下载删掉config就可以下载。而这个config里,恰恰就有初始化后要修改的目标波特率,正常情况下是1.5m。

现在删掉config,也就意味着一直是工作中115200的波特率,所以播放音乐肯定不行,能出声但肯定不会流畅。

怀疑是这个版本的rtk_hciattach的问题。也有可能是串口还是没完全弄对,上不了更高的速率。
作者: ludileo    时间: 2022-8-24 17:46
买的盒子还没到,还想跟X大学习一下。
作者: imzlh    时间: 2022-8-25 09:45
本帖最后由 imzlh 于 2022-8-25 12:29 编辑

好消息,解决了!
[attach]40593[/attach]
把这个config放在/lib/firmware/rtlbt/rtl8761b_config,就可以了
[attach]40595[/attach]
作者: XCray    时间: 2022-8-25 11:48
imzlh 发表于 2022-8-25 09:45
好消息,解决了!

把这个config放在/lib/firmware/rtlbt/rtl8761bt_config,就可以了

果然好使!波特率可以到2m了。

说实话我也试过几个config文件,没一个好使的。能问下这是从哪儿找到的吗?还是自己写的?我看realtek的文档倒是有说,只是一直没怀疑找到的config文件也有这种坑,之前一直怀疑串口内核dtb这些了。

还剩下reboot不复位的问题了
作者: imzlh    时间: 2022-8-25 12:27
XCray 发表于 2022-8-25 11:48
果然好使!波特率可以到2m了。

说实话我也试过几个config文件,没一个好使的。能问下这是从哪 ...

额,github里翻来的。这里:https://github.com/Realtek-OpenS ... 2M/rtl8761bt_config
说实话,我现在很好奇为什么安卓reboot蓝牙可以用而armbian不行
作者: XCray    时间: 2022-8-25 13:33
imzlh 发表于 2022-8-25 12:27
额,github里翻来的。这里:https://github.com/Realtek-OpenSource/android_hardware_realtek/blob/rtk1 ...

根据realtek的文档,就是蓝牙芯片上的 EN/RST引脚,需要在重启过程中拉低1秒,这样蓝牙芯片本身才会复位。不然的话,它一直处于激活状态,就不再接受rtk_hciattach传给它的指令了。

这一点我能想通,但是这个引脚连接的是SoC的哪个引脚、在Armbian里怎么把它拉低,这个就难住我了
作者: XCray    时间: 2022-8-25 22:54
本帖最后由 XCray 于 2022-8-26 07:00 编辑
imzlh 发表于 2022-8-25 12:27
额,github里翻来的。这里:https://github.com/Realtek-OpenSource/android_hardware_realtek/blob/rtk1 ...

reboot的问题终于搞定了,不知道薅掉了多少根头发

1. 安装软件包:apt install gpiod

2. /etc/rc.local里在rtk_hciattach前增加两行:
  1. gpioset -s 1 -m time 0 82=0
  2. gpioset 0 82=1
复制代码
也许有更好的办法吧,可惜真正懂的那些大神们都跟死光了一样,没一个说话的,只好自己一通乱搜乱猜乱试,好在终于弄通了,虽然可能不正规,但至少管用。
作者: leonarddo    时间: 2022-8-25 23:43
XCray 发表于 2022-8-25 22:54
reboot的问题终于搞定了,不知道薅掉了多少根头发

1. 安装软件包:apt install gpiod

我去。。好强
作者: 隔壁的王叔叔    时间: 2022-8-26 09:30
XCray 发表于 2022-8-25 22:54
reboot的问题终于搞定了,不知道薅掉了多少根头发

1. 安装软件包:apt install gpiod

大佬,真牛逼。太崇拜了。
1、有技术
2、有分享
作者: XCray    时间: 2022-8-26 09:48
隔壁的王叔叔 发表于 2022-8-26 09:30
大佬,真牛逼。太崇拜了。
1、有技术
2、有分享

嗐!我哪是什么大佬,只是喜欢捣鼓这类东西,也算热心肠。都是网上学来的,顶多有点自己的思考加工整理,又不是自己的发明创造,没必要像那帮子人一样不舍得往外说。

虽然热心肠,但是这论坛里也有人渣看我不顺眼,我都不知道怎么得罪它了。
作者: he_qr    时间: 2022-8-26 10:52
周五一上班就摸鱼更新
作者: imzlh    时间: 2022-8-26 10:57
XCray 发表于 2022-8-25 22:54
reboot的问题终于搞定了,不知道薅掉了多少根头发

1. 安装软件包:apt install gpiod

82号gpio吗?请教大神是怎么得出来的?
作者: XCray    时间: 2022-8-26 11:33
imzlh 发表于 2022-8-26 10:57
82号gpio吗?请教大神是怎么得出来的?

连猜带懵

安卓反编译出来的dts有这么一段:
  1.         bt-dev {
  2.                 compatible = "amlogic, bt-dev";
  3.                 gpio_reset = <0x19 0x53 0x00>;
  4.                 dev_name = "bt-dev";
  5.                 gpio_en = <0x19 0x53 0x00>;
  6.                 status = "okay";
  7.         };
复制代码

其中<0x19>是bank@ff6346c0的phandle,0x53我就猜测是一个引脚编号。
(仿照这个放到armbian的dtb里,没有什么效果。)
然后armbian里用gpioinfo查看,这个bank里有85个引脚,编号0-84,0x53转换成10进制是83,感觉应该是它,于是就各种折腾它,没任何收获。

都快要放弃的时候,忽然注意到之前记录的安卓的/sys/kernel/debug/gpio显示为gpiochip1: GPIOs 410-495,这是86个呀,比armbian里的85多了一个,于是抱着试一下的想法试了试82,果真就是它!

这种坑确实太坑人了!

顺便提一句,我在armbian的dtb里bt-dev那一段改成0x52,还是没有任何作用,不知道为啥。

在rc.local里加这个操作估计不是最优选项,比如重新加电是没必要复位蓝牙电路的。不过这东西重启的次数肯定要超过加电的次数,这么做也属于可以接受。

说不定哪天能碰到一个更好的方法。
作者: 隔壁的王叔叔    时间: 2022-8-26 13:30
XCray 发表于 2022-8-26 09:48
嗐!我哪是什么大佬,只是喜欢捣鼓这类东西,也算热心肠。都是网上学来的,顶多有点自己的思考加工整理, ...

这格局超越了绝大多数人。点赞
我昨天尝试了一下,蓝牙连接上音箱以后,mpd的输出就出现了一次蓝牙音箱,死活出不来了。
作者: 隔壁的王叔叔    时间: 2022-8-26 16:51
dscao 发表于 2022-8-19 19:18
这个叫“hdmi转vga带音频”,几年前弄投影时买的,刚查了一下价格7.5元包邮。不需要加电源,直接插上去就 ...

你好,我在咸鱼上问了几家,商家说一定要接显示器音频才能有输出,请问你这个需要接个vga的显示器吗?还是直接接3.5就可以了?
作者: dscao    时间: 2022-8-26 17:29
本帖最后由 dscao 于 2022-8-26 17:32 编辑
隔壁的王叔叔 发表于 2022-8-26 16:51
你好,我在咸鱼上问了几家,商家说一定要接显示器音频才能有输出,请问你这个需要接个vga的显示器吗?还 ...

我直接这样用完全可以,试过几次了。没接显示器,直接接音频线至音箱。
[attach]40635[/attach]

作者: 隔壁的王叔叔    时间: 2022-8-26 18:45
dscao 发表于 2022-8-26 17:29
我直接这样用完全可以,试过几次了。没接显示器,直接接音频线至音箱。

...

好的,感谢大佬答疑解惑,抄作业。
作者: he_qr    时间: 2022-8-26 23:22
本帖最后由 he_qr 于 2022-8-26 23:23 编辑

今天到货一个401,折腾了半天没搞定,换了一个思路,把一个闲置的usb蓝牙模块插上,装上驱动正常使用,重启也没问题,就是成本上升了一点
作者: XCray    时间: 2022-8-27 08:17
he_qr 发表于 2022-8-26 23:22
今天到货一个401,折腾了半天没搞定,换了一个思路,把一个闲置的usb蓝牙模块插上,装上驱动正常使用,重启 ...

比蓝牙模块更重要的是牺牲了一个USB口。

想解决的话,尽量把问题说清楚些,不想折腾的话就算了
作者: imzlh    时间: 2022-8-27 09:34
我本来也是这样插usb蓝牙模块,现在连上了蓝牙鼠标蓝牙键盘蓝牙音响直接省下了一个usbhub
顺便问一下反编译的安卓dtb可以给我吗,我也想学习一下
作者: XCray    时间: 2022-8-27 09:59
imzlh 发表于 2022-8-27 09:34
我本来也是这样插usb蓝牙模块,现在连上了蓝牙鼠标蓝牙键盘蓝牙音响直接省下了一个usbhub
顺便问一下反编 ...

既然有兴趣,拿走不谢有啥心得收获别忘了分享一下就好
[attach]40653[/attach]


作者: imzlh    时间: 2022-8-27 18:17
本帖最后由 imzlh 于 2022-8-27 18:23 编辑

奇怪的事情发生了,我从dts发现了gpio11控制红色led,但是当我尝试控制gpio12时系统变得奇慢无比,严重卡顿过了会就正常了,还有我发现这个盒子绿灯是长亮的,无法控制。
难道gpio12有特殊作用?

作者: XCray    时间: 2022-8-27 19:35
本帖最后由 XCray 于 2022-8-27 22:36 编辑
imzlh 发表于 2022-8-27 18:17
奇怪的事情发生了,我从dts发现了gpio11控制红色led,但是当我尝试控制gpio12时系统变得奇慢无比,严重卡顿 ...

led控制我也还没整明白呢

不过可以确信的是目前e900v22c的dtb中gpio引脚用的也不对,或者说只有一个是对的(对m401a/cm311-1a来说,其它盒子不论)。

另外,在dtb里定义过的gpio就不能在命令行操作了,提示忙,连get都不行。

如果dtb里没定义,倒是可以操控,我发现操控11号可以为红、绿高亮、绿低亮。其它没啥反应。

还有,在安卓系统开始启动的时候,对遥控器操作有反应,绿灯闪灭,但安卓启动好了之后就对遥控器没反应了(led没反应,系统反应正常)。

led对网络是一点反应没有。
作者: imzlh    时间: 2022-8-27 21:44
本帖最后由 imzlh 于 2022-8-27 21:49 编辑
XCray 发表于 2022-8-27 19:35
led控制我也还没整明白呢

不过可以确信的是目前e900v22c的dtb中gpio引脚用的也不对,或者说只有一个是 ...

10号GPIO我没有反应,大概B863与401a不一样吧
另外,我知道为什么瞬间卡死了[attach]40682[/attach]
:)不知道,但是我有个想法
利用指示灯再创建一个blink后台进程,直观检测系统是否卡死:

#!/bin/sh
if ([ `whoami` != 'root' ]);then
        echo 'Please run with "sudo" please'
        exit 1
fi
if ([ -z $1 ]); then
        nohup sh $0 bg_task &
        exit
fi
while(true) do
        gpioset 1 11=1
        sleep 1
        gpioset 1 11=0
        sleep 1
done

论坛真奇怪,输入的代码自动加上奇怪的HTML标签还显示了出来

作者: XCray    时间: 2022-8-27 22:36
本帖最后由 XCray 于 2022-8-28 06:29 编辑
imzlh 发表于 2022-8-27 21:44
10号GPIO我没有反应,大概B863与401a不一样吧
另外,我知道为什么瞬间卡死了
:)不知道,但是我有个想法

刚看了下bash历史,我记错了,我昨天试验有反应的是11号不是10号。

越整越复杂了,怎么还牵涉到pll?我只知道它叫锁相环,其他就啥也不懂了

你这段代码也没太看明白,尤其是第二个if那一节。。。
后面的sleep可以融入gpioset?

你用的是u200的dtb对吧?


作者: liantianji    时间: 2022-8-28 09:26
XCray 发表于 2022-8-25 22:54
reboot的问题终于搞定了,不知道薅掉了多少根头发

1. 安装软件包:apt install gpiod

m401a救砖后开机后变成红灯,用gpioset 可以改成绿灯吗?
作者: liantianji    时间: 2022-8-28 09:32
liantianji 发表于 2022-8-28 09:26
m401a救砖后开机后变成红灯,用gpioset 可以改成绿灯吗?

搞定了,/etc/rc.local中增加
gpioset 1 11=0


作者: imzlh    时间: 2022-8-28 20:46
XCray 发表于 2022-8-27 22:36
刚看了下bash历史,我记错了,我昨天试验有反应的是11号不是10号。

越整越复杂了,怎么还牵涉到pll?我只 ...

嗯...是的,gpioset我应该多去学一下。
第二个if判断是否有第二个参数,只要不是空就判断为阻塞运行,否则用nohup和&实现后台运行
现在ophub的armbian更新了,kernel都5.15.62了,死活启动不了啊之前都可以直接写bootloader开机,现在直接砖头
电脑刚重置就悲剧了...不知道大神还有没有旧版5.15.55的armbian
作者: XCray    时间: 2022-8-28 21:01
imzlh 发表于 2022-8-28 20:46
嗯...是的,gpioset我应该多去学一下。
第二个if判断是否有第二个参数,只要不是空就判断为阻塞运行,否 ...

应该不是版本差异的问题,而是不小心写错了bootloader。你是怎么操作的?

5.15.55我也没保留
作者: 839108722benben    时间: 2022-8-29 01:55
XCray 发表于 2022-8-26 11:33
连猜带懵

安卓反编译出来的dts有这么一段:

大佬厉害,可否加个Q,有个好想法酝酿了很久,我一直没有实现。
作者: XCray    时间: 2022-8-29 06:30
839108722benben 发表于 2022-8-29 01:55
大佬厉害,可否加个Q,有个好想法酝酿了很久,我一直没有实现。

几年没用过q了

要不先发帖或者私信说说?
作者: imzlh    时间: 2022-8-29 09:22
XCray 发表于 2022-8-28 21:01
应该不是版本差异的问题,而是不小心写错了bootloader。你是怎么操作的?

5.15.55我也没保留 ...

我以前都是不用修改系统,直接可以写bootloader并且正常启动。
现在。。。armbian-install选择的是403,不知道怎么回事,重启后电视机反复出现1080p 60hz,无法启动,变成砖头。之后再次尝试就只能出现安卓recovery了,死活引导不了。
改天焊出ttl看看吧,怀疑是内核升级的问题
作者: 839108722benben    时间: 2022-8-29 09:24
XCray 发表于 2022-8-29 06:30
几年没用过q了

要不先发帖或者私信说说?

想再增加一路uart,目前已知的:
TF卡槽里有一路UART,功能同板载的串口,安卓可以正常跑码进系统,进linux系统无此串口。目前的想法:找到这一路的引脚号,将这一路uart定义出来。
如果这个搞不定,HDMI接口里还有一路i2c,有个帖子介绍了i2c用作uart的方法,大佬参考一下。https://forum.odroid.com/viewtopic.php?f=139&t=25371
这两路uart能搞出来1个就很完美了,我的想法是把tf卡或者HDMI那一路用作debug,板载的那一路可以用来接其他设备。
作者: XCray    时间: 2022-8-29 09:46
imzlh 发表于 2022-8-29 09:22
我以前都是不用修改系统,直接可以写bootloader并且正常启动。
现在。。。armbian-install选择的是403, ...

你是啥盒子?为什么选403呢?403是Beelink GT-King Pro H、s922x的芯片,并且有bootloader。你如果啥都不改选这个肯定会写bootloader。
作者: XCray    时间: 2022-8-29 09:56
839108722benben 发表于 2022-8-29 09:24
想再增加一路uart,目前已知的:
TF卡槽里有一路UART,功能同板载的串口,安卓可以正常跑码进系统,进lin ...

软件定义很简单,修改dtb把状态改成okay就行了。找到引脚焊出来就不是一般人能干的了,我自问没这个能力。

我手上的两个盒子都没有TF卡槽,想象不出从TF卡槽引出串口线是个什么操作,不会影响TF插槽本身的功能吗?

hdmi那个好像难度也不小,主要是改硬件比较吃动手能力。
如果不用debug功能,倒是可以直接把那个串口腾出来用。

作者: 839108722benben    时间: 2022-8-29 10:55
XCray 发表于 2022-8-29 09:56
软件定义很简单,修改dtb把状态改成okay就行了。找到引脚焊出来就不是一般人能干的了,我自问没这个能力。 ...

硬件好弄,不用焊接,我画了转接板,tf和HDMI都有引出,插上就行。
TF那一路有两个引脚是复用的,不影响TF卡功能。
作者: XCray    时间: 2022-8-29 11:12
839108722benben 发表于 2022-8-29 10:55
硬件好弄,不用焊接,我画了转接板,tf和HDMI都有引出,插上就行。
TF那一路有两个引脚是复用的,不影响T ...

我对“复用”的理解是这么用也行那么用也行,但不能既这么用同时又那么用。
作者: 839108722benben    时间: 2022-8-29 14:14
XCray 发表于 2022-8-29 11:12
我对“复用”的理解是这么用也行那么用也行,但不能既这么用同时又那么用。 ...

对,肯定不能同时用,用这一路uart的话就把tf卡功能砍掉也行,反正也没啥大用。
作者: 839108722benben    时间: 2022-8-29 15:04
XCray 发表于 2022-8-29 11:12
我对“复用”的理解是这么用也行那么用也行,但不能既这么用同时又那么用。 ...

又仔细看了一下安卓的dts,tf卡的d2和d3数据脚定义的是uart,也就是说这两个脚不参与tf卡的功能,tf卡起作用的数据脚只有d0和d1。ao_to_sd_uart_pins {
                        phandle = <0x46>;

                        mux {
                                input-enable;
                                groups = "uart_ao_tx_a_c3\0uart_ao_rx_a_c2";
                                bias-pull-up;
                                function = "uart_ao_a_ee";


作者: XCray    时间: 2022-8-29 16:08
839108722benben 发表于 2022-8-29 15:04
又仔细看了一下安卓的dts,tf卡的d2和d3数据脚定义的是uart,也就是说这两个脚不参与tf卡的功能,tf卡起 ...

4根数据线应该比2根速率更快,好像一个是sd模式、一个是spi模式,具体我也不懂。

这样的话你就直接试呗,dtb里把tf接口这个uart打开、启动命令行里把debug指到这个接口上,原来那个debug口应该就可以改作他用了。
作者: 839108722benben    时间: 2022-8-29 17:24
XCray 发表于 2022-8-29 16:08
4根数据线应该比2根速率更快,好像一个是sd模式、一个是spi模式,具体我也不懂。

这样的话你就直接试呗 ...

问题就在这儿,linux里是定义了4根线,压根没有这个串口,这是个从0到1的过程,哈哈。自己添加uart的话,那一堆参数也不知道咋设置。
作者: XCray    时间: 2022-8-29 19:34
839108722benben 发表于 2022-8-29 17:24
问题就在这儿,linux里是定义了4根线,压根没有这个串口,这是个从0到1的过程,哈哈。自己添加uart的话, ...

debug非得要有吗?可以不要debug,直接把原来debug用的那个串口拿出来用就行了。
在uEnv.txt里修改,把“console=ttyAML0,115200n8”删掉就行了。




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5