id9502 发表于 2022-7-5 22:27:46

AXT1800 SD卡检测BUG求助

萌新求助,有伙伴用AXT1800 4.0.0v3固件,也遇到了开机SD卡检测不到(没有/dev/mmcblock0这个设备),只有重新热插拔才能检测到的问题吗?

在开机时间约1.9秒时核心日志里看到有这个报错:
mmc0: error -110 whilst initialising SD card
不知道是不是因为驱动问题,在openwrt内核代码中检索不到这个报错的出处和定义所以没办法定位到具体代码。

如果开机后再插入SD卡的话就不会有这个报错信息出现。

大家有遇到类似问题或者有解决方案吗?

萝卜大侠 发表于 2022-7-14 14:20:52

SD卡识别问题已修复,预计7月15号更新固件

萝卜大侠 发表于 2022-7-6 15:45:18

完整日志发一下

id9502 发表于 2022-7-7 09:46:53

萝卜大侠 发表于 2022-7-6 15:45
完整日志发一下

这是开机完整日志

萝卜大侠 发表于 2022-7-7 10:08:43

id9502 发表于 2022-7-7 09:46
这是开机完整日志

确实是有问题,SD卡的购买链接发一下,我们实际买一张测试一下

VPDong 发表于 2022-7-7 10:44:25

萝卜大侠 发表于 2022-7-7 10:08
确实是有问题,SD卡的购买链接发一下,我们实际买一张测试一下

官方附赠的

萝卜大侠 发表于 2022-7-7 10:54:14

VPDong 发表于 2022-7-7 10:44
官方附赠的

插其他SD卡有问题吗?
另外,你确定是上电前插SD卡就有问题,上电后插SD卡就没问题,不是反过来?因为SD卡是不支持热插拔的哦

id9502 发表于 2022-7-7 10:57:56

萝卜大侠 发表于 2022-7-7 10:54
插其他SD卡有问题吗?
另外,你确定是上电前插SD卡就有问题,上电后插SD卡就没问题,不是反过来?因为SD ...

是的,我特地测试过,上电前安装卡的话就是刚刚发的系统log,如果上电后安装或者重新热插拔以下反倒就没事了

萝卜大侠 发表于 2022-7-7 11:04:24

id9502 发表于 2022-7-7 10:57
是的,我特地测试过,上电前安装卡的话就是刚刚发的系统log,如果上电后安装或者重新热插拔以下反倒就没 ...

好的,我先测试一下然后给大家回复

id9502 发表于 2022-7-7 22:05:16

萝卜大侠 发表于 2022-7-7 11:04
好的,我先测试一下然后给大家回复
刚刚测试编译下载大侠的 5.4自定义镜像时候发现一个更无语的事,如果重启进uboot的时候插着SD卡,那么刷机更新的固件会写到SD卡里去。。。。。感觉可能对uboot而言SD卡的逻辑也有bug

eggy 发表于 2022-7-8 17:06:52

id9502 发表于 2022-7-7 22:05
刚刚测试编译下载大侠的 5.4自定义镜像时候发现一个更无语的事,如果重启进uboot的时候插着SD卡,那么刷机 ...

如果系统能直接刷到SD卡里也能用的话,那岂不就等于刷不死了?

萝卜大侠 发表于 2022-7-8 19:30:02

id9502 发表于 2022-7-7 22:05
刚刚测试编译下载大侠的 5.4自定义镜像时候发现一个更无语的事,如果重启进uboot的时候插着SD卡,那么刷机 ...

收到反馈

萝卜大侠 发表于 2022-7-8 19:32:17

eggy 发表于 2022-7-8 17:06
如果系统能直接刷到SD卡里也能用的话,那岂不就等于刷不死了?

也许是个好功能,可以无限扩展flash空间了:lol 但这确实是我们意料之外的问题

eggy 发表于 2022-7-8 19:48:46

萝卜大侠 发表于 2022-7-8 19:32
也许是个好功能,可以无限扩展flash空间了 但这确实是我们意料之外的问题 ...

哈哈,一个nanopi r2s过来用户的突发奇想。
话说,axt1800 sd卡容量上限512g对openwrt来说也是等于无限了:lol

id9502 发表于 2022-7-8 22:57:35

本帖最后由 id9502 于 2022-7-8 23:11 编辑

eggy 发表于 2022-7-8 17:06
如果系统能直接刷到SD卡里也能用的话,那岂不就等于刷不死了?
目前看并不行啊,重启后你会得到一个运行着旧系统的路由器,和一个分区表被破坏而只显示100多MB可用空间的SD卡。这一版的uboot启动优先级看起来内部nand比sd高,还没办法外部更改顺序。

不过在以前玩嵌入式开发的时候确实有这样的刷不死UBoot配置,用nand做还原分区,用sd卡做可选的第二启动映像,感觉后期等驱动稳定了可以试一下。不改内核的话,Openwrt有extroot方法实现overlay现有文件系统内容的功能,本来我是折腾这个的时候发现开机没有自动挂载sd卡overlay挂不上,才过来提的问题。

萝卜大侠 发表于 2022-7-8 23:13:37

明天看这个SD卡的问题

eggy 发表于 2022-7-9 01:28:47

id9502 发表于 2022-7-8 22:57
目前看并不行啊,重启后你会得到一个运行着旧系统的路由器,和一个分区表被破坏而只显示100多MB可用空间的 ...

我也是随口说说而已别太认真。话说axt1800上可有测试过读写SD卡的速度如何?

id9502 发表于 2022-7-9 08:50:53

本帖最后由 id9502 于 2022-7-9 08:53 编辑

eggy 发表于 2022-7-9 01:28
我也是随口说说而已别太认真。话说axt1800上可有测试过读写SD卡的速度如何? ...
新鲜出炉,随机附赠的8G卡测试结果如下:
分区格式: ext4
内核驱动:linux4.4 armv7l (32bit 官方版)
连续1G文件完全写入(全0写入)时间:53+-1s
清除cache后连续1G文件读取时间:52+-0s
平均真实写入速度:19.3MB/s
平均真实读取速度:19.7MB/s
带cache读取速度:690MB/s

附测速代码:
echo write 1GB time
time sh -c 'sync; dd if=/dev/zero of=/tmp/mountd/disk1_part1/write_speed_testfile bs=1M count=1024; sync'
echo uncached read 1GB time
sysctl -w vm.drop_caches=3
time dd of=/dev/null if=/tmp/mountd/disk1_part1/write_speed_testfile bs=1M count=1024
rm /tmp/mountd/disk1_part1/write_speed_testfile

另外如果测带cache读取的话需要装一个软件包 hdparm 然后运行:
hdparm -tT /dev/mmcblk0

eggy 发表于 2022-7-9 16:34:06

id9502 发表于 2022-7-9 08:50
新鲜出炉,随机附赠的8G卡测试结果如下:
分区格式: ext4
内核驱动:linux4.4 armv7l (32bit 官方版)


厉害了哥,专业的测速,虽说8g卡无法测试极限读写速度,不过写入20m也勉强够用了。

萝卜大侠 发表于 2022-7-9 19:00:42

今天看了一天这个问题,暂无头绪,周一继续分析

id9502 发表于 2022-7-9 23:06:08

本帖最后由 id9502 于 2022-7-9 23:08 编辑

萝卜大侠 发表于 2022-7-9 19:00
今天看了一天这个问题,暂无头绪,周一继续分析
官方用的uboot代码和内核驱动代码分别和 https://github.com/gl-inet/uboot-ipq60xx 和 https://github.com/gl-inet/gl-infra-builder 一致吗?我有空也看看好了不知道能不能帮上忙。
大佬可以参考一下这个博客 https://www.jianshu.com/p/6272e4cb1eeb 里的SD硬件检测流程,还有这个里的开机后udev流程 https://developer.aliyun.com/article/243863,
https://upload-images.jianshu.io/upload_images/7868354-d0a21b23712da1db.png?imageMogr2/auto-orient/strip|imageView2/2/format/webp
从硬件检测状态机图这里可以看到,开机前挂载走的是上电检测CMD8,开机后热插拔走的是卡座io中断。还没看uboot实现细节,但猜测如果uboot阶段成功与SD建立通讯后,SD卡状态机已经到CMD2和CMD3了,linux启动之后再执行上电检测CMD8得不到响应就会认为SD没有挂载或硬件错误了,不知道实际会不会是这个原因。

页: [1] 2
查看完整版本: AXT1800 SD卡检测BUG求助