国产 ATM 的故事
Deepin
2025-10-22 1623字

今天给你们讲一下第一台国产 Linux ATM 机的故事

那是 2015 年冬天的一个故事

2015 年的春节前 2 个月,我都要准备规划冬季旅游的路线了,杭州东方通信给我打电话,说他们领导准备把 Windows XP 驱动的 ATM 机器换成 deepin 系统。我当时接到这个电话的时候,我说你是骗子吧,我第一次见到骗子骗我要造 ATM 机器的。他说不是,你可以加微信,加了微信看名片像那么回事。

我说,好啊,怎么弄?

他说,他们领导想在春节把 ATM 机在国产操作系统上跑起来。我说,这个时间有点紧,需要我评估一下,最起码让我知道 ATM 机都是怎么制造的吧?他说,就明天吧?

哈哈哈哈,我还是喜欢这种做事直接的厂商

第二天我飞到杭州,看了一下他们工厂,其实 ATM 机还是比较简单的:

  1. 一个铁皮柜
  2. 铁皮柜里面放了台式机、打印机、网口、屏幕、键盘输入,就是一个普通的台式机
  3. 核心是验钞模块,全世界都用的日立的验钞模块

我问为啥只有日立的?他们说日立的验钞模块可以做到 100 张毛爷爷 100% 正确,国产的验钞模块有可能会少数一张。哈哈哈哈哈

我研究了一下系统,就是 Windows XP,显示器、打印机、键盘、USB 控制器这些驱动都好整,就是那个验钞模块,从零写驱动加上测试,2 个月不够呀。

我回去就叫上了刘先生,我说我们干脆先用 Wine 整一下吧,果然,经过 3 天的集中修复 bug,我们成功的通过 Wine 把东方通信的 ATM 程序跑起来了,他们领导看到 deepin 系统启动后,wine 驱动的应用程序直接就可以取钱,当场就震惊了。他们本来期望两个月攻坚,在春节前给领导汇报,没想到我们 3 天就搞定了。

这个速度他们是没想到的,你们也知道,国内政府主要就是喜欢整这种好大喜功的大活,我们 3 天就给他们把汇报的素材准备好了,领导们可有动力了。技术搞定了,我就跟商务同学说,靠你们了,我和同事回武汉了。

过了一个月,我的冬季旅游都规划好了,东方通信又给我来电话了,说领导说你们团队太牛逼了,能不能春节前整一个纯粹 Linux 的 ATM 机,不要 Wine,毕竟是取钱的设备,Wine 万一出 bug 了,承担不起那个责任啊。

我说,一个月,光写驱动都要一个月啊,来不及,来不及。

东方通信的哥们说你们想想办法吧,那时候在整新的操作系统发版本,所有内核开发人员全部在产品上,没时间。商务同学说我作为 CTO 一定要支持一下。实在没人,我就把 Wine 团队的负责人刘先生整到杭州去。我说,你先盯着吧,最起码人在现场,态度在那里。

果然几天后,东方通信的哥们跟我打电话抱怨,说我们不重视他们。我说,怎么不重视?他说每次开会我们 30 人,你们对面永远都是 1 个人。我说,你不要小看我们 1 个人,反正那次打电话不欢而散

我打电话问了一下刘先生,他们的需求明确不?刘先生说明确,就是要在 Linux 内核态写一个验钞模块的驱动

我说,你先顶一下,春节前实在没人了

过了半个月,刘先生说他搞定了验钞模块的驱动,我说啥?你怎么搞定的?

他说,就是写出来了呀。我说,你不是做 Windows 和 Wine 开发的吗?你又不会 Linux 内核

他说,因为他会 Windows 开发,所以我前 3 天详细问了他们验钞模块 Windows 驱动是怎么写的,觉得还蛮简单的。他就去杭州的一个书店买了一本 Linux 内核的书,白天和他们开会,晚上就看 Linux 内核的书,看了一个星期把书看完了,剩下的就是照着书里面的方法写驱动,3 天就把验钞模块驱动写完了,剩下几天调试了一下,修了一下 bug,就搞完了。

我:。。。

我记得第 20 天的时候,原生 Linux + 验钞模块驱动的 ATM 机直接就可以吐钱,而且一张毛爷爷也不差的时候。整个东方通信的人都震惊了,这次震惊比上次 3 天 Wine 的方法跑起来还要震惊。

东方通信那个哥们在给我打电话说测试结果的喜讯时,我问了他:哥们,我们重视不?他说,重视重视,你们太牛逼了!

就这样,史上第一台 Linux 驱动的 ATM 机器就在 2 个月内开发好了,现在只要是邮政、广州农商行的 ATM 机器,背后都是 Linux 操作系统,哈哈哈哈