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.8k stars 1.86k forks source link

EAIDK610 上游DTB修复无线异常高负载和Typec不可用 #1068

Closed lancoyan closed 1 year ago

lancoyan commented 1 year ago

e46db683aadeb90a52998d3b0ff7d124

rk3399-eaidk-610.dtb.zip

14a63ec58cd6316f5bd6aff5b6d1a815

这是和当前s9xx项目的dtb md5对比,确实不同。

本来想pull request,不太清楚该放到哪,打扰了,我自己刷时用diskgenius替换的,已经用上啦很好用

ophub commented 1 year ago

https://github.com/unifreq/linux-6.1.y/blob/main/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts

上游内核源码在这里,你可以测试后提交dts修改

这的仓库里存了一份编译好的dtb,路径在: https://github.com/ophub/amlogic-s9xxx-armbian/tree/main/build-armbian/armbian-files/platform-files/rockchip/bootfs/eaidk-610/dtb/rockchip 我下载你提供的覆盖了。

13584452567 commented 1 year ago

az,我已经把这个dts合并到上游了

13584452567 commented 1 year ago

typec的问题目前可以确定是内核内部的驱动源码有问题,但是不太清楚具体需要如何修改。目前在和kernel的这块板子的维护者讨论修改方案。

ihexon commented 10 months ago

EAIDK 610 的 Type C 不可用的问题依旧存在?我试了最近一次构建的镜像发现 Type C 仍然不可用的样子

$ uname -a
Linux armbian 6.1.60-ophub #1 SMP Sun Oct 29 05:00:05 EDT 2023 aarch64 aarch64 aarch64 GNU/Linux
root@armbian:/sys/kernel/debug# lsusb
Bus 006 Device 002: ID 05e3:0616 Genesys Logic, Inc. hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 04e2:1414 Exar Corp.
Bus 005 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
13584452567 commented 10 months ago

EAIDK 610 的 Type C 不可用的问题依旧存在?我试了最近一次构建的镜像发现 Type C 仍然不可用的样子

$ uname -a
Linux armbian 6.1.60-ophub #1 SMP Sun Oct 29 05:00:05 EDT 2023 aarch64 aarch64 aarch64 GNU/Linux
root@armbian:/sys/kernel/debug# lsusb
Bus 006 Device 002: ID 05e3:0616 Genesys Logic, Inc. hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 04e2:1414 Exar Corp.
Bus 005 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

在其他的系统上观察到fusb302正常运行,推测是仓库的固件有某些服务出现问题。

ihexon commented 10 months ago

In &usbdrd_dwc3_0 node, delete usb-role-switch; and set dr_mode = "host"; to enable Type-C HOST mode:

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts b/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
index 6464ef4d1..66663d591 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
@@ -901,7 +901,7 @@ &usbdrd3_0 {

 &usbdrd_dwc3_0 {
        status = "okay";
-       usb-role-switch;
+       dr_mode = "host";

        port {
                #address-cells = <1>;

Now Type-C host works as I expect. It seems that usb-role-switch; cannot switch the Type-C working mode automatically.