更换喇叭解决乐高DUPLO火车不响的问题

宝宝的乐高得宝(Duplo)智能火车(10874)又玩坏了。这次的问题是喇叭不响,不光遇到黄色鸣笛积木不响,连开关机的提示音也没了。这说明——多半是坏了。

发挥自己动手的优良传统,先拆机,确定零件型号。麻利的卸下电池、拆开底盖,找到喇叭,测量和观察后,大概参数如下:阻抗16欧、功率0.25W、直径21mm,塑料喇叭

淘宝上一搜,找了个最便宜的,9块9包邮,10个。到货后,等到一个夜深人静的晚上,拿起我心爱的小烙铁,开工换之。

更换完毕,通电试机,大功成矣。

根据“什么值得买”网站上的一遍文章的评论,喇叭不响这个问题挺常见的,说明这个玩具的品控确实不太行。但要注意与另一个问题区分:有时候火车通过黄色积木不响,猜测是积木表面磨损,导致反光率存在问题,火车的光电识别对黄色不太灵,就不会响。这时候可以调整一下积木摆放位置,可能就好了。并不是喇叭硬件坏了。

解决vs_installershell.exe has an invalid certificate问题

问题描述:打开Visual Studio Installer出现了错误:vs_installershell.exe has an invalid certificate,程序终止,无法启动visual studio installer.

问题分析:检查vs_installer.exe的数字签名,发现SHA1签署的签名无效。点击证书详情,发现是Microsoft Root Certificate Authority被吊销,导致数字签名验证失败,所以无法启动VS Installer。但在证书管理器里检查这个证书没有问题。

Work around:手动启动vs_installershell.exe(注意要以管理员模式启动),仍然能打开VS Installer并执行VS更新。

解决方法:

  1. 导出Microsoft Root Certificate Authority这个根证书到文件备份。
  2. 在组策略中取消证书自动更新。gpedit.msc -> 计算机配置 -> 管理模板 -> 系统 -> Internet通信管理 -> Internet通信设置 -> 关闭自动根证书更新 -> 已启用
  3. 在证书管理器中删除Microsoft Root Certificate Authority这个根证书,注意计算机账户和用户账户里的证书都要删掉。(方法是运行mmc.exe然后选择添加管理单元,选择证书后再选择本地计算机账户)
  4. 导入刚才备份的根证书到系统中。
  5. 在文件属性中查看vs_installershell.exe的数字签名,此时应该签名正常。
  6. 打开组策略中的证书自动更新。(参考第2步,最后选择已停用或未配置即可)

原因:出现问题之前自己手动删除了系统里所有的根证书。猜想是这个原因导致系统的证书验证出现异常。而Microsoft Root Certificate Authority这个证书是Windows系统需要的,如果出现问题会导致系统组件工作不正常。所以通过停用自动更新的方式,手动刷新了这个根证书的状态,系统恢复正常。


English Version:

Error description: An error occurred while opening Visual Studio Installer: “vs_installershell.exe has an invalid certificate”. The program terminates afterwards.

Problem analysis: Manually check the digital signature via Properties window, the SHA1 signature is invalid. By clicking “View certificate”, it says that the “Microsoft Root Certificate Authority” CA certificate is revoked, the signature is invalid. The VS installer cannot be started because the digital signature validation failed.

Work around: Manually start vs_installershell.exe from File Explorer. By default it’s located in C:\Program Files(x86)\Microsoft Visual Studio\Installer\. Note that you should run as administrator.

Solution:

  1. Export the CA certificate “Microsoft Root Certificate Authority” to file.
  2. Disable Automatic Root Certificate Update in Group policy. Run gpedit.msc -> Computer config -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication Settings -> Turn off Automatic Root Certificates Update -> Enabled.
  3. Open local computer certificate manager. (Steps here) Delete the “Microsoft Root Certificate Authority” CA certificate from trusted root certification authorities.
  4. Import the certificate from file (just exported in step 1).
  5. Check the digital signature of vs_installershell.exe from File Properties again. Now the signature should be valid.
  6. Turn on Automatic Root Certificates Update. (Refer to the operation in step 2)

Root cause: Before the error occurs, I just deleted all the certificate from system. But “Microsoft Root Certificate Authority” is required for Windows. If deleted, the system might encounter unknown issue. Turn off and turn on the Automatic Certificate Update and re-import the certificate would reset internal system state, which solve the problem.

乐高LEGO得宝DUPLO智能火车拆解修复

宝宝的 LEGO 乐高智能火车(10874)在玩过一次之后就不能走了。症状是安上电池可以开机,可以出声,手机蓝牙可以连接,但车轮不走。在不通电的情况下用手去掰车轮也非常生硬,难以转动,初步判断是马达坏掉了。

出于对这个高级玩具的好奇心和对自己动手的兴趣,决定拆开来看看,试着修复一番。

1. 首先拆开电池仓,用六角星形 T8 螺丝刀拧开底部的六个螺丝。(包括电池仓内的两个)

2. 随后可以小心地取下底盖。就能看到内部结构了。中间是电路板,前部是导光条,用来显示车灯。马达齿轮箱和金属配重安装在后部。

3. 可以轻轻取下马达和齿轮箱。用手转一转,发现很生硬,于是上了一点润滑脂。

4. 马达箱和齿轮箱是通过卡扣连接在一起的,可以用镊子小心地取下。马达则先把输出齿轮取下,然后取下尾部,就可以把马达单独拿下了。过程中需要注意尽量不要把线弄断,否则就要重新焊接了。

5. 用小螺丝刀把马达尾部拆开,取下转子,仔细检查转子绕组是否断开,然后小心地装上。这个马达的碳刷是比较大的,在安装的时候要小心碳刷不要被卡住。装好以后用手转一转,发现比之前要灵活多了,可能是马达被宝宝在玩耍过程中弄得堵转导致内部卡住了。

6. 通电试机,这下发现马达恢复了运转。说明之前的确是内部卡住了。本来从淘宝上买了五个替换马达,这下也没有用上。

最后是一点运转原理分析:这个智能火车是乐高 DUPLO 于 2018 年下半年发布的新品,支持蓝牙连接,支持感应积木。通过拆解全面了解它的原理:

  • 前轮轴上装有磁环,主板上磁环对应的位置有霍尔传感器,用于转速检测。这样火车被宝宝推动(不论前后)的时候前轮会转,从而启动马达驱动火车运转。火车在运行中被提起来,前轮失去附着,会停转;或者是运行中遇到障碍物,前轮也会停转,传感器感应到转速为零后,主板会停止马达,实现自动停车。
  • 车底有一个 RGB 三色 LED 和一个颜色探头,LED 照亮物体,通过物体的反光来识别颜色。不同的感应积木有不同的颜色(如红色—停车、黄色—鸣笛,感应积木本身就是一个塑料片,没有任何的智能化功能),这样车辆在运行中通过颜色传感器来“识别”不同的积木,从而作出相应的动作,实现“智能化”。

最后不得不感慨,随着电子信息技术的进步,现在的小朋友好玩的玩具真是太多了。一个小小的乐高积木玩具,都能实现电子化智能化。

附记:关于喇叭不响的问题,可参见后面换喇叭的文章

佳能 PRINT Business 无法连接的问题及排除

新买的佳能 LBP6018w,在电脑上 USB 打印和无线打印都很正常。在手机上试用了安卓打印插件(Canon Print Service)从 Word 输出文件一切正常。唯独使用佳能 PRINT Business 打印 APP 的时候,死活无法连接。

问题的描述与百度贴吧里的这篇贴子是一致的:6018w打印机连接手机的问题。特点如下:

  1. 其它打印方式正常,唯独 Canon PRINT Business 这个 APP 里不正常。
  2. Canon PRINT Business 可以搜索到打印机,但添加到主界面后,状态从就绪立即变成 N/A,图标从绿色变成灰色。

为了排除问题,在打印机设置里一阵好找。开始以为是 MTU 的问题,默认的 MTU 是 1500,但我的无线网络是有 VLAN Tag 的,需要占用 4 byte,如果打印机的 WiFi 发送大包会被丢弃。猜测是发现阶段广播的小包可以接收,但大包被丢弃了导致无法连接。

在打印机设置里把 MTU 调到 1400,重启后问题依旧,说明不是 MTU 导致的。

后来在佳能打印 APP 里反复搜索、添加打印机,打印机界面里一个熟悉的字样引起了我的注意:localhost。在自动搜索状态下,打印机的主机名被设置成了 localhost。这就有合理的解释了:添加到 APP 以后,APP 把数据发送给 localhost 也就是本机上,当然无法连接到打印机。为了证实这个猜测,做了两件事:

  1. 在佳能 APP 中手动添加打印机。用 IP 地址作为访问方式,添加 192.168.100.16 作为访问地址。后续打印和访问没有问题。
  2. 在计算机上反向解析 IP 地址。运行 nslookup 192.168.100.16 显示结果为 localhost。这就说明为什么自动搜索的时候会把打印机的地址显示成 localhost,因为都是依据反向解析结果来的。在路由器上把主机名称加上,再次使用自动搜索,没有问题。

 

家用打印机的选择

最近要买一款家用打印机,搜索对比了许久,把一些发现记录如下。

喷墨还是激光?
果断选择激光打印机,喷墨打印机有几个先天缺陷是无法解决的:

  • 容易堵喷头:家庭打印的频度都不是很高,喷墨机一旦长时间不用墨水就会干掉堵塞喷头。这和平日里使用钢笔的经验是一致的。
  • 打印速度慢:现在家用喷墨机正常模式也就5-10张/分。激光机轻松超越这个指标,一般都在14-20张/分左右。这也是现行喷墨技术原理决定的,除非以后升级到按行喷墨,一次完成一行的喷印,否则是无法超越激光打印的。
  • 不防水:染料墨水沾水后会洇开,字迹失去可读性。

相比之下,激光打印机则有性能稳定、打印速度快、打印质量稳定等优点。

要不要彩色?
彩色是不可能的,这辈子也不可能的。(误)彩色固然能提供很多便利,甚至很多时候必须使用彩色。但是在家庭需求而言,彩色的使用频度并不很高,而为了彩色却要付出一倍以上(考虑到 CMYK 四色甚至可能更高)的成本。因此果断放弃彩色打印。

要不要复印、扫描、传真等功能?(即一体机)
不要。传真首先排除,家用完全用不着。扫描可以使用手机拍照然后打印,如对质量有要求,可以在 PS 里做适当的梯形修正以及拼版。复印等同于先扫描再打印。

连接方式
现在智能手机普及了,很多资料都是在手机上产生或接收的(比如家长群里老师布置的作业)。如果为此必须开机连接电脑,那就太麻烦了。因此选择一款支持无线网络的打印机是很有必要的。

耗材成本
这一点无论家用或者商用都是至关重要的指标。经过搜索研究后发现,耗材成本并不取决于厂家的良心或采用的技术先进与否。原装耗材是厂家很重要的一个利润来源,虽然有些厂家(如富士施乐,兄弟等)推出了鼓粉分离技术,但其缺少第三方兼容耗材的支持,本质上并不便宜。

真正使打印成本降下来的,是广大的第三方兼容耗材供应商。在淘宝上,可加粉的第三方兼容硒鼓的成本低至 50 元左右,而原装耗材则在 300 元以上,由此可见耗材的利润有多么高。
耗材这一点基本上把新款机型排除在外,因为新款机器往往使用新款硒鼓,导致硒鼓的流行程度不高,难以买到兼容耗材。同时新款硒鼓上往往安装了新一代的计数芯片(以计数的名义行加密之实),芯片破解难度大,破解成本高,也进一步制约了第三方耗材的生产。(一个案例是淘宝上第三方耗材厂家的硒鼓不配芯片,需要自己把原装硒鼓上的芯片取下来安装到第三方硒鼓上。)

最终选择
经过以上条条框框的制约,实际能选的非常有限。一代神机 HP LaserJet 1020 PlusCanon LaserSHOT LBP2900+,使用 12A 硒鼓,无芯片加密,成本最低,但因不支持无线技术,被排除在外。再往上就是 HP CC388A / CE285 和 Canon 328/912/925 这一代硒鼓了,有计数芯片,但破解容易加粉容易,成本也能做到50左右。(关于计数芯片,原则上可以开发出无限次计数的,但芯片厂家也要生存,因此做出来的芯片也只能限制次数,确保自己的芯片能够持续销售下去,不得不感慨利益才是永恒法则啊)
HP 呢,比较黑心,使用这一代硒鼓的打印机都停产了,淘宝上能搜到零星的商家在卖,但大多标着港版的名义(实则为拼装机、翻新机),虽然价格很便宜,只要500-600,是原价的 50-70%,但家用还要买个稳妥放心,一旦有故障维修起来也很费心,也就不考虑了。佳能还好,良心一点,使用 CRG 925 硒鼓的 Canon imageCLASS LBP6018w 还在生产,京东价格 799(Plus会员价),也就不费心的拿下了。
对应的海外型号是 Canon imageCLASS LBP6030w,可能是佳能为了防止海内外串货和走私水货的考虑把型号做得不一样。美国和香港的型号虽然都是 6030w,但是规格里的电压是不一样的。美版为 110V,港版为 220V,如果买水货或者代购,这点是要注意的。

其它一些发现

关于打印机厂家
惠普虽然占有率最高,但并不掌握核心技术。惠普在收购三星之前,打印机的核心部件(硒鼓、定影组件等硬件)都是由佳能研发并代工的。这一点有两个佐证:一是打印机的发展史,早期佳能研发了小型化激光打印技术,把技术卖给了美国厂家,惠普从而有了小型激光打印机。[1] 二是惠普的许多硒鼓与佳能是通用的,典型的有惠普 12A 与佳能 303,二者可以通用。

激光打印另一家比较有名的是施乐(Xerox)。但施乐似乎专攻大型数码复合机(由复印机演化而来),对于桌面化的小型激光打印机投入较少。同时在亚太地区,施乐的业务由富士施乐这家合资公司来开展,据说低端产品代工居多。

打印语言
最早的针式打印机脱胎于打字机(Typewriter),自带字库,电脑把需要打印的文字直接以原始编码的形式发到打印机上,打印机根据自带的字库字体来输出。对于图形的输出能力非常有限(很多时候都是利用字库里的特殊符号来完成)。

后来 Adobe 发布了 PostScript 语言,打印机里集成了 PostScript 引擎,由引擎把输入的文字和图形转化为打印机可以理解的光栅化图形然后输出。从此打印机可以输出复杂图形和各种字体。但是集成的引擎硬件大幅提高了打印机的成本,终端用户很难承担。

惠普也发布了自己的打印语言 PCL,但是取消了硬件打印引擎,由计算机上的软件形式的 PCL 引擎来把文字和图形翻译成可打印的光栅图像。至今已经发布到 PCL6,还有面向移动设备的 PCLm。

佳能也有类似的打印语言 UFR (Ultra Fast Rendering),但据说集成了 PCL 和 PS 二者的优点,能够同时把打印任务交给计算机和打印机来处理,这样更快地完成打印渲染,从而加快打印速度。

移动打印
智能手机普及以来,需要频繁地从移动设备上打印。从而产生了一些移动打印解决方案。
系统级:Android Print Service 和 Apple AirPrint
AirPrint 在 iOS 系统里集成了打印框架,打印机厂家在打印机上提供支持。AirPrint需要苹果的支持和授权。
Android Print Service 是 Android 系统里提供了打印服务接口,由打印机厂家来提供打印服务程序(相当于打印机驱动)。Android Print Service只需要厂家按规范编写打印服务程序就可以,不需要在打印机固件上提供支持。移动 APP 需要调用系统的打印 API 来输出,对于一些未提供打印功能的程序,无法使用此接口打印。典型的如 Android 中的照片 APP,如果菜单里没有“打印”功能,则无法使用此方式来打印。

应用级:各厂家也基于自己的打印机产品提供了应用层面的打印机支持。例如 HP ePrint,Canon PRINT Business/Ink/SELPHY。这种实现是一个普通的 APP,在应用层面提供打印机的支持。其它软件通过系统的“分享”功能,把文档数据分享至相应的应用来打印。兼容性比较高,但实际打印格式的支持可能有限,仅限常见格式。

[1] 历史的有趣历程:打印设备进化简史