ophub/amlogic-s9xxx-armbian

创维 E900V22E (s905l3b)支持写入emmc使用

liuaoalan opened this issue · 56 comments

Device Information | 设备信息

  • SOC: S905L2B
  • Model 创维 e900v21e

Armbian Version | 系统版本

  • Kernel Version: Linux 5.15.78-flippy-78+o
  • Release: Armbian_22.11.0_Aml_s905l2_jammy_5.15.78_server_2022.11.11.img

Describe the bug | 问题描述
Describe the problem in detail and attach screenshots if necessary.
通过u 盘启动 armbian 后,kernel没有挂载mmc 芯片 。使用的mmc 芯片是 BIWIN: BWCMMQ511G08G

ophub commented

lsblk

ls /proc/mtd

root@armbian:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 29.1G 0 disk
├─sda1 8:1 1 255M 0 part /boot
└─sda2 8:2 1 2.5G 0 part /var/log.hdd
/
zram0 254:0 0 401.9M 0 disk [SWAP]
zram1 254:1 0 50M 0 disk /var/log
zram2 254:2 0 0B 0 disk

root@armbian:# cat /proc/mtd
dev: size erasesize name
root@armbian:
#

ophub commented

这个设备之前没有测试反馈记录,可能它的存储是nand,这个存储目前脚本不支持操作,我再查下资料怎么读取写入。

这个设备之前没有测试反馈记录,可能它的存储是nand,这个存储目前脚本不支持操作,我再查下资料怎么读取写入。

我看了原生安卓的mmc 驱动 使用的是 mmc driver version: 1.07, 2017-6-30: new eMMC/tSD Host controller

ophub commented

你启动后在U盘中的armbian系统的有线网络ip可以正常获得使用吗?

使用的哪个dtb
cat /boot/uEnv.txt

你启动后在U盘中的armbian系统的有线网络ip可以正常获得使用吗?

使用的哪个dtb cat /boot/uEnv.txt

ifconfig 看到 有线,无线 (rtl8822cs)都生成网口了 ,使用的dtb 是 meson-gxl-s905l2-x7-5g.dtb

ophub commented

meson-gxl-s905l2-e900v21e.dtb.zip

下载这个文件,解压缩成dtb后缀,上传到/boot/dtb/amlogic目录里,修改/boot/uEnv.txt文件里dtb的名字为meson-gxl-s905l2-e900v21e.dtb

保存,重启试试lsblk能不能看到emmc了。

meson-gxl-s905l2-e900v21e.dtb.zip

下载这个文件,解压缩成dtb后缀,上传到/boot/dtb/amlogic目录里,修改/boot/uEnv.txt文件里dtb的名字为meson-gxl-s905l2-e900v21e.dtb

保存,重启试试lsblk能不能看到emmc了。

lsblk 还是看不到 emmc 分区信息

ophub commented

把主板拍照,soc和emmc拍清楚,能看清楚上面的编号。

反编译你可以正常使用的安卓系统dtb,看一下emmc部分有没有禁用,nand部分有没有启用。如果是这样的,那就不是emmc。
dtb安卓刷机包或者安卓系统里都有。提取方法,参阅 o大 写的《armbian 使用文档》,或者你把安卓的dtb上传一份上来。

有些小厂定制的存储颗粒,网上可能查不到参数说明。

把主板拍照,soc和emmc拍清楚,能看清楚上面的编号。emmc 使用的是 BIWIN: BWCMMQ511G08G ,看引脚不像nand flash

emmc
front

ophub commented

#557 (comment)

在CM311-1SA ZG,BIWIN: BWCMMQ511G08G
的BIWIN的芯片上印着“NAND”。在这个里也识别不了。

我看你的上面也印着NAND

这个应该要启用内核里面的相关支持选项,等 livelier 添加调试内核吧,他的一个盒子也是NAND,等他把内核配置调整好了,这些NAND应该就可以识别了。

CM311-1SA ZG 目前支持了么?

ophub commented

armbian/build@3d10e9c

这些nand相关支持选项,在目前使用的内核里没启用

# NAND
#
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_RAW_NAND is not set
# CONFIG_MTD_SPI_NAND is not set

等等

ophub commented

https://www.taoic.com/product/0fddec0f-ba0a-11ec-af8b-00163e1552d4-36

这个nand才1块钱1个?怎么这么便宜呢。

估计写错了吧,1000+ 5毛🤔

tuzhis commented

meson-gxl-s905l2-e900v21e.dtb.zip

下载这个文件,解压缩成dtb后缀,上传到/boot/dtb/amlogic目录里,修改/boot/uEnv.txt文件里dtb的名字为meson-gxl-s905l2-e900v21e.dtb

保存,重启试试lsblk能不能看到emmc了。

@ophub 感谢大佬,今天刚测试的另一个设备创维的E900V22E s905l3b 的机器用这个修改后的dtb成功解决了emmc找不到的问题
对应拆机图片和过程记录:https://www.znds.com/forum.php?mod=viewthread&tid=1229059&page=1&extra=#pid63998104

ophub commented
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2016 Endless Computers, Inc.
 * Author: Carlo Caione <carlo@endlessm.com>
 * Copyright (c) flippy
 */

/dts-v1/;

#include "meson-gxl-s905l2-x7-5g.dts"

/ {
	compatible = "amlogic,s905l3b", "amlogic,meson-gxl";
	model = "Skyworth E900V22E";
};

/* eMMC */
&sd_emmc_c {
	status = "okay";
	max-frequency = <100000000>;
};

meson-gxl-s905l3b-e900v22e.dtb.zip
meson-gxl-s905l3b-e900v22e.dts.zip

@tuzhis
这是用的源码,就把频率由200下调为了100,本来是给e900v21e(s905l2b)测试的,既然你的E900V22E(s905l3b)可以使用,我就改个名字meson-gxl-s905l3b-e900v22e.dtb,在armbian-install的安装序号选117(随后我提交到上游f大的内核仓库,以后安装选项有这个你选这个即可)给你用吧。
你刷的安卓的下载链接能分享下提取码吗?我没这个论坛的账号下载不了,我备份个系统给以后大家救砖使用。

ophub commented

好的,安卓9系统我保存到:https://github.com/ophub/kernel/releases/tag/tools
刚才提交的e900v22e的dtb在f大的内核仓库已经合并了,盒子配置也添加到列表了。

fbigun commented

e900v22e 没有看到分支

E900V21E但是是s905l3b的芯片,用哪个dtb啊

> 把主板拍照,soc和emmc拍清楚,能看清楚上面的编号。

把主板拍照,soc和emmc拍清楚,能看清楚上面的编号。

photo_2023-03-05_12-47-55

ophub commented

下载 amlogic_s905l3b.img 的测试

DTB无法使用,黑屏

ophub commented

去路由器里看看armbian是否启动了,有个别盒子的hdmi无信号

微信图片_20230403140733
处理器是S905L3B,刷了通用版安卓9.0底包,无线无法使用,无法ttl,(4.4是否好用未测试)短接点有,怎样刷入armbian,制作了Armbian_22.11.0_Aml_s905x_jammy_5.10.147_server_2022.10.06镜像,下载了群meson-gxl-s905l3b-e900v22e.dtb到dtb\amlogic目录下,修改了boot目录下unev文件FDT=/dtb/amlogic/meson-gxl-s905l2-e900v22e.dtb,启动无反应啊,还是进安卓9,还缺少哪一步吗?

ophub commented

如何从USB启动armbian的方法,看仓库的帮助文档。

For the method of starting armbian from USB, see the help document of the warehouse.

打不开adb,ttl不跑码,设置关于,打不开开发者模式,只有以一个远程调试模式选项,选择打开后并无效果,也无法连接adb。

GXLX2:BL1:3cfee7:42a5ae;FEAT:ADFD318C:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
TE: 113098

BL2 Built : 13:35:42, Jun  1 2021.
gxl g49d5acc - liqiang.hou@droid07-sz

Board ID = 4, adc=303
set vcck to 1070 mv
set vddee to 1070 mv
CPU clk: 1200MHz

DDR4 chl: Rank0+1 @ 912MHz - FAIL
DDR4 chl: Rank0 @ 912MHz
bist_test rank: 0 25 0a 41 32 1a 4a 1a 00 34 38 20 51 1b 00 36 39 22 51 17 00 2f 38 20 51 652   - PASS

Rank0: 2048MB(auto)-2T-18
AddrBus test pass!
-s
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x013c0000, size: 0x00007600
Load bl301 from eMMC, src: 0x00018200, des: 0x01380000, size: 0x00002600
Load bl31 from eMMC, src: 0x0001c200, des: 0x10100000, size: 0x00019600
Load bl33 from eMMC, src: 0x00038200, des: 0x01000000, size: 0x0004dc00
NOTICE:  BL3-1: v1.0(debug):27617c8a4
NOTICE:  BL3-1: Built : 18:02:23, Aug 18 2021
NOTICE:  BL31: GXL normal boot!
NOTICE:  BL31: BL33 decompress pass
[Image: gxl_v1.1.3103-923400455-dirty 2020-12-28 18:42:52 xingyu.chen@droid12-sz]
efuse init ops = c5
efuse init hdcp = c, cf9=7
x2_hp_e = 0
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipid: 0 0 3 c c 0 b1 b3 d0 a0 0 c5 not ES chip
[0.645109 Inits done]
INFO:    BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9


U-Boot 2015.01 (Oct 21 2021 - 04:30:34), Build: jenkins-J_CMCC_HG680-LY_2_S905L_CMCCGUANGDONG-194

DRAM:  2 GiB
Relocation Offset is: 76edf000
gpio: pin GPIODV_25 (gpio 44) value is 1
register usb cfg[0][1] = 0000000077f5d738
[CANVAS]canvas init
vpu: error: vpu: check dts: FDT_ERR_BADMAGIC, load default parameters
vpu: clk_level = 7
vpu: set clk: 666667000Hz, readback: 666660000Hz(0x300)
vpp: vpp_init
MMC:   aml_priv->desc_buf = 0x0000000073ecfac0
aml_priv->desc_buf = 0x0000000073ed1de0
SDIO Port B: 0, SDIO Port C: 1
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
init_part() 293: PART_TYPE_AML
[mmc_init] mmc init success
dtb magic 00088b1f
      Amlogic multi-dtb tool
      GZIP format, decompress...
      Multi dtb detected
      unified board, board id = 4
      Multi dtb tool version: v2 .
      Support 6 dtbs.
        aml_dt soc: gxlx2 platform: p291 variant: 2g
        dtb 0 soc: gxlx2   plat: p291   vari: 1g
        dtb 1 soc: gxlx2   plat: p291   vari: 2g
        dtb 2 soc: gxlx2   plat: p291   vari: 3g
        dtb 3 soc: gxlx2   plat: p295   vari: 1g
        dtb 4 soc: gxlx2   plat: p295   vari: 2g
        dtb 5 soc: gxlx2   plat: p295   vari: 3g
      Find match dtb: 1
start dts,buffer=0000000073ed4610,dt_addr=0000000073ed4610
      Amlogic multi-dtb tool
      Single dtb detected
parts: 17
00:      logo   0000000000800000 1
01:  recovery   0000000001800000 1
02:      misc   0000000000800000 1
03:      dtbo   0000000000800000 1
04:  cri_data   0000000000800000 2
05:     param   0000000001000000 2
06:      boot   0000000001000000 1
07:       rsv   0000000001000000 1
08:  metadata   0000000001000000 1
09:    vbmeta   0000000000200000 1
10:       tee   0000000002000000 1
11:    vendor   0000000014000000 1
12:       odm   0000000008000000 1
13:    system   0000000050000000 1
14:   product   0000000008000000 1
15:     cache   0000000046000000 2
16:      data   ffffffffffffffff 4
init_part() 293: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
check pattern success
mmc env offset: 0x4d400000
In:    serial
Out:   serial
Err:   serial
board id is : 4
hpd_state=0
do_hpd_detect: hdmimode=720p50hz
do_hpd_detect: colorattribute=444,8bit
cvbs performance type = 7, table = 2
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-924: calc 97056fa, store 97056fa
_verify_dtb_checksum()-924: calc 97056fa, store 97056fa
dtb_read()-1046: total valid 2
dtb_read()-1113: do nothing
      Amlogic multi-dtb tool
      GZIP format, decompress...
      Multi dtb detected
      unified board, board id = 4
      Multi dtb tool version: v2 .
      Support 6 dtbs.
        aml_dt soc: gxlx2 platform: p291 variant: 2g
        dtb 0 soc: gxlx2   plat: p291   vari: 1g
        dtb 1 soc: gxlx2   plat: p291   vari: 2g
        dtb 2 soc: gxlx2   plat: p291   vari: 3g
        dtb 3 soc: gxlx2   plat: p295   vari: 1g
        dtb 4 soc: gxlx2   plat: p295   vari: 2g
        dtb 5 soc: gxlx2   plat: p295   vari: 3g
      Find match dtb: 1
Net:   eth_initialize:396 dwmac.c9410000 idx:0
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0

wipe_data=successful
wipe_cache=successful
ext4logoLoadCmd=ext4load mmc 1:${logoPart} ${logoLoadAddr} ${ext4LogoPath}
6220854 bytes read in 177 ms (33.5 MiB/s)
[imgread]load bmp from ext4 part okay
bmp pixel: 24
[OSD]load fb addr from dts
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts
[OSD]fb_addr for logo: 0x7f800000
[CANVAS]addr=0x7f800000 width=5760, height=2160
[OSD]ERR: 24 bit/pixel mode2, but BMP has 24 bit/pixel
upgrade_step=2
upgrade_step12=2
amlkey_init() enter!
amlkey_init() 70: already init!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[mac] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[cmei] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[authkey] not programed yet
key1 = 7d82dd22
key2 = 7e81dd22
key3 = 728ddd22
time_out = 7a120
ir init
irkey - irkey key_value1 key_value2 key_value3 time_value

Usage:
irkey
rebootmode=cold_boot
Hit any key to stop autoboot:  0
ee_gate_off ...
## Booting Android Image at 0x01080000 ...
Kernel command line: androidboot.dtbo_idx=0 buildvariant=userdebug
      Amlogic multi-dtb tool
      Single dtb detected
load dtb from 0x1000000 ......
   Loading Kernel Image ... OK
   kernel loaded at 0x01080000, end = 0x01a08638
   Loading Ramdisk to 09e93000, end 09fffb4a ... OK
   Loading Device Tree to 0000000009e81000, end 0000000009e925dc ... OK
fdt_instaboot: get header err

Starting kernel ...

uboot time: 2534666 us
get_dvfs_info 0004
[    0.000000@0]        07400000 - 07500000,     1024 KB, ramoops@0x07400000
[    0.000000@0]        10000000 - 10400000,     4096 KB, linux,secmon
[    0.000000@0]        7f800000 - 80000000,     8192 KB, linux,meson-fb
[    0.000000@0]        7b400000 - 7f800000,    69632 KB, linux,di_cma
[    0.000000@0]        73800000 - 7b400000,   126976 KB, linux,ion-dev
[    0.000000@0]        5a800000 - 73800000,   409600 KB, linux,codec_mm_cma
[    0.000000@0]        5a800000 - 5a800000,        0 KB, linux,codec_mm_reserved
[    0.000000@0]        59400000 - 5a800000,    20480 KB, linux,vdin1_cma

  这个支持启动吗?
ophub commented

有些魔百和hdmi无信号显示,到接入的路由器里看看有没有名字是armbian的上线。
不行接着换。

有些魔百和hdmi无信号显示,到接入的路由器里看看有没有名字是armbian的上线。 不行接着换。

实在是搞不定了,这个芯片跟文中的芯片不一样,是不是就是不支持啊!!目前进度,通过跳线TTL可以用了。刷了4.4.2后,连接adb端口5555,读取不到设备信息,然后有刷回安卓9,插着着USB转ttl线,盒子启动不起来,总是进入recovery模式,启动日志见上面帖子。
1111

ophub commented

你到安卓电视系统论坛找个你的盒子的soc能用的安卓系统

你到安卓电视系统论坛找个你的盒子的soc能用的安卓系统

安卓9.,安卓4.4两个版本都可以用,都root了

ophub commented

你的意思是刷安卓可以正常使用,但是不能从usb启动armbian?

adb connect 盒子ip
adb shell reboot update

你的意思是刷安卓可以正常使用,但是不能从usb启动armbian?

adb connect 盒子ip
adb shell reboot update

是的,可以正常启动,老大,两个疑问,1、安卓4.4也可以支持USB启动armbian吗?2,我这个主板的内存芯片,支持emmc启动吗?可能没找到合适的dtb文件吧,也有可能是armbian版本的问题,我再试试,谢谢老大

ophub commented

什么版本adb后都支持usb启动,但是大部分魔百和需要使用安卓9及以上版本才能在armbian里正常识别网卡和内存。

emmc版本支持写入。nand版本目前不支持写入(我不会弄,识别不到nand,无法读写它。)

无法从usb启动和dtb无关,还没到了dtb这步,根据文档里,如何从usb启动进行尝试。

什么版本adb后都支持usb启动,但是大部分魔百和需要使用安卓9及以上版本才能在armbian里正常识别网卡和内存。

nand版本不支持写入,emmc版本支持写入。

无法从usb启动和dtb无关,还没到了dtb这步,根据文档里,如何从usb启动进行尝试。

明白,我再试试

ophub commented

armbian 的官方是支持nand写入的,但是我笨的看不懂
https://github.com/armbian/build/blob/main/packages/bsp/common/usr/sbin/armbian-install

armbian 的官方是支持nand写入的,但是我笨的看不懂 https://github.com/armbian/build/blob/main/packages/bsp/common/usr/sbin/armbian-install

你都看不懂我这更笨的更看不懂了,搞定了,下载了最新的Armbian_23.05.0_amlogic_s905l2_jammy_5.15.106_server_2023.04.06.img.gz,可以启动了,默认的配置直接就启动起来了。
222

ophub commented

你是什么盒子?什么soc呢?
你的盒子不是E900V22E吗?不是s905l3b-e900v22e这个系统?刷的s905l2默认启动了?

你刷的哪个安卓系统?别处下载的安卓的话发个链接,我保存一份安卓到 https://github.com/ophub/kernel/releases/tag/tools

你刷的哪个安卓系统?

创维E900V22D,处理器是S905L3B,用的安卓4.4的底包,这个4.4安卓启动很快,打不开无线wifi,一直转圈(天翼云盘),安卓9可能也能用,之前不能启动,是因为armbian的问题。至于网卡驱动wifi驱动,那些应该都在armbian里的,跟这个安卓底包无关吧。最后已经写入emmc,修改了登录密码,结果登录不上去了,正准备重新启动写入。

https://cloud.189.cn/web/share?code=IjMbUjyQvYFr 天翼云盘(访问码:qq9e)

ophub commented

以前见的E900V22D 是 s905l3a,又发现了 s905l3b ,用的还是 s905l2 的固件,有点乱。

你选 s905l3b 的固件试过没?

我没有天翼云盘,你能把这个安卓系统转存到百度网盘或者阿里网盘里吗?

本身盒子同型号版本就是五花八门,我试完后给你回复

链接: https://pan.baidu.com/s/1oa7SrEqkJ5rZLWpqH6Alzw 提取码: exdh 复制这段内容后打开百度网盘手机App,操作更方便哦

ophub commented

你的 E900V22D(s905l3b) 设备是新设备,和原来的盒子soc不同,你是第一个测试者。

你测试好哪个固件可以适配,独立发个帖子吧,把你的主板图片,安卓系统,测试的armbian固件,发到一个新帖子里,这样方便大家学习你的成果。放在这个 e900v22e 里不容易被找到。

我根据你的测试结果添加一条安装选项。

我晚上回去把盒子,主板都拍个照,整理一下

ophub commented

好的,辛苦了。你分享的安卓已经保存在这里了: https://github.com/ophub/kernel/releases/tag/tools

android_tv_e900v22e_e900v22d_s905l3b.tar.xz

E900V21E s905l3b,用Armbian_23.05.0_amlogic_s905l2-e900v21e_jammy_6.1.24_server_2023.04.14.img,+meson-gxl-s905l3b-e900v22e.dtb,可以直接驱动有线网卡(无需刷9.0),无线网卡缺少驱动,EMMC可以认到,但是无法写入。

DTB无法使用,黑屏
创维E900V21E S905L3B
跟你问题一样 ,路由器没有上线信息

创维E900V21E S905L3B刷那个固件

n的方法,看仓库的帮助文档。

这是个假9.0底包,亲测!无ADB,无WIFI

@ophub 感谢! 安卓链接: https://pan.baidu.com/s/1keBi2kfHhbf4F9InwMOtDQ 提取码:39fp 来源:https://www.znds.com/tv-1221394-1-1.html

这不是真9.0,别搞错了

好的,辛苦了。你分享的Android已经保存在这里了:https://github.com/ophub/kernel/releases/tag/tools

android_tv_e900v22e_e900v22d_s905l3b.tar.xz

大佬,我是S905L2B芯片(gxlx_p261_2g),目前刷入Armbian_23.08.0_amlogic_s905l2_jammy_5.15.131_server_2023.09.12.img版本,可以启动,但不显示IP,不要求无线网,有线网卡能用就行。具体主板和部分参数如下图,帮忙看看。安卓DTB我放到网盘里了。https://aming.lanzouj.com/iGNde1ezh2pa
Uploading 微信图片_20231120001304.jpg…

#557 (comment)

在CM311-1SA ZG,BIWIN: BWCMMQ511G08G
的BIWIN的芯片上印着“NAND”。在这个里也识别不了。

我看你的上面也印着NAND

这个应该要启用内核里面的相关支持选项,等 livelier 添加调试内核吧,他的一个盒子也是NAND,等他把内核配置调整好了,这些NAND应该就可以识别了。

这个NAND能改成EMMC吗?

CM311-1SA ZG 目前支持了么?

我把芯片换了之后成功写入
屏幕截图 2024-03-13 214238
微信图片_20240313220417

希望在这里给使用这个盒子的大佬们个建议,如果发现插入U盘或者使用adb shell reboot recovery无法进入到U盘armbian的时候不要慌,可以使用面具获取root权限,然后使用reboot to libreelec这个软件试试,我是查的远离DC口的那个USB口,再次感谢ophub大大!