高通手机900E变砖救活方法及原理分析
救活神器——刷机工程线
使用普通数据线简单改造即可:
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变砖救活方法及原理分析相关推荐
- Nubia Z5S(高通公司MSM8974) QHSUSB_BULK砖的方法节省模式(随着win7在恢复recovery分区案例)...
Nubia Z5S在某些异常情况或按组合键进入QHSUSB_BULK状态, 这种模式的现象, 猜想windows(实例win7)即使在数据线, 它会出现在计算机n载,甚至会提示要格式化某些分区(这里要 ...
- 一张壁纸使 Android 手机集体变砖,目前尚无解决方法
近日,一名网友在 Twitter 上传了一张壁纸并表示该壁纸会使他的三星手机崩溃.此前已经有日历 Bug 导致三星手机集体崩溃的事情发生,而这一次三星手机再次中招.只因为使用了一张风景壁纸就能导致手机 ...
- 高通手机基带镜像解压¥混合基带制作方法。(解决手机距离感应器失效)
一.取得基带 1-1.泛泰手机的话可以从官方卡刷包中取得 在fotamodem\NON-HLOS.bin,解压出来,扩展名改为img 1-2.也可以从当前手机中备份. 在twrp下,连接手机数据 ...
- 一张壁纸使 Android 手机集体变砖,目前尚无解决方法,移动应用开发
一张壁纸使Android手机集体变砖,目前尚无解决方法 图为"肇事"的壁纸,大家不要轻易尝试! 而后,该用户又发布了一条推文表示,不止是三星的手机,他的 Google Pixel ...
- android手机彻底变砖拯救
android手机彻底变砖拯救 Android手机变砖,只要不是硬件损坏引起的变砖,基本都可以拯救回来. 1.即使是手机开机不能够进入系统,不能够进入手机主界面设置开发者调试选项也能够拯救回来 2.我 ...
- 高通手机基带镜像解压混合基带制作教程(A850K工程机混合基带解决通话黑屏)
之前答应了几位机友要发布教程,后来因为一直忙拖到了现在...... 一.取得基带 1-1.泛泰手机的话可以从官方卡刷包中取得 在fotamodem\NON-HLOS.bin,解压出来,扩展名改为img ...
- 刷机后IMIE丢失怎么办 高通手机IMEI备份恢复教程
不少爱刷机的同学肯定都遇到过IMEI丢失的情况,IMEI究竟是个什么玩意?又有什么用呢?简单的来说是移动设备国际身份码的缩写,手机丢失IMEI就意味着手机无法搜索注册SIM卡,这也就是说你只能通过恢复 ...
- pixhawk2.4.8(FMUV3)变砖拯救方法
pixhawk2.4.8(FMUV3)变砖拯救方法 起因 过程 起因 在mission planner地面站bootloader update更新失败后,设备无法识别串口号,说白了就是变砖了.尝试了很 ...
- 高通手机手动切换diag口
高通手机找不到diag口: 1.adb root 2.手动切diag口: setprop sys.usb.config diag,adb
最新文章
- java排队叫号_java多线程(4)模拟排队叫号程序,不能出现交替执行的结果
- 【BZOJ】1834: [ZJOI2010]network 网络扩容(最大流+费用流)
- 【Python基础】字符编码ASCII-GBK-Unicode-UTF-8之间的关系
- notepad正则删除关键词所在行
- Linux学习笔记01
- 让 Chrome 崩溃的一行 CSS 代码
- 前端学习(3110):react-hello-函数式组件
- class-dump获取iOS私有api
- 干货 | 大白话彻底搞懂 HBase RowKey 详细设计
- 清华学霸组团的工业 AIoT 创企再获数千万融资:玩家应推动在边缘 AI 芯片上跑算法...
- Tomcat 部署多个项目出现错误
- Hadoop四大组件介绍
- matlab gui界面设计 打开文件,matlab GUI界面设计 点击按钮加载.mat数据的所有变量到工作空间中...
- PyCharm2021安装教程
- 使用js打印日历在控制台
- 201943 ovf 文件的导出和导入
- 程序员应该如何做才能更好的实现自我价值?
- 花嫁之容氏浅浅最后怎么样了_花嫁之容氏浅浅小说
- Android P2P 通信方案探索
- Vue-自定义tab组件v-model