我正在尝试设置一台装有 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 命令,查看其中加载了哪些模块。