症状:

左侧能充电的那个usb-c 红灯始终常亮。拔下电源线也亮着。

系统里电源是始终显示正在充电,即使拔掉外接电源也显示连着外接电源正在充电!

——最吓人的是,用U盘启动进PE,想重装win10,结果在pe里还是不带外接电源,显示正在充电,且充电进度条一直滚。

——设备管理器里,找不到thunderbolt 设备,Lenovo网站下载的更新thunderbolt firmware 的工具提示 找不到 tb设备!

解决方案:参考:https://askubuntu.com/questions/980490/lenovo-x1-thinkpad-battery-not-charging-in-17-04

1关机重启,按enter->F1进bios

2在config->power->turn off Battery   (这步之前我还是犹豫了,因为万一是tb硬件坏了,这一步万一睡死了变砖呢?2333 如果我没有备份机,我是绝对不敢做这一步的!)

3 此时已经黑屏关机,左侧灯肯定灭了。这时上ac电源,按电源,系统启动!

起因:

这两天win10推送的什么更新。

我的使用习惯是 每天合上盖子休眠。打开直接用,结果今天早上发现 usb-c 外接的think vision的屏幕和鼠标都不好使了。

再检查一下,发现连电都充不进去了。

一直怀疑是win10 1809升级导致的,结果折腾一天,幸亏1809的msdn镜像做得太差,没有让我顺利重装。(要不是1809的iso镜像wim文件超过4G,没法用之前的U盘刻录方式安装;要不是在pe下仍然看见诡异的不插电源显示正在充电,现在系统已经重装完了 23333.)

折腾到下午,电池的电越来越少,已经准备接受变砖可能了。

然后搜到bios里断电这个方案:在我有备份机的情况下,犹豫了一下,还是照做了。

——  怎么说呢

1不管怎么说,不管这个bug的起因是什么(tb3 firmware 或者驱动或者win10 1809什么的),抠掉电池掉电  让电源口状态复位 这个设定,还是起到了托底的作用。最终有惊无险,我也省的完全重装系统之苦。——不管怎么样掉电,保证系统没有变砖。

2 故障还是有点诡异。有点不应该。特别是电源口失去响应,即使在pe下仍然看见电源状态是插电正在充电,是在有点吓人。

明显系统的tb口状态飞了,os 包括pe都无法get到!这时“实际ac电源插拔状态,ac口灯状态,和os里看到的是否正在充电进度条状态"已经完全不同步了。

——对写程序的启示:  这就是抛异常和watchdog的作用吧。

而且,越是关键系统,核心组件,越是不要搞得太机巧,反而要笨一点,严一点,用状态机建模。

只让系统任意时刻都运行在人为规定的唯一1个确定状态空间中

这种类似真值表、穷举法、白名单的建模方式非常的原始,笨拙,不智能,不elegant,也不fusion

但是管用的办法,就不是笨办法。

任何方法都不能滥用,也不能不用。用到恰到好处需要不断的多写,多体会,需要下自己功夫。

x1c 6th usb-c 接口灯常亮,电源无法充电的更多相关文章

  1. LongLightUtils【保持屏幕常亮工具类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是简单记录下保持屏幕常亮工具类LongLightUtils的使用,具体请阅读参考资料<Android屏幕常亮,其实很简单 ...

  2. cocos2d-x 如何保持屏幕常亮

    转自:http://blog.csdn.net/wolfking_2009/article/details/8939027 貌似cocos2d-x没有接口直接做这个功能 而各个平台又不一样,所以只能对 ...

  3. 完美实现Android的屏幕常亮功能

    笔者所在公司做的APP是股票类的,用户在查看股票报价页面的时候,往往需要开启盯盘模式,这个时候屏幕是不能黑屏的,黑屏会导致用户看不到一些关键报价涨跌,错过了买入卖出的最佳时机,就会给用户造成损失,这是 ...

  4. Android保持屏幕常亮的方法

    以前一直使用newWakeLock方法: this.powerManager = (PowerManager) this .getSystemService(Context.POWER_SERVICE ...

  5. USB Type-C 接口有什么优点?

    USB Type-C 接口有什么优点? 提到USB Type-C接口(以下简称为USB-C),大家第一个能想到的是USB-C接口能正反插,用起来很舒服.了解更多的可能还支持USB-C接口速度更快, 达 ...

  6. android的屏幕保持常亮

    1.Wake Lock是一种锁的机制 在Manifest.xml文件里面用user-permission声明.代码如下: 这种方法,在安装apk时,系统会提示安装人是否允许使用禁止休眠功能. < ...

  7. (三)开关检测来控制LED灯的亮灭

    开关检测案例一: 具体电路图如下: K1--K4闭合,控制 D1—D4 亮灭 产生的问题: 1.关于 R8 R9 R7 R10 的阻值选择问题,倘若太大的话,  比如10K 不管开关断开还是闭合,好像 ...

  8. 关于android的屏幕保持常亮

    实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位.具体如下: 1.在Manifest.xml文件里面用user-permis ...

  9. USB Type-C接口完美无瑕?小心这五点

    今年下半年发布的新手机中,采用USB Type-C接口与传统micro USB接口的手机,所占比例大概是一半对一半.采用Type-C接口的手机大多数都是国产手机,而像三星.摩托罗拉以及索尼等老牌的手机 ...

随机推荐

  1. Django中Session

    Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: ·数据库(默认) ·缓存 ·文件 ·缓存+数据库 ·加密cookie (1)数据库中的Session Djan ...

  2. linux装sqlite3

    下载sqlite3源码包 tar xvfz sqlite-src-3.3.5 cd sqlite-3.3.5 ./configure –no-tcl make python继续一次. apt inst ...

  3. JDK源码之HashSet

    1.定义 HashSet继承AbstractSet类,实现Set,Cloneable,Serializable接口.Set 接口是一种不包括重复元素的 Collection,它维持它自己的内部排序,所 ...

  4. git clone 报错Unable to negotiate with xxx.xxx.xxx.xxx port 12345: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

    在执行git clone命令报错 Unable to negotiate with xxx.xxx.xxx.xxx port 12345: no matching key exchange metho ...

  5. PHP多进程非阻塞模式下结合原生Mysql与单进程效率测试对比

    公司在做游戏服务器合并的时候,对大批量数据表做了合并操作,难免会出现数据格式不一致问题.根据玩家反映BUG排查,是因为某个模块下日志表出现了数据格式问题导致. 目前想到的是有两种方案解决,第一种就是把 ...

  6. Mac下Homebrew的安装与使用

    Homebrew简介,安装与使用 简介 Homebrew 官方网站 Homebrew是一个包管理器,用于安装Apple没有预装但你需要的UNIX工具.(比如著名的wget). Homebrew会将软件 ...

  7. Restful framework【第一篇】RESTful 规范

    什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审 ...

  8. Linux下调整ext3分区大小【转】

    本文转载自:https://blog.csdn.net/cruise_h/article/details/22403529 本文讨论如何再不丢失数据的情况下调整已有ext3分区的大小,包括: 压缩已有 ...

  9. newcoder 筱玛的迷阵探险(搜索 + 01字典树)题解

    题目描述 筱玛是个快乐的男孩子. 寒假终于到了,筱玛决定请他的朋友们一起来玩迷阵探险. 迷阵可以看做一个n×nn×n的矩阵A,每个格子上有一个有一个数Ai,j. 入口在左上角的(1,1)处,出口在右下 ...

  10. Flyway Overview and Installation

    https://flywaydb.org/documentation/ Flyway is an open-source database migration tool. It strongly fa ...