PCIe ParallelPortコントローラがありますが、残念ながら動作したくありません。パラレルポートカードを接続した後、期待どおりに表示されません/dev/parport0
。行為:
sudo rmmod parport_pc
sudo modprobe parport_pc io=0x4000
表示はされますが、/dev/parport0
カードは機能しません。データピンに値を送るとき電圧は発生しません。以下dmesg | grep parport
を表示します。
scheltie@linux-mathieu:~$ sudo dmesg | grep parport
[ 266.761700] parport 0x4000 (WARNING): CTR: wrote 0x0c, read 0xff
[ 266.761705] parport 0x4000 (WARNING): DATA: wrote 0xaa, read 0xff
[ 266.761705] parport 0x4000: You gave this address, but there is probably no parallel port there!
[ 266.761719] parport0: PC-style at 0x4000, irq 0 [PCSPP,TRISTATE]
出力sudo lspci -v
:
0000:01:00.2 Parallel controller: Asix Electronics Corporation AX99100 PCIe to Multi I/O Controller (prog-if 03 [IEEE1284])
Subsystem: Asix Electronics Corporation (Wrong ID) Parallel Port
Flags: fast devsel, IRQ 255
I/O ports at 4008 [disabled] [size=8]
I/O ports at 4000 [disabled] [size=8]
Memory at 74001000 (32-bit, non-prefetchable) [disabled] [size=4K]
Memory at 74000000 (32-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
[disabled]
私を驚かせたのは、I / Oポートとメモリアドレスの背後にある表示でした。問題が何であるか、どのように解決するのかご存知ですか?
最新のPOP_OS 22.04 LTSで実行されます。 Windowsがインストールされているデュアルブートコンピュータでは、カードがWindows上で実行される可能性があります。したがって、BIOSで有効になります。
答え1
私も同じ問題に直面しました。シンケ PEX1P2PCIe パラレルポート。lspci -nnv
I / Oポートが無効になっていることを示します。
06:00.2 Parallel controller [0701]: Asix Electronics Corporation AX99100 PCIe to Multi I/O Controller [125b:9100] (prog-if 03 [IEEE1284])
Subsystem: Asix Electronics Corporation (Wrong ID) Parallel Port [a000:2000]
Flags: fast devsel, IRQ 5
I/O ports at e010 [disabled] [size=8]
I/O ports at e000 [disabled] [size=8]
Memory at fcc01000 (32-bit, non-prefetchable) [disabled] [size=4K]
Memory at fcc00000 (32-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
私は次のようにして/etc/modprobe.d/parport_pc.conf
この問題を解決しました。
install parport_pc setpci -d 125b:9100 command=101; /sbin/modprobe --ignore-install parport_pc
options parport_pc io=0xe010 irq=auto
125b:9100
1行目のデバイスIDlspci -nnv
と0xe010
4行目のI / Oポートを置き換える必要があります。モジュールがロードされるとparport_pc
(たとえば、を使用してsudo modprobe parport_pc
)、I / Oポートも設定されます。
これには2つの主要部分があります。setpci
コマンドはI / Oポートを有効にし、この行はデフォルトのoptions
I / Oアドレスが何であるかをドライバに伝えます。よりLinuxシリアルポートガイド説明setpci
課このArch Linux Formsの投稿modprobe.dコマンドの説明ですinstall
。