一条FPC排线的故事,让你知道软件和硬件的差别
微服是2024年8月份公开销售的,其实2023年10月份就可以卖了,但是当时卖之前晴天霹雳,硬件制造给我们软件团队好好的上了一课。
这个故事要从2023年那个寒冷的冬天说起,微服的设计非常复杂,底层操作系统是我们基于Linux百分之百自研的,有三层架构,底层操作系统非常精简只管硬件,网络和升级,因为功能小巧,所以代码稳定,底层操作系统的原则是任何业务代码都不能加到这里来,这样的设计保证不管将来业务层出了任何问题,都可以保证系统可升级,即使升级失败可以立马回滚到旧的操作系统版本,这也是微服这么多用户从来没有过升级变砖的信心。
中间层操作系统主要是根据用户需求改功能,保证应用数据隔离和网络监控,避免恶意程序作恶偷用户数据。
上层LPK是一个带完整镜像的软件包格式,很像windows的绿色软件,下载下来就可以跑,不会像dockerfile那样,上游镜像挂了就没法安装。
这套三层架构的操作系统,一层保稳定,一层跟需求,一层扩生态,我们从零开始,整整三年,就在家打造操作系统,没有做过任何宣传和卖货。到2023年的时候,我们有信心这套操作系统足够稳定了,内部测试也做了好几个月,团队决定2023年10月份对外销售。
2023年9月份,所有事情都在紧密筹备的时候,那个月武汉的冬天来的特别早,很多同事早早的都裹上了棉袄。一天早上测试同学说有个机器掉盘了,我当时没在意,我说多测测。我认为只是硬件没装好。隔了几天又有同事说掉盘,但是不能稳定重现。我的心里有点波动,不会是硬件又闹幺蛾子了吧?关键问题还不能必现,这可如何是好呀?
直到有一个售后同事说他们家一天掉盘好几次,我就和系统工程师来车去售后同事家现场调试。我们首先采用了很多排除法,排除操作系统,软件的影响,一直没找到原因,但是这次好的是重现频率很高。软件排查了,我们就开始盯着硬件搞,我们拆了外壳,发现有时候稳定掉盘,有时候不掉。我当时想,信了邪,这难道和我手握的方式有关?不,做硬件肯定不能相信玄学。
各种折腾,一点头绪都没有,太诡异了,随机重现。无奈,中午在同事家吃了点外卖,下午死磕,我一定要把这个原因找出来。下午,又在各种折腾,我发现机器放桌子左边掉盘概率大,放右边掉盘概率小。咦,掉盘还要看风水?难道这个桌子有蹊跷?我看了看,也没有啥不一样的啊,都是木头做的。就在我快放弃时,我蹲下来看了看桌子下面,我仔细检查了一圈,我突然发现桌子左边有一台小米的无线路由器,难道是它?我赶忙把路由器拿开,果然左右两边都不掉盘了,我再把路由器贴着微服,100%掉盘,破案了。
回到公司,我跟同事说,原因应该是路由器5G的频率和SATA 6G频率接近,产生了电磁干扰导致掉盘。测试同学买了一个超大功率的小米路由器,果然1000%掉盘,只要路由器挨着微服45cm的位置掉盘率是100%,100cm距离是30%。(所以你现在来公司参观,会发现公司有很多大功率路由器,那些不是上网设备,那是微服硬件的EMP测试)
知道了干扰源,接下来就要断定是哪里的问题,因为有可能是主板问题,也有可能是SATA排线的问题,也有可能是硬盘的问题。这时候就要回归物理第一性原理,小心的做物理实验。
我们最开始锡纸包裹微服,没用,因为包裹不紧密,只要有一点缝隙都会把电磁波漏进去。最后我们找的两个牛逼的设备,茶盒和饼干盒,经常喝茶的人都知道,茶盒是全身铁皮,完美的法拉第笼。我们先把整个主板丢进饼干盒里盖上盖子,排线和硬盘在外面测试,掉盘。我们把硬盘和排线丢进茶盒盖上盖子,不掉盘。我们整个机器丢进盒子里,不掉盘。我们换了不同硬盘,测试结果和盘没关系。
物理实验做完了,和硬盘没关,和主板关系不大,应该就是FPC排线或者SATA转接座子的原因。创业的难题又来了,临门一脚不能卖,这样的机器卖了杂招牌。怎么办呢?团队成员心里有点焦虑,毕竟花了这么长时间跌倒在这里。
我也不知道怎么办,我直接去了深圳,临走时,我跟团队说,解决不了掉盘问题,我不回武汉。
续篇看下一个推特。
点击图片查看原图