查看: 3892|回复: 1

[求助] 为什么激光或喷墨打印机没有开源固件?

[复制链接]
  • TA的每日心情

    2018-11-20 13:41
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2019-6-6 17:30:32 | 显示全部楼层 |阅读模式
    分享到:
    与路由器(例如OpenWRT)不同,用开源代码替换闭源打印机固件。正如最近的文章所示,某些封闭源打印机固件存在严重漏洞。例如,多功能机器上的整个“传真攻击”(甚至不需要连接网络来利用)。
    回复

    使用道具 举报

    该用户从未签到

    发表于 2019-6-6 18:00:46 | 显示全部楼层
    我曾经在一家制作打印机软件的公司工作。基本上,一家公司(例如佳能公司)会推出新的打印机硬件,我们会调整我们的代码以在他们的平台上运行,然后他们会将软件放入他们的机器中。任何非HP或Apple的打印机都有我的部分代码。

    进入打印机的软件是数十万行代码。

    基本上,打印机没有进行渲染,没有足够的内存来渲染整页,因此软件将页面分成多个切片并在当前切片打印时渲染下一个切片。要做出正确的努力需要付出很多努力。

    例如,激光打印机不能在打印页面的过程中停止,因此不仅切片必须适合存储器,而且必须在鼓到达页面的那一部分时完成渲染。

    然后是验证:三种基本语言是postscript和PCL / GL,并且那些描述语言中的角落案例数量巨大。我的公司为这三种语言购买了一组调试参考测试和渲染输出......而且它非常庞大。我们正在谈论大量的货架空间,只是为了存储这些输出书,每次语言规范发生变化时都会有新的。(Postscript和其他语言有版本和错误修复。)

    打印机硬件很简单:硬件描述通常是已知的处理器类型(您可以获得编译器),以及I / O映射,显示哪个GPIO点亮哪个LED,如何将数据发送到激光器等等。那部分非常简单。

    为了让您了解复杂性,IBM来了,让我们将现有软件移植到他们的新机器上 - 软件已被移植到其他几十个硬件系统并且非常强大 - 并且找到了软件团队发布的初始版本有900个错误。

    IMO,只有拥有专用软件和QA团队以及良好管理的公司才能制作打印机软件。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-26 23:47 , Processed in 0.116578 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.