ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
5.92k stars 1.9k forks source link

两种方法彻底解决启动后网不通必须拔插网线的问题:NM以及改进版dtb(e900v22x系可用CM311推荐,另添加蓝牙支持) #557

Closed xcray closed 2 years ago

xcray commented 2 years ago

cm311尝试manjaro,发现也有开机后能认到网卡、但是网不通,dhcp无法获取ip地址即使设置了静态ip也不通、必须拔插网线才行的问题。

在高级网络配置里,把链路协商由自动改为手动,100M全双工。问题解决。

-- 搞明白了,manjaro默认使用的是NetworkManager,修改保存在/etc/NetworkManager/system-connections/eth0.nmconnection里,如果是自动协商,那么[ethernet]这一段的内容就是: auto-negotiate=true 如果指定100m全双工,这一段的内容就成了: duplex=full speed=100

在armbian里面也可以同样办理! 如果使用NetworkManager的话,可以参照上内容修改。此方法可以解决所有型号的开机网不通需拔插网线的问题。

不过对于cm311还有一个更靠近根源的方法是改进dtb(顺便添加蓝牙支持)。——翻到最后,o大已经发出了修改版dtb,经测试确实有效!但网卡问题技术上还存有疑问。

另实测我手上的m401a盒子用不了这个dtb(用e900v22c的overload uboot无法发现网卡、不用overload uboot的话无法加载网卡反复报错),只能用NM方法解决网卡问题。

更彻底的方法就是搞明白自动协商出问题的深层原因、重新修改编译内核之类的了。

再次感谢o大!


补充: 关于蓝牙,这个dtb的作用就是打开原来被禁用的串口uart_A(蓝牙电路连接的就是这个串口),然后就可以用我编译的rtk_hciattach启用蓝牙了。M401a等蓝牙为串口界面的盒子都可以用这个方法(必须修改dtb启用串口)。

详见我另外一个帖子(或者论坛帖子)。 https://github.com/ophub/amlogic-s9xxx-armbian/issues/471 https://bbs.hassbian.com/thread-17392-1-1.html

ysuolmai commented 2 years ago

大佬,怎么装manjaro到盒子里。。。

xcray commented 2 years ago

大佬,怎么装manjaro到盒子里。。。

和armbian基本一样。u盘boot分区有个install-aml-emmc.sh脚本,用bash运行它就行。 事先根据自己的盒子调整分区布局,比如cm311-1a(参考 https://github.com/ophub/amlogic-s9xxx-armbian/issues/517 ): `echo "Start create MBR and partittion"

parted -s "${DEV_EMMC}" mklabel msdos parted -s "${DEV_EMMC}" mkpart primary fat32 100MiB 1140MiB parted -s "${DEV_EMMC}" mkpart primary ext4 1390MiB 100%`

cmxjs commented 2 years ago

我在 /etc/rc.local 中加入 ethtool -s eth0 speed 100 duplex full autoneg off. 重启过几次机器,都能正常获取IP。

xcray commented 2 years ago

嗯,估计启动过程还能加快一点点,毕竟链路协商也要耗时间,哪儿没弄对(怀疑dtb)失败的话耗时会更长。

ysuolmai commented 2 years ago

我在 /etc/rc.local 中加入 ethtool -s eth0 speed 100 duplex full autoneg off. 重启过几次机器,都能正常获取IP。

测试了一下,没效果

a520ass commented 2 years ago

试试ethtool -r eth0

yuan6975 commented 2 years ago

我是openwrt 启动项最下面添加这个 因为我用显示器试过 有概率不识别网卡的时日志里面网卡 ip都是有的 然后插键盘执行重启网络接口就好了

sleep 20 /etc/init.d/network restart

cmxjs commented 2 years ago

我在 /etc/rc.local 中加入 ethtool -s eth0 speed 100 duplex full autoneg off. 重启过几次机器,都能正常获取IP。

连续两天在运行过程中断网了,看来这个命令也不行

xmengnet commented 2 years ago

请问一下,有没有刷manjaro的教程?想研究一下!

xcray commented 2 years ago

我在 /etc/rc.local 中加入 ethtool -s eth0 speed 100 duplex full autoneg off. 重启过几次机器,都能正常获取IP。

连续两天在运行过程中断网了,看来这个命令也不行

运行过程中断网应该是另外一个问题。

回到本题,启动拿不到IP的问题,命令加到rc.local可能不如加到/etc/network/interfaces里更好,rc.local执行比较晚: iface eth0 inet static pre-up /usr/sbin/ethtool -s eth0 autoneg off speed 100 duplex full

xcray commented 2 years ago

请问一下,有没有刷manjaro的教程?想研究一下!

上面说过了呀,很简单,都用不到教程两个字

xmengnet commented 2 years ago

大佬,怎么装manjaro到盒子里。。。

和armbian基本一样。u盘boot分区有个install-aml-emmc.sh脚本,用bash运行它就行。 事先根据自己的盒子调整分区布局,比如cm311-1a(参考 #517 ): `echo "Start create MBR and partittion"

parted -s "${DEV_EMMC}" mklabel msdos parted -s "${DEV_EMMC}" mkpart primary fat32 100MiB 1140MiB parted -s "${DEV_EMMC}" mkpart primary ext4 1390MiB 100%`

你这个install-aml-emmc.sh是哪来的?镜像里也没有啊

xmengnet commented 2 years ago

大佬,怎么装manjaro到盒子里。。。

和armbian基本一样。u盘boot分区有个install-aml-emmc.sh脚本,用bash运行它就行。 事先根据自己的盒子调整分区布局,比如cm311-1a(参考 #517 ): echo "Start create MBR and partittion" parted -s "${DEV_EMMC}" mklabel msdos parted -s "${DEV_EMMC}" mkpart primary fat32 100MiB 1140MiB parted -s "${DEV_EMMC}" mkpart primary ext4 1390MiB 100%

你这个install-aml-emmc.sh是哪来的?镜像里也没有啊

好吧,我知道了,你说的是manjaro里的,我还以为是armbian里,我在研究安装archlinux arm,还以为你说的这个脚本是armbian的boot里的。

xcray commented 2 years ago

你这个install-aml-emmc.sh是哪来的?镜像里也没有啊

好吧,我知道了,你说的是manjaro里的,我还以为是armbian里,我在研究安装archlinux arm,还以为你说的这个脚本是armbian的boot里的。

拿armbian镜像刷manjaro??怎么会有如此奇怪的想法?

xcray commented 2 years ago

开机网络不通(系统认网卡但拿不到IP地址)的可能原因:

  1. 自动协商问题,SoC内建了1000M MAC 和 100M PHY,导致系统总以为可以协商出千兆速度。。。通过修改dtb或内核也许可以根治。
  2. 系统安装了NetworkManager,和network配置冲突或者设置错误;

o大好像不喜欢open的issue?经常看到没讨论出所以然呢就给关了。。。

xmengnet commented 2 years ago

你这个install-aml-emmc.sh是哪来的?镜像里也没有啊

好吧,我知道了,你说的是manjaro里的,我还以为是armbian里,我在研究安装archlinux arm,还以为你说的这个脚本是armbian的boot里的。

拿armbian镜像刷manjaro??怎么会有如此奇怪的想法?

这也没什么不行的,只要能引导进系统其他随便刷,用armbian启动刷arch也可以

ophub commented 2 years ago

meson-g12a-s905l3a-e900v22c-100m.dtb.zip

100MB网卡写死速度版 解压放在/boot/dtb/amlogic目录里 编辑/boot/uEnv.txt里的dtb名字 保存重启试试

ysuolmai commented 2 years ago

meson-g12a-s905l3a-e900v22c-100m.dtb.zip

试了几次,貌似可以

ysuolmai commented 2 years ago

感谢两位大佬 @xcray @ophub , 重启10遍了,没问题

xcray commented 2 years ago

这也没什么不行的,只要能引导进系统其他随便刷,用armbian启动刷arch也可以

嗯,看出来了,你是高手

xcray commented 2 years ago

meson-g12a-s905l3a-e900v22c-100m.dtb.zip

100MB网卡写死速度版 解压放在/boot/dtb/amlogic目录里 编辑/boot/uEnv.txt里的dtb名字 保存重启试试

老大辛苦!能传授一下咋改的么?

ophub commented 2 years ago

meson-g12a-s905l3a-e900v22c-100m.dts.zip

Snip20220916_1

测试了真的可以了?按道理讲g12a默认就已经限制了100m了,应该不用再强调一次了。

ysuolmai commented 2 years ago

meson-g12a-s905l3a-e900v22c-100m.dts.zip

Snip20220916_1

测试了真的可以了?按道理讲g12a默认就已经限制了100m了,应该不用再强调一次了。

用的你的914 jammy版,CM311-1A完全没问题了。

放到了824 bullseye上,本来没问题的,就拿不到IP了哈哈哈。

yuan6975 commented 2 years ago

断电重启容易出现网卡问题 reboot出现的概率不高 可以多试试断电

ophub commented 2 years ago

https://github.com/ophub/amlogic-s9xxx-armbian/issues/471#issuecomment-1207820317

meson-g12a-s905l3a-e900v22c-100m.dtb.zip

你试试这个dtb,我翻看了下你上次发的蓝牙的帖子,加了以上代码。但是我没看懂你config那个文件的表述,主贴说要删除,盖楼时说替换,最终是怎么弄的呢?

xcray commented 2 years ago

#471 (comment)

meson-g12a-s905l3a-e900v22c-100m.dtb.zip

你试试这个dtb,我翻看了下你上次发的蓝牙的帖子,加了以上代码。但是我没看懂你config那个文件的表述,主贴说要删除,盖楼时说替换,最终是怎么弄的呢?

蓝牙config那个开始认识不足,当时用的config速率是1.5m的加载不了,删掉后可以用起来,不过速率是死的115200;后来闹明白了,2m/4m速率的config文件也可以正常工作(也有问题就是ha长期使用不行)。

最后的结论:如果ha不用而且有听音乐的需求就用2m的版本、如果ha要用就用115200/230400的版本。


我翻了一下dtb的源码,internal_ephy原始出处也是在meson-g12-common.dtsi里,1699行,不过里面确实已经有max-speed = <100>;了,难道这还不是有效解决方案?

ophub commented 2 years ago

meson-g12a-s905l3a-cm311.dtb.zip

测试下这个文件,记得改/boot/uEnv.txt里dtb的名字cm311,测试下你之前蓝牙的情况。config文件按照你之前的办法处理。

2m的是这个下载文件? https://github.com/Realtek-OpenSource/android_hardware_realtek/blob/rtk1395/bt/rtkbt/Firmware/TV/UART_2M/rtl8761bt_config

放在这个路径? /lib/firmware/rtlbt/rtl8761b_config

xcray commented 2 years ago

meson-g12a-s905l3a-cm311.dtb.zip

测试下这个文件,记得改/boot/uEnv.txt里dtb的名字cm311,测试下你之前蓝牙的情况。config文件按照你之前的办法处理。

2m的是这个下载文件? https://github.com/Realtek-OpenSource/android_hardware_realtek/blob/rtk1395/bt/rtkbt/Firmware/TV/UART_2M/rtl8761bt_config

放在这个路径? /lib/firmware/rtlbt/rtl8761b_config

对,关于config的叙述没问题。


dtb我试了,之前的那个,确实管用!但道理上确实说不通啊?之前的源码里已经有max-speed = <100>;了,难道再声明一次有不同的效果?

不过我是在manjaro里试的(盒子被我刷成manjaro了),打开自动协商,老dtb就连不上网,新dtb就没问题(不是概率性的,而是100%)。为了确认我还反复测试了几次。

ophub commented 2 years ago

没细细的趴代码,可能这个限制被后面多次继承的某个属性覆盖了?

最终dts文件里的值,会覆盖层层引入文件中的对应属性,所以这个文件里的是最终结果。

你拿USB测试下armbian里使用meson-g12a-s905l3a-cm311.dtb这个文件,如果可以使用,网卡,蓝牙都正常的话,我把源码提交到f大内核仓库里,以后你可以接着在这个上面测试添加更多功能。 因为没有千兆的,所以也不加100m了,为了不和e900v22c混淆,独立命名一个文件

ophub commented 2 years ago

对,关于config的叙述没问题。

那我一会下载这个config放在固件里默认带着。

xcray commented 2 years ago

没细细的趴代码,可能这个限制被后面多次继承的某个属性覆盖了?

最终dts文件里的值,会覆盖层层引入文件中的对应属性,所以这个文件里的是最终结果。

你拿USB测试下armbian里使用meson-g12a-s905l3a-cm311.dtb这个文件,如果可以使用,网卡,蓝牙都正常的话,我把源码提交到f大内核仓库里,以后你可以接着在这个上面测试添加更多功能。 因为没有千兆的,所以也不加100m了,为了不和e900v22c混淆,独立命名一个文件

U盘测试过了,蓝牙和网络都没问题!丝般顺滑。。。

ophub commented 2 years ago

meson-g12a-s905l3a-cm311.dts.zip

15-17 74-79 164-166

这几行是在e900v22c的文件里新添加的。理论上引入e900v22c使用时,文件只需要保留这几行就可以了,考虑到这个系列盒子有差异,就把它之前的代码也完整保留吧,这样方便你修改其中的参数。

以后armbian-install305选项默认使用这个dtb

xcray commented 2 years ago

感谢o大,一个存在时间很久的老问题,终于解决了。 翻看之前的issue,好像有这个现象的机型还不少,估计原因也一样。 终于可以关了~

ysuolmai commented 2 years ago

@xcray 大佬可以说下怎么解决蓝牙问题么。。。不好意思,看不懂你另外那个帖子 T___T

xcray commented 2 years ago

@xcray 大佬可以说下怎么解决蓝牙问题么。。。不好意思,看不懂你另外那个帖子 T___T

去论坛里看吧,已经说的不能再详细了

Yxini commented 2 years ago

意思是下个版本就解决311的蓝牙和网络问题吗

ophub commented 2 years ago

你直接把这2个文件安装到你现在的系统就可以使用了。

rtl8761bt_config.zip

meson-g12a-s905l3a-cm311.dtb.zip

这2个文件下载,解压。 rtl8761b_config上传到这: /lib/firmware/rtlbt/rtl8761b_config meson-g12a-s905l3a-cm311.dtb上传到这: /boot/dtb/amlogic/meson-g12a-s905l3a-cm311.dtb

修改/boot/uEnv.txt把里面dtb的名字改成meson-g12a-s905l3a-cm311.dtb 保存,重启即可。

xcray commented 2 years ago

没细细的趴代码,可能这个限制被后面多次继承的某个属性覆盖了?

最终dts文件里的值,会覆盖层层引入文件中的对应属性,所以这个文件里的是最终结果。

你拿USB测试下armbian里使用meson-g12a-s905l3a-cm311.dtb这个文件,如果可以使用,网卡,蓝牙都正常的话,我把源码提交到f大内核仓库里,以后你可以接着在这个上面测试添加更多功能。 因为没有千兆的,所以也不加100m了,为了不和e900v22c混淆,独立命名一个文件

我特意把新版和旧版dtb反编译成dts对比了一下,这个条目没有区别: mdio@1 {ethernet_phy@8 {max-speed = <0x64>; };};}; 这就搞不懂了。。。旧版的也确实是100m,新版的实测确实好用了,但就是找不出任何区别! 哪个环节出错了呢?

FallenDawn commented 2 years ago

m401a 用了meson-g12a-s905l3a-cm311.dtb.zip这个dtb 开机还是end Kernel panic

xcray commented 2 years ago

m401a 用了meson-g12a-s905l3a-cm311.dtb.zip这个dtb 开机还是end Kernel panic

kernel panic是另外一个问题,简单说就是dtb选的不对,和你的硬件不匹配。你之前用的是哪个dtb?你用了“还是”,那么也就是说你之前用的dtb也出这个错?

这次o大的改动只涉及串口和网卡,如果你之前用e900v22c.dtb有kernel panic,那么用这个肯定还会有,没有就没天理了。

顺便说一句,我手上的m401a盒子就用不了e900v22c的dtb,只能用u200的以及在u200基础上增加内存至2G、添加串口的修改版。

ysuolmai commented 2 years ago

m401a 用了meson-g12a-s905l3a-cm311.dtb.zip这个dtb 开机还是end Kernel panic

kernel panic是另外一个问题,简单说就是dtb选的不对,和你的硬件不匹配。你之前用的是哪个dtb?你用了“还是”,那么也就是说你之前用的dtb也出这个错?

这次o大的改动只涉及串口和网卡,如果你之前用e900v22c.dtb有kernel panic,那么用这个肯定还会有,没有就没天理了。

顺便说一句,我手上的m401a盒子就用不了e900v22c的dtb,只能用u200的以及在u200基础上增加内存至2G、添加串口的修改版。

大佬能否分享下你修改过的dtb?

xcray commented 2 years ago

m401a 用了meson-g12a-s905l3a-cm311.dtb.zip这个dtb 开机还是end Kernel panic

kernel panic是另外一个问题,简单说就是dtb选的不对,和你的硬件不匹配。你之前用的是哪个dtb?你用了“还是”,那么也就是说你之前用的dtb也出这个错? 这次o大的改动只涉及串口和网卡,如果你之前用e900v22c.dtb有kernel panic,那么用这个肯定还会有,没有就没天理了。 顺便说一句,我手上的m401a盒子就用不了e900v22c的dtb,只能用u200的以及在u200基础上增加内存至2G、添加串口的修改版。

大佬能否分享下你修改过的dtb?

我仓库里有

acooler15 commented 2 years ago
Realtek Bluetooth :Realtek Bluetooth init uart with init speed:115200, type:HCI UART H5
Realtek Bluetooth :Realtek hciattach version 3.1.8bea77d.20220330-143428 

Realtek Bluetooth :Use epoll
Realtek Bluetooth :[SYNC] Get SYNC Resp Pkt
Realtek Bluetooth :[CONFIG] Get SYNC pkt
Realtek Bluetooth :[CONFIG] Get SYNC pkt
Realtek Bluetooth :[CONFIG] Get CONFG pkt
Realtek Bluetooth WARN: OP_H5_CONFIG Transmission timeout
Realtek Bluetooth :[CONFIG] Get CONFG resp pkt
Realtek Bluetooth :dic is 1, cfg field 0x14
Realtek Bluetooth :H5 init finished

Realtek Bluetooth :Realtek H5 IC
Realtek Bluetooth :Receive cmd complete event of command: 1001
Realtek Bluetooth :HCI Version 0x0a
Realtek Bluetooth :HCI Revision 0x000b
Realtek Bluetooth :LMP Subversion 0x8761
Realtek Bluetooth :Receive cmd complete event of command: fc6d
Realtek Bluetooth :Read ROM version 01
Realtek Bluetooth :LMP Subversion 0x8761
Realtek Bluetooth :EVersion 1
Realtek Bluetooth :Receive cmd complete event of command: fc61
Realtek Bluetooth :Read chip type 00
Realtek Bluetooth :Read chip ver 00
Realtek Bluetooth :IC: RTL8761BTV
Realtek Bluetooth :Firmware/config: rtl8761b_fw, rtl8761b_config
Realtek Bluetooth :Couldnt open extra config /opt/rtk_btconfig.txt, No such file or directory
Realtek Bluetooth :Couldnt access customer BT MAC file /opt/bdaddr
Realtek Bluetooth :Origin cfg len 62
Realtek Bluetooth :55 ab 23 87 38 00 be 01 02 1a 19 bb 01 01 3d c0
Realtek Bluetooth :01 04 10 00 60 01 00 10 0b 00 ff 04 5d 00 03 00
Realtek Bluetooth :ff ff ff ff 40 10 0b 28 08 30 30 00 ff ff ff ff
Realtek Bluetooth :ff ff c4 01 01 01 e4 00 01 08 7a 00 01 37
Realtek Bluetooth :Vendor baud from Config file: 00000000
Realtek Bluetooth :New cfg len 62
Realtek Bluetooth :55 ab 23 87 38 00 be 01 02 1a 19 bb 01 01 3d c0
Realtek Bluetooth :01 04 10 00 60 01 00 10 0b 00 ff 04 5d 00 03 00
Realtek Bluetooth :ff ff ff ff 40 10 0b 28 08 30 30 00 ff ff ff ff
Realtek Bluetooth :ff ff c4 01 01 01 e4 00 01 08 7a 00 01 37
Realtek Bluetooth :Load FW /lib/firmware/rtlbt/rtl8761b_fw OK, size 32988
Realtek Bluetooth :rtb_get_fw_project_id: opcode 0, len 1, data 14
Realtek Bluetooth :FW version 0x197be929, Patch num 2
Realtek Bluetooth :Chip id 0x0001
Realtek Bluetooth :Chip id 0x0002
Realtek Bluetooth :Patch length 0x4914
Realtek Bluetooth :Start offset 0x00003780
Realtek Bluetooth :Svn version:    21127
Realtek Bluetooth :Coexistence: BTCOEX_20181116-0606

Realtek Bluetooth :FW  exists, Config file  exists
Realtek Bluetooth :Total len 18770 for fwc
Realtek Bluetooth :No baud from Config file, set baudrate: 115200, 0x0252c014
Realtek Bluetooth :end_idx: 74, lp_len: 122, additional pkts: 1

Realtek Bluetooth :Start downloading...
Realtek Bluetooth :Last packet 203
Realtek Bluetooth :Send last pkt
Realtek Bluetooth :Disable host hw flow control
Realtek Bluetooth WARN: Patch pkt trans timeout, re-trans
Realtek Bluetooth WARN: Patch pkt trans timeout, re-trans
Realtek Bluetooth WARN: Patch pkt trans timeout, re-trans
Realtek Bluetooth WARN: Patch pkt trans timeout, re-trans
Realtek Bluetooth ERROR: h5_download_patch: Retransmission exhausts

这错误😢,有大佬见过么?

acooler15 commented 2 years ago

我的M401a用meson-g12a-s905l3a-cm311.dtb没问题,U盘装的系统

m401a 用了meson-g12a-s905l3a-cm311.dtb.zip这个dtb 开机还是end Kernel panic

xcray commented 2 years ago

我的M401a用meson-g12a-s905l3a-cm311.dtb没问题,U盘装的系统

m401a 用了meson-g12a-s905l3a-cm311.dtb.zip这个dtb 开机还是end Kernel panic

我的M401a也是用不了这个dtb,只能用NetworkManager指定100m全双工的方法解决。

xcray commented 2 years ago

@acooler15 你用的这个config文件显然有问题,这一行:Vendor baud from Config file: 00000000,以及No baud from Config file。

换我推荐的115200/230400或者2m版本试试: https://bbs.hassbian.com/thread-17392-1-1.html

另外fw文件也可以换换,我用的是radxa源码包带的版本,41328字节,似乎更新一点。

acooler15 commented 2 years ago

@acooler15 你用的这个config文件显然有问题,这一行:Vendor baud from Config file: 00000000,以及No baud from Config file。

换我推荐的115200/230400或者2m版本试试: https://bbs.hassbian.com/thread-17392-1-1.html

另外fw文件也可以换换,我用的是radxa源码包带的版本,41328字节,似乎更新一点。

可以了,感谢。我应该是config和fw都有问题。😂

uvtofu commented 2 years ago

你直接把这2个文件安装到你现在的系统就可以使用了。

rtl8761bt_config.zip

meson-g12a-s905l3a-cm311.dtb.zip

这2个文件下载,解压。 rtl8761b_config上传到这: /lib/firmware/rtlbt/rtl8761b_config meson-g12a-s905l3a-cm311.dtb上传到这: /boot/dtb/amlogic/meson-g12a-s905l3a-cm311.dtb

修改/boot/uEnv.txt把里面dtb的名字改成meson-g12a-s905l3a-cm311.dtb 保存,重启即可。

魔百和CM311系列规格比较

感谢ophub, xcray和其他各位在这里的辛勤工作。 关于文件"meson-g12a-s905l3a-cm311.dtb"的适用范围,请教: 这个文件是否仅适用于一个机型:CM311-1A YST,或者也包括CM311-1SA ZG?

我根据读贴整理该款各型的配置(粗浅且不保真),希望对各位的开发或选购有少许帮助: 厂商代码:CH=长虹,YST=易视腾,ZG=朝歌

资料出处

更新 2022-09-29

xcray commented 2 years ago

感谢ophub, xcray和其他各位在这里的辛勤工作。 关于文件"meson-g12a-s905l3a-cm311.dtb"的适用范围,请教: 这个文件是否仅适用于一个机型:CM311-1A YST,或者也包括CM311-1SA ZG?

我根据读贴整理该款各型的配置(粗浅且不保真,但还是希望对各位的开发或网友的选购少许帮助): CM311-1:YST,S905L3,2+16GB,WIFI+BT # Armbian尚不支持的CPU CM311-1A:YST,S905L3A,2+16GB,BT (RTL8761B) CM311-1S:CH、S905L3B,2+8GB,WIFI+BT # Armbian尚不支持的CPU CM311-1SA: ZG,S905L3A,2+8GB,WIFI+BT (厂商代码:YST=易视腾,CH=长虹,ZG=朝歌)

射频芯片,除被Xcray验证1A用到RTL8761B之外,其他三款的情况不清楚。 这篇文章提到几个可能:紫光展锐UWE5621DS、联发科MT7661及MT7662,也有其他文章提到MT7663 https://www.znds.com/tv-1217044-1-1.html

以上整理是基于一些乐观的假设:

  • 每个型号只有一个硬件配置表,这样硬件驱动在一个型号内可以通用。
  • 每个型号只有一个厂家在生产,这样闪存分区在一个型号内可以通用。

你太乐观了,同一个型号、同一个厂家的不同批次的都可能不一样。

这个dtb的核心是启用了原本被禁用的串口,从而为启用基于串口的蓝牙扫除了障碍。后面的步骤,就要根据具体的蓝牙芯片型号来了,固件/attach命令不同,原理方法一样。 WiFi+BT的芯片也得看具体型号,有些BT走的是串口有的不是。

uvtofu commented 2 years ago

这个dtb的核心是启用了原本被禁用的串口,从而为启用基于串口的蓝牙扫除了障碍。后面的步骤,就要根据具体的蓝牙芯片型号来了,固件/attach命令不同,原理方法一样。 WiFi+BT的芯片也得看具体型号,有些BT走的是串口有的不是。

谢谢,这点听明白了。 我见你在别的页面和ophub研究过1A的16GB分区和8GB(1SA还是其他魔百和,讨论里没提及)的差别, 因为1A的社区支持比较多,我已经订了1A在路上。如果日后1SA的WIFI+BT驱动有高手解决,我还想入手1SA。 考虑到1A是16GB闪存,1SA是8GB闪存,这一个meson-g12a-s905l3a-cm311.dtb文件可以同时支持1A和1SA吗? 又或者,现有的meson-g12a-s905l3a-e900v22c.dtb (创维E900V22C)可以用于CM311-1SA?