私は、パラレル ポート (PCI ではなく、マザーボード上のパラレル ポート) に接続されたハードウェアを制御するために、Linux を搭載した PC をセットアップしようとしています。
元の古い PC はまだ動作していますが、将来の安全性を高めるために新しい PC をセットアップしようとしています。
問題は、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機能: 無効
これで理解が深まるといいのですが、私には何も理解できません。ご協力ありがとうございます、ジャンパーガー
答え1
正しいアドレスに SPP ポートがあります。
[ 10.926816] parport0:PC スタイル 0x378、irq 7 [PCSPP]
Linux インストールはポートを認識し、適切なモジュールをロードしています。
[lsmod の結果には、lp、ppdev、parport_pc がすべて parport を使用していることが示されています]
ハードウェアはプリンタではないため、ソフトウェアは独自のドライバを使用するか、ポートをビットバンギングするドライバを使用する必要がある可能性があります。ポート アドレスはソフトウェア マニュアルで指定されているため、おそらくこれが該当します。おそらく、モジュールの一部またはすべてをブラックリストに登録する必要があります (lp、ppdev、parport_pc、および parport)。
使用しようとしているハードウェア/ソフトウェアを知っておくと役立ちます。また、動作している古い PC で lsmod コマンドを実行して、そこにロードされているモジュールを確認することも検討してください。