最开始并没有注意到这个问题, 因为从设备拿到手, 用USB Burning Tool刷入潜龙版的安卓4.4.2, 再到运行EmuELEC, Armbian, 再到给Kernel 5.3的Armbian编译RTL8189FTV的驱动, 都还算顺利. 因为Kernel 5.3也差不多搞定了, 开始打安卓的主意, 想看看能不能跑7.x版本的安卓. 固件包下了几个, 要开始刷的时候出了状况, 发现按着reset键再也无法进入USB Burning Mode了.

几经调查, 试了另外两台一样已经刷过的R3300L, 百度上查类似的案例, 发现其他人也存在这种情况. 而且网友们提供的处理方法(4R19接地)完全无效.

于是开始研究UBOOT

这个设备跑过的系统不外乎潜龙的安卓4.4.2, 以及各种版本的EmuELEC, 各种版本的Armbian, 通过查资料, 发现Linux下面的fw_printenv和fw_setenv命令可以查看及修改UBOOT下的配置. EmuELEC下可以直接运行, 但是在高版本的Armbian下, 仅有可执行文件, 缺/etc/fw_env.config, 于是又查资料找到了对应S905L的config.

通过分析UBOOT的配置, 可以确认EmuELEC和Armbian都会对UBOOT配置进行修改, 但是它们的修改只是在bootcmd里加东西, 加上从sdcard和usb启动的方法, 不应该会影响到组合键.

于是将其中一台焊上了TTL线座, 翻出来以前买的PL2303的USB串口线. 连的过程也是各种摸石头过河. 首先是TX和RX的连线, 尝试几次后确定是PL2303的TX和RX分别接盒子的RX, TX. 然后是VCC线, 每次一连接, 盒子就上电启动了, 根本没法主动观察启动过程, 于是把VCC和GND拔掉, 这下不会自己启动了, 但是启动后看到的全是方块状乱码, 最终是VCC不连, 只连GND, 才算又不自己启动, 又能显示正常.

观察UBOOT的启动日志发现, 按不按reset键, 连不连HDMI, 启动日志基本完全一样.

其中一行"Hit any key to stop autoboot:  0"给我造成了很大困惑, 因为不管怎么敲Enter键, 都不会进入UBOOT命令行, 我怀疑是因为这个0, 导致无法停下来. 查阅资料, 发现有个配置项bootdelay, 于是从0改成了5, 发现根本不起作用, UBOOT还是一路狂飙不停下来, 又查资料, 发现还有用Ctrl+C的, 再试依然无效. 再查资料, 发现还有用空格键的, 这个起作用了, 只要拍空格键, 就能进入UBOOT

继续查资料, 发现还有个配置项叫 upgrade_key , 这个值是 "if gpio input GPIOH_6; then echo detect upgrade key; sleep 3; run update;fi;" 在日志中有这么一行"gpio: pin GPIOH_6 (gpio 55) value is 1", 凭借着曾经做过一些电路的经验感觉这个不对. 如果reset键输入是GPIOH_6, 那么在按下的时候肯定处于接地状态, 不可能是高电平, 所以这行日志对应的就是upgrade_key当中 gpio input GPIOH_6 这行执行的结果, 并没有检测到reset键按下的状态, 所以可以说是GPIOH_6这个写错了.

要找正确的gpio pin该怎么办呢? 又查资料, 发现 gpio status -a 这个命令可以显示所有的gpio状态, 这就好办了, 在reset键未按下和按下两个状态下, 分别执行一下这个命令, 把输出的结果对比一下就出来了, 得到的正确pin是GPIOAO_2, 在按下前是GPIOAO_2: input: 1 [ ], 在按下之后变成了 GPIOAO_2: input: 0 [ ]

再通过fw_setenv将正确的值设上

fw_setenv upgrade_key "if gpio input GPIOAO_2; then echo detect upgrade key; sleep 3; run update;fi;"

.按住reset重启, 就可以观察到usb burn的状态了.

解决这个问题断断续续花了我大概三天时间, 从周五到周日, 可能对于对于专业选手很简单, 但对于我很多是新事物, 要慢慢摸索.

R3300L按reset键无法进入USB Burning模式的问题分析相关推荐

  1. 计算机主机面板上的reset,按一下主机箱面板上的复位键(reset键)三`windows的基本操作.doc...

    按一下主机箱面板上的复位键(reset键)三`windows的基本操作 第1讲 Windows98基础 一.认识电脑:主机.显示器.键盘.鼠标器.音箱(耳机).打印机等. 二.计算机的开机.关机 1. ...

  2. 计算机主机面板上的reset,一但中了IE窗口炸弹马上按下主机面板上的Reset键,重起计算机是对的吗...

    一但中了IE窗口炸弹马上按下主机面板上的Reset键,重起计算机这句话是错的.IE炸弹是指有一段代码的执行会陷入无穷的循环,最终导致资源耗尽,影响计算机的使用. 在一些恶意网页中,埋伏了IE窗口炸弹. ...

  3. 修改GL-iNet路由器的reset键功能

    默认情况下短按reset键将会重启设备,这个功能并不常用,所以把它改成短按打开关闭wifi,方法如下: 1. 首先备份/etc/rc.button/reset mv reset reset.bak 复 ...

  4. 电脑开关坏了,用Reset键代替开关机键盘

    电脑故障现象:同学的电脑最近突然出现了不能开机的故障,而且"非常彻底":按下机箱上的电源开关之后,整台电脑毫无反应!甚至听不到风扇转动,简直就像停电了一样! 故障分析:在排除了电源 ...

  5. 计算机组装中RESET,专家解惑:有些品牌机为何没Reset键

    不知道大家注意到没有,一些品牌机上没有设置"RESET"按键,也就是复位键,像IBM,HP,DELL,联想等,但是有些品牌机也有设置,这个复位键在DIY机器上是很常见的.为什么有些 ...

  6. linux文件删除 能恢复出厂设置密码,OpenWrt固件通过reset键恢复出厂设置步骤

    OpenWrt固件通过reset键恢复出厂设置步骤 ?更新时间:2014-06-15 ?来源:本站小编 ?浏览:2295次 OpenWrt 可以说是Linux的发行版,OpenWrt的包管理提供了一个 ...

  7. USB驱动及其源码分析

    一.USB理论部分 1.USB概述 USB1.0版本速度1.5Mbps(低速USB). USB1.1版本速度12Mbps(全速USB). USB2.0版本速度480Mbps(高速USB).USB3.0 ...

  8. 850 USB 烧录模式

    /************************************************************************** 850 USB 烧录模式* 说明:* 本文是为了 ...

  9. html5 usb调试,USB调试怎么打开 USB调试模式打不开怎么刷机

    2016-04-25 16:58:28 USB调试怎么打开 USB调试模式打不开怎么刷机 标签:USB调试,刷机,recovery模式,卡刷 [ROM之家]在手机很多应用使用时需要打开USB调试,比如 ...

最新文章

  1. CDIE-2021春季课程内容设计 | 火场逆行
  2. [vue-cli]vue-cli3插件有写过吗?怎么写一个代码生成插件?
  3. mysql set类型 查询,MYSQL SET字段类型怎么查询
  4. java修改ldap用户密码_LDAP 用户更改自己的密码
  5. 27. 考研与工作怎么选择
  6. matlab 离散点求导_Matlab的离散点曲线导数曲率数值模拟方法
  7. NanoHTTPD接收post数据
  8. 我对硬盘MBR、DBR、BPB、FAT和FDT的理解
  9. Excel如何批量生成条形码?
  10. 惠普触控板使用指南_惠普笔记本触摸鼠标怎么设置
  11. Win7 + VirtualBox 安装 MacOS X 10.9 Mavericks 操作步骤
  12. cannot lock ref问题的解决
  13. jQuery实现相册功能
  14. python 声音基频f0_ASR中常用的语音特征之FBank和MFCC(原理 + Python实现)
  15. 培训班出来的程序员现在怎么样了
  16. js如何判断保留两位小数
  17. 顺丰速运扩大全球业务范围,正式进军新西兰市场
  18. 咦,我和名画撞脸了!
  19. 分治法之图解最大子序列和
  20. 鸿蒙os目前支持了哪些硬件,大佬终于把鸿蒙OS讲明白了,收藏了!

热门文章

  1. RHCE 第十二天 搭建小松鼠服务squirrelmail
  2. Arduino操作MPU6050模块
  3. Codeforces #594 (Div. 1) A. Ivan the Fool and the Probability Theory(DP)
  4. 笔记:关于解释器与编译器以及机器语言与机器语言的二进制文件
  5. POJ 3311--佛洛依德枚举
  6. 基于区块链的车联网汽车管理系统
  7. 2019年双11数据(六)
  8. DTC 2023精彩回顾丨孔再华:openGauss在民生银行的应用实践
  9. 企业应用软件和个人应用软件的区别
  10. python制作索引图像