救活神器——刷机工程线

使用普通数据线简单改造即可:

1. 将数据线外皮剥开

2. 将绿线(D+)和黑线(地线)的外皮剥开

3. 将剥开的绿线和地线短接即可。

用改造好的工程线连接手机和电脑,

然后长按开机键8秒以上,让手机重启。

手机在重启过程中运行SBL时会检测到D+和地线短接,

然后让手机进入EDL模式(强制下载模式、9008模式),

然后用正常的数据线连接手机和电脑,再用QFIL刷机即可。

代码支持:

1. BOOT.BF.3.3/boot_images/core/boot/secboot3/hw/msm8952/sbl1/sbl1_config.c

boot_log_message("USB D+ check, Start");
  boot_log_start_timer();
  
  /* Check whether USB D+ line is grounded. If it is, then enter
     PBL Download mode */
  if(boot_usb_al_check_for_pbl_dload(0))
  {
    boot_dload_transition_pbl_forced_dload();
  }
  boot_log_stop_timer("USB D+ check, Delta");

2. 继续调用

BOOT.BF.3.3/boot_images/core/boot/secboot3/src/boot_extern_hsusb_interface.c

/*===========================================================================

**  Function :  boot_usb_al_check_for_pbl_dload

** ==========================================================================
*/
/*!
 * @brief   This function checks if the USB D+ line is grounded.
 * @param   core_id   -  [IN] USB core ID to initialize
 * @return  boolean - returns whether we should enter PBL EDL mode.
 */
boolean boot_usb_al_check_for_pbl_dload(uint32 core_id)
{
   return qhsusb_al_check_for_pbl_dload(core_id);
}

3. 继续调用

BOOT.BF.3.3/boot_images/core/wiredconnectivity/qhusb/src/al/qhsusb_al_bulk.c

boolean qhsusb_al_check_for_pbl_dload(uint32 core_id)
{
#ifdef FEATURE_RUMI_BOOT
   qhsusb_log_message("usb:: not going for edl mode, pre-si mode");
   return FALSE;
#else
   qhsusb_boot_log_message("USB: qhsusb_al_check_for_pbl_dload");
   if(qhsusb_dci_check_for_pbl_dload(core_id))
   {
    qhsusb_log_message("usb:: going for EDL");
    return TRUE;
   }
   return FALSE;
#endif

4. 最终调用

BOOT.BF.3.3/boot_images/core/wiredconnectivity/qhsusb/src/dci/qhsusb_dci_8976.c

//=============================================================================
/**
 * @function  qhsusb_dci_check_for_pbl_dload
 *
 * @brief Checks whether the device should be put into EDL mode or not
 *
 *
 * @param core_id
 *
 * @return boolean TRUE: if D+ is connected to GND
 *                 FALSE: if D+ is not connected to ground
 *                 FALSE: if VBus is absent 
 *                 FALSE: if charger type is other than SDP/CDP
 *
 * @ref ChipIdea spec "CI13612a HighSpeed USB OnTheGo Controller Core":
 *      Chapter 3.6.16 PORTSCx , PHY type selection.
 *      Chapter 3.6.12 ULPI VIEWPORT , control the PHY from the USB Core.
 *
 */
//============================================================================
boolean qhsusb_dci_check_for_pbl_dload(uint32 core_id)

{
#ifdef FEATURE_FORCED_EDL_MODE_DISABLE
  //for Emulation and simulation this feature needs to be 
  //disabled
  qhsusb_log(QHSUSB_PBL_DLOAD_FEATURE_DISABLED_LOG, 0, 0);
  (void)dci_enable_external_vbus_config;
  (void)qhsusb_is_charger_type_sdp_or_cdp; 
  //Check whether USB cable is connected during boot up  
  return FALSE; 
#else

... ...

}

关闭此功能的方法:

找个合适的地方定义FEATURE_FORCED_EDL_MODE_DISABLE即可。

高通手机900E变砖救活方法及原理分析相关推荐

  1. Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)...

    Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要 ...

  2. 一张壁纸使 Android 手机集体变砖,目前尚无解决方法

    近日,一名网友在 Twitter 上传了一张壁纸并表示该壁纸会使他的三星手机崩溃.此前已经有日历 Bug 导致三星手机集体崩溃的事情发生,而这一次三星手机再次中招.只因为使用了一张风景壁纸就能导致手机 ...

  3. 高通手机基带镜像解压¥混合基带制作方法。(解决手机距离感应器失效)

     一.取得基带 1-1.泛泰手机的话可以从官方卡刷包中取得 在fotamodem\NON-HLOS.bin,解压出来,扩展名改为img 1-2.也可以从当前手机中备份. 在twrp下,连接手机数据 ...

  4. 一张壁纸使 Android 手机集体变砖,目前尚无解决方法,移动应用开发

    一张壁纸使Android手机集体变砖,目前尚无解决方法 图为"肇事"的壁纸,大家不要轻易尝试! 而后,该用户又发布了一条推文表示,不止是三星的手机,他的 Google Pixel ...

  5. android手机彻底变砖拯救

    android手机彻底变砖拯救 Android手机变砖,只要不是硬件损坏引起的变砖,基本都可以拯救回来. 1.即使是手机开机不能够进入系统,不能够进入手机主界面设置开发者调试选项也能够拯救回来 2.我 ...

  6. 高通手机基带镜像解压混合基带制作教程(A850K工程机混合基带解决通话黑屏)

    之前答应了几位机友要发布教程,后来因为一直忙拖到了现在...... 一.取得基带 1-1.泛泰手机的话可以从官方卡刷包中取得 在fotamodem\NON-HLOS.bin,解压出来,扩展名改为img ...

  7. 刷机后IMIE丢失怎么办 高通手机IMEI备份恢复教程

    不少爱刷机的同学肯定都遇到过IMEI丢失的情况,IMEI究竟是个什么玩意?又有什么用呢?简单的来说是移动设备国际身份码的缩写,手机丢失IMEI就意味着手机无法搜索注册SIM卡,这也就是说你只能通过恢复 ...

  8. pixhawk2.4.8(FMUV3)变砖拯救方法

    pixhawk2.4.8(FMUV3)变砖拯救方法 起因 过程 起因 在mission planner地面站bootloader update更新失败后,设备无法识别串口号,说白了就是变砖了.尝试了很 ...

  9. 高通手机手动切换diag口

    高通手机找不到diag口: 1.adb root 2.手动切diag口: setprop sys.usb.config diag,adb

最新文章

  1. java排队叫号_java多线程(4)模拟排队叫号程序,不能出现交替执行的结果
  2. 【BZOJ】1834: [ZJOI2010]network 网络扩容(最大流+费用流)
  3. 【Python基础】字符编码ASCII-GBK-Unicode-UTF-8之间的关系
  4. notepad正则删除关键词所在行
  5. Linux学习笔记01
  6. 让 Chrome 崩溃的一行 CSS 代码
  7. 前端学习(3110):react-hello-函数式组件
  8. class-dump获取iOS私有api
  9. 干货 | 大白话彻底搞懂 HBase RowKey 详细设计
  10. 清华学霸组团的工业 AIoT 创企再获数千万融资:玩家应推动在边缘 AI 芯片上跑算法...
  11. Tomcat 部署多个项目出现错误
  12. Hadoop四大组件介绍
  13. matlab gui界面设计 打开文件,matlab GUI界面设计 点击按钮加载.mat数据的所有变量到工作空间中...
  14. PyCharm2021安装教程
  15. 使用js打印日历在控制台
  16. 201943 ovf 文件的导出和导入
  17. 程序员应该如何做才能更好的实现自我价值?
  18. 花嫁之容氏浅浅最后怎么样了_花嫁之容氏浅浅小说
  19. Android P2P 通信方案探索
  20. Vue-自定义tab组件v-model

热门文章

  1. Windows安装MySQL以及解决.dll文件缺失问题
  2. python3 selenium教程_2018年python3与selenium教程第1节
  3. 鱼C论坛上Python练习题-72
  4. 微信小程序AES解密失败
  5. ubuntu 进入紧急救援模式
  6. linux CentOS 7 在线安装 zabbix 官网的思路,最简洁
  7. mysql数据库集群方案
  8. 事件绑定,事件监听,事件委托
  9. 草根站长的艰辛创业路
  10. 组合辛普森公式(数值积分)