如何使并行端口工作?

阿德里安市长

为了使廉价的CNC机器正常工作,我必须通过并行端口进行连接。不幸的是,我无法使并行端口正常工作。

似乎已检测到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脚本

最后,最终的试验:我连接到并行端口之间的LEDGNDPIN_02(具有1K欧姆的电阻器)。如果我将其连接到BUZY(默认情况下处于打开状态),则led指示灯会亮起,但PIN_01即使连接到,也不会点亮,即使在按下测试应用程序中的按钮时也是如此。

LED测试

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

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

阿德里安市长

问题出在并行端口的特权上:默认情况下,只有组的用户才能访问它lproot显然可以允许用户使用,但普通用户则不允许。

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

adduser <user-name> lp

在那之后,并行端口正在工作,我可以继续配置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章