如何使并口工作?

如何使并口工作?

试图让一台便宜的数控机床工作,我必须通过并行端口连接。不幸的是,我无法使并行端口工作。

似乎检测到了 PCI 并行端口卡,但我没有实现向其传输/连接任何内容。

如何使并行端口工作?

如何让并口以普通用户权限工作?

编辑 该端口似乎只能在 root 权限下工作。这可能就是问题所在。但如何让并口对普通用户起作用呢?

注意:我的机器是带有 RT 内核 4.9 的 Debian Linux。


我所做的尝试:

PCI 并行卡已插入我的计算机。

运行 $lsmod |grep ppdev返回看起来正确的结果:

ppdev                  20480  2 
parport                49152  3 lp,parport_pc,ppdev

运行 $lspci -v返回信息,我不完全理解:

03:01.0 Parallel controller: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller (prog-if 03 [IEEE1284])
    Subsystem: Device a000:2000
    Flags: bus master, medium devsel, latency 32, IRQ 22
    I/O ports at dc00 [size=8]
    I/O ports at d880 [size=8]
    Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
    Memory at fcffe000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: parport_pc

更多数据:$ dmesg |grep parport(注意:我在单个并行端口上)返回

[   11.791907] parport_pc 00:02: reported by Plug and Play ACPI
[   11.791998] parport0: PC-style at 0x378 (0x778), irq 5 [PCSPP,TRISTATE,EPP]
[   11.888153] lp0: using parport0 (interrupt-driven).
[   11.888949] parport1: PC-style at 0xdc00, irq 22 [PCSPP,TRISTATE,EPP]
[   11.984195] lp1: using parport1 (interrupt-driven).

我从以下位置下载了一个测试应用程序这里,我从命令行运行,没有 root 权限。它以红色显示所有输出引脚,以绿色显示所有输入引脚。当按下输出引脚时,它会变成绿色,但我怀疑这没有任何意义。

按下 Pin01 的 PortTest 脚本

GND最后,最终测试:我在和之间连接了一个 LED 并口PIN_02(带有 1k 欧姆电阻)。如果我将其连接到BUZY(默认情况下打开),LED 会打开,但在连接到 时PIN_01,它永远不会亮,即使按下测试应用程序中的按钮也是如此。

LED测试

从所有这些测试中,我怀疑该卡已正确安装,但由于某些权限或其他错误配置,它无法工作。

我尝试使用 root admin 运行 PortTest,但它似乎对此不满意。

答案1

问题在于并行端口的权限:默认情况下,只有该组的用户才能访问它lp。显然用户root可以这样做,但普通用户则不允许。

将用户添加到lp组中,无需 sudo 即可访问并行端口:

adduser <user-name> lp

之后并口就可以工作了,可以继续配置了。

相关内容