试图让一台便宜的数控机床工作,我必须通过并行端口连接。不幸的是,我无法使并行端口工作。
似乎检测到了 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 权限。它以红色显示所有输出引脚,以绿色显示所有输入引脚。当按下输出引脚时,它会变成绿色,但我怀疑这没有任何意义。
GND
最后,最终测试:我在和之间连接了一个 LED 并口PIN_02
(带有 1k 欧姆电阻)。如果我将其连接到BUZY
(默认情况下打开),LED 会打开,但在连接到 时PIN_01
,它永远不会亮,即使按下测试应用程序中的按钮也是如此。
从所有这些测试中,我怀疑该卡已正确安装,但由于某些权限或其他错误配置,它无法工作。
我尝试使用 root admin 运行 PortTest,但它似乎对此不满意。
答案1
问题在于并行端口的权限:默认情况下,只有该组的用户才能访问它lp
。显然用户root
可以这样做,但普通用户则不允许。
将用户添加到lp
组中,无需 sudo 即可访问并行端口:
adduser <user-name> lp
之后并口就可以工作了,可以继续配置了。