FAQs

AIO-3399PRO-JD4 Android9如何使用底板上的ALC5640 codec?

系统默认使用RK809 codec,若使用ALC5640则需要修改硬件。 I2S1信号脚位改接I2S0(CORE-3399PRO-JD4没有引出I2S1),I2C和I2S_CLK不要动,需要跳开R89~R93的电阻。

_images/5640_sch.png _images/5640_pcb.png

软件修改如下:

**基于最新代码进行修改**
commit 809d8d77b59996770a05f81abff9ff2553773ff7
Author: Firefly <service@t-firefly.com>
Date:   Tue Oct 20 15:41:26 2020 +0800

    1.add alc5640 support
--- a/kernel/arch/arm64/boot/dts/rockchip/rk3399pro-firefly-aiojd4.dtsi
+++ b/kernel/arch/arm64/boot/dts/rockchip/rk3399pro-firefly-aiojd4.dtsi
@@ -20,11 +20,11 @@
        };

        rk809-sound {
-               status = "okay";
+               status = "disabled";
        };

         rt5640-sound {
-               status = "disabled";
+               status = "okay";
                 compatible = "simple-audio-card";
                 simple-audio-card,format = "i2s";
                 simple-audio-card,name = "rockchip,rt5640-codec";

HDMI 无法 4K 显示?

暂时无法支持自动切换 4K, 默认 1080P 显示, 后续会更新支持。可以使用以下命令手动设置 4K 分辨率后,重新插拔 HDMI 线:

# 设置4k60:
setprop persist.sys.resolution.main 3840x2160@60
# 每次设置完更新sys.display.timeline(每次加1)使分辨率生效
setprop sys.display.timeline 1

打开 Root 权限

Android 系统有很多很强大的功能都需要用到 root 权限,开发者经常在使用的时候遇到权限的问题,那如何在 Firefly 平台上开启系统的 root 权限功能呢?Firefly 已在系统添加启动 root 权限的功能,具体的步骤如下:

  1. Settgins apk 里面找到 About device 然后点击进去;

  2. 点击 Build number 5次后会提示 (you are now a developer);

  3. 然后返回上一级点击 Developer options 选项后,在选项中点击 ROOT access 就打开 root 权限功能。

_images/faqs_android_root.png

开机异常并循环重启怎么办?

有可能是电源电流不够,请使用电压为 12V,电流为 2.5A~3A 的电源。

Ubuntu 默认的用户名和密码是什么?

  • 用户名:firefly

  • 密码:firefly

  • 切换超级用户 sudo -s

哪里有 RK3399Pro 芯片技术手册?

K3399Pro 芯片技术手册链接:Part1 Part2

Android 系统如何关闭音频?

针对无 codec 模块的用户,若不关闭音频相关配置,内核是会一直报异常 log 信息。关闭音频方法有两种:

1、在源码中 disable audioserver:

--- a/vendor/rockchip/common/device-vendor.mk
+++ b/vendor/rockchip/common/device-vendor.mk
@@ -121,6 +121,8 @@ ifeq ($(strip $(TARGET_BOARD_PLATFORM)), rk3399pro)
 $(call inherit-product-if-exists, vendor/rockchip/common/npu/npu_transfer.mk)
  endif

   -$(call inherit-product-if-exists, vendor/rockchip/common/tinyalsa/tinyalsa.mk)

    $(call inherit-product-if-exists, vendor/rockchip/common/pppoe/pppoe.mk)

2、直接删除 udio.primary.default.so

out/target/product/rk3399pro_firefly_aiojd4/vendor/lib64/hw/audio.primary.default.so

写号工具写入SN,MAC地址

注意:如果开发板进行了eMMC擦除操作,之前写入的数据也会被清除。

Windows方式

  • 安装RKDevInfoWriteTool

  • RKDevInfoWriteTool的设置里选中”RPMB”

  • 根据需要在RKDevInfoWriteTool的设置里配置”SN”,”WIFI MAC”,”LAN MAC”,”BT MAC”等

  • 开发板进入loader模式

  • RKDevInfoWriteTool进行写入或者读取操作

具体操作可以参考RKDevInfoWriteTool安装目录下的《RKDevInfoWriteTool使用指南》PDF文档。

Linux方式

开发板自身写号方式

  • buildroot使能BR2_PACKAGE_VENDOR_STORAGE

  • 通过vendor_storage命令进行读写操作

    vendor_storage -w VENDOR_SN_ID -t string -i cad895bedb8ee15f
    vendor_storage -r VENDOR_SN_ID -t hex -i /dev/null
    
    • LAN MAC

    vendor_storage -w VENDOR_LAN_MAC_ID -t string -i AABBCCDDEEFF
    vendor_storage -r VENDOR_LAN_MAC_ID -t hex -i /dev/null
    
      其他可以根据`vendor_storage -h`提示进行操作。
    

应用程序如何读取,可以参考buildroot/package/rockchip/vendor_storage/vendor_storage.c里的vendor_storage_read函数。

Ubuntu系统,如果插入耳机后,没有声音,该如何处理?

Menu -> Multimedia -> PulseAudio Volume Control -> Configuration -> 选择正在工作的声卡,关闭另一个声卡。

Android 下如何让系统抓取 LOG?

Settings(设置) -> About phone(关于手机) -> 点击5下 Build number(版本号) -> Developer options(开发者选项) -> Enable logging to save(启用日志保存)。打开功能后,系统的 storage 根目录下就会生成 .LOGSAVE 文件夹,里面包括系统 logcat 和内核 kmsg。