为什么我无法将驱动程序上传到我的 Samba 打印服务器?

为什么我无法将驱动程序上传到我的 Samba 打印服务器?

我刚刚设置了一个带有 CUPS(1.4.2)和 Samba(3.6.9)的 CentOS 6.5 64 位 VM,并且可以非常愉快地从我的 Windows 7 64 位机器进行打印。

共享打印机是京瓷 FS-2100DN,我从京瓷网站下载了它的 PPD 文件,并且能够使用京瓷通用 KX 驱动程序集版本 611118 将共享打印机添加到我自己的机器,但是当我使用 Windows 中的服务器属性对话框时,我无法将驱动程序上传到 print$ 共享,以便其他人可以使用指向和打印添加打印机。

我已经检查过,我可以创建/上传文件到 print$ 共享,并且我暂时关闭了 SELinux 来测试这一点。

但错误是:

你指定的文件夹不包含与你的设备兼容的软件驱动程序

这个驱动程序正是我在自己的电脑上安装打印机(从 Samba 机器共享)时所用的,所以它绝对是打印机的驱动程序。

我从哪里可以把 x86 和 x64 驱动程序安装到 Samba 服务器上?

答案1

我知道回复晚了,但我刚刚也遇到过同样的情况,确定了问题所在,并找到了解决方案。问题是京瓷驱动程序 .inf 文件的格式不适合 Samba。

下载驱动程序并查看文件夹时,您将找到该OEMSETUP.inf文件(您可能在尝试通过打印管理或打印服务器属性对话框将驱动程序上传到 print$ 共享时选择了该文件)。它有所不同,但您很可能会看到安装 NTx86.5.1、NTx86.6.0、NTamd64.5.1、NTamd64.6.0(以及我假设用于 Itanium 的 ia)驱动程序的说明。“5.1 和 6.0”部分是导致 Samba 问题的原因。以下是我解决问题的方法;

  1. OEMSETUP.inf在文本编辑器中打开文件
  2. NT<...>从部分中删除部分[Manufacturer]
  3. 将其替换为NTx86NTamd64

    所以这...

    [Manufacturer]
    Kyocera=Kyocera,NTx86.5.1,NTx86.6.0,NTamd64.5.1,NTamd64.6.0`
    

    变成

    [Manufacturer]
    Kyocera=Kyocera,NTx86,NTamd64`
    
  4. 找到正下方的模型部分,您应该会看到标有“诸如”等的[Kyocera NTx86.5.1][Kyocera.NTx86.6.0]

  5. 只需删除其中包含的整个模型部分即可.5.1

  6. 其中的部分.6.0,简单地删除,.6.0以便[Kyocera.NTx86.6.0]改为[Kyocera.NTx86]

  7. 保存文件(在原始目录中)。

  8. 返回打印管理,添加驱动程序,选择 x64 和 x86 框,选择有磁盘,选择新保存的 .inf 文件。(请注意,似乎必须同时拥有 x64/x86 驱动程序才能在打印机属性中实际选择驱动程序)

  9. 您现在应该可以看到打印驱动程序列表,并且能够单击并安装它们。

请注意,由于您正在编辑 .inf 文件,因此数字签名将不再有效,因此您将收到一些警告。显然,由于我们进行了更改,所以我并不担心它们。我还假设如果您需要安装 5.1 版本,那么您可以按照相同的说明进行操作,但不是删除.5.1模型部分,而是将其更改为只读取NTx86NTamd64而是删除.6.0部分)。但是我不需要这样做,所以我没有测试它。此外,我很确定文件中还有其他部分由于我所做的更改而未使用,也可以删除(例如注释为“安装 NT5.1 (XP) 的部分”),但一旦我确定了问题的原因并安装了驱动程序,我就不再费心尝试“最小化”文件。

我没有声誉,所以无法为您发布图片。

相关内容