检测并行端口?

检测并行端口?

我正在尝试设置一台装有 Linux 的 PC 来控制连接到并行端口的硬件(主板上的并行端口,而不是 PCI 上的并行端口)

原来的旧电脑仍在使用,我正在尝试设置一台新电脑以确保将来的安全性。

问题是,当 Linux PC 连接到硬件时,无法检测到并行端口。

这里我找到了一个并行端口打印机的调试。(我的硬件不是打印机)。我输入了这些命令,但作为 Linux 新手,我不知道如何处理这些答案。以下是我输入的内容和反馈:

root@linuxPC:~# lsmod ¦ grep lp
lp               7028  0
parport         32635  3 ppdev,parport_pc,lp
drm_kms_helper  29361  1 i915
drm            164468  3 i915,drm_kms_helper

root@linuxPC:~# lsmod ¦ grep ppdev
ppdev            5259  0
parport         32635  3 ppdev,parport_pc,lp

root@linuxPC:~# lsmod ¦ grep parport_pc
parport_pc      26250  1
parport         32635  3 ppdev,parport_pc,lp

root@linuxPC:~# dmesg ¦ grep par
[    0,000000] Booting paravirtualized kernel on bare hardware
[    0.388860] pci 0000:00:le.0: transparent bridge
[    0.400572] hpet0: 3 comparators, 64-bit 14.318180 Mhz counter
[    0.877097]  sda: unknown partition table
[   10.926746] parport_pc 00:09: reported by Plug and Play ACPI
[   10.926816] parport0:PC-style at 0x378, irq 7 [PCSPP]
[   10.949768] ppdev: user-space parallel port driver
[   11.017043] lp0: using parport0 (interrupt-driven).

root@linuxPC:~# ls -l /proc/sys/dev/parport/parport*/autoprobe* 
-r--r--r-- 1 root root 0 2016-08-19 15:00 /proc/sys/dev/parport/parport0/autoprobe
-r--r--r-- 1 root root 0 2016-08-19 15:00 /proc/sys/dev/parport/parport0/autoprobe0
-r--r--r-- 1 root root 0 2016-08-19 15:00 /proc/sys/dev/parport/parport0/autoprobe1
-r--r--r-- 1 root root 0 2016-08-19 15:00 /proc/sys/dev/parport/parport0/autoprobe2
-r--r--r-- 1 root root 0 2016-08-19 15:00 /proc/sys/dev/parport/parport0/autoprobe3

root@linuxPC:~#  sudo cat /proc/sys/dev/parport/parport*/autoprobe*

root@linuxPC:~#  lpinfo -v
direct scsi
serial serial:dev/ttyS0?baud=115200
serial serial:dev/ttyS1?baud=115200 
network ipp
network http
network socket
direct parallel:/dev/lp0
network smb
network lpd

root@linuxPC:~# 

在互联网上我发现我的硬件必须位于 io 地址 0x378 上,并且

root@linux:~# cat /proc/ioports ¦ grep par
0378-037a : parport0

该软件的手册说 BIOS 设置必须是:并行端口:建议使用 SPP ACPI 暂停类型 - S1 HPET 支持 - 启用限制 CPUID MaxVal - 禁用 C1E 功能 - 禁用 EIST 功能 - 禁用

我希望这对你来说更有意义,我什么都不明白。谢谢你的帮助 jumper

答案1

您有一个正确地址上的 SPP 端口。

[10.926816] parport0:PC 样式位于 0x378,irq 7 [PCSPP]

您的 Linux 安装正在查看端口并加载相应的模块。
[您的 lsmod 结果显示 lp、ppdev 和 parport_pc 均使用 parport]

由于您的硬件不是打印机,软件可能需要使用自己的驱动程序,或者可能是对端口进行位拆解的驱动程序。由于端口地址是在软件手册中指定的,因此很可能是这种情况。您很可能需要将部分或全部模块 [lp、ppdev、parport_pc 和 parport] 列入黑名单。

了解您尝试使用的硬件/软件会有所帮助。您还应该考虑在运行中的旧 PC 上执行 lsmod 命令,查看其中加载了哪些模块。

相关内容