Linux 的 /dev/usb/lp0 的 OSX 版本是什么?

Mic*_*ard 5 linux macos usb device

我正在写信给 Centronics 电缆并通过一个简单的“缓冲”电路使一些 LED 闪烁。

我可以通过引用 Ubuntu 机器上 /dev/usb/lp0 上的设备位置的 C 代码写出这些位。

但是,我希望能够在 OSX Mavericks 上执行此操作。我没有看到与 Linux 中相同类型的设备文件。

即在 Linux 上是否有类似于 /dev/usb/lp0 的 OSX 模拟?

非常感谢。

ube*_*eck 0

在“一切都是文件”的概念下,lp0 只是一个允许对设备进行原始访问的特殊文件,在本例中是第一个并行设备的“特殊字符文件”。如果存在与设备匹配的驱动程序,或者类似的东西,那么 OSX 上也会存在同样的情况/dev/parport0。不过,OSX 的并行驱动程序集合相当有限。您可以尝试捏造它 - 创建一个“字符”设备文件,将其指向一些带有mknod.

例如mknod lp0 c x y,其中 x 和 y 是设备类型的主要编号和次要编号。通常,您可以在 Linux 上的文件中找到这些数字documentation/devices.txt,但不确定这些信息在 OSX 上的位置。

我见过设备使用通用打印机驱动程序来处理此问题,例如“小工具打印机”: https: //www.kernel.org/doc/Documentation/usb/gadget_printer.txt

(我最初的假设)

在这种情况下,该设备实际上将作为打印机显示在系统上。您可以使用 lpstat 等 CUPS 实用程序查找打印机列表及其位置:

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/lpstat.1.html#//apple_ref/doc/man/1/lpstat

还有环境变量LPDESTPRINTER应列出默认打印位置:

echo $LDPEST