このコマンドを使用して、Brainboxes PX-246 PCI Expressシリアルカードを/ dev / ttyS..デバイスに割り当てようとしますが、setserial
カードにI / Oポートアドレスがないようです(メモリアドレスのみ)。 。
lspci -v
次の結果を提供します。
05:00.0 Serial controller: Brain Boxes Device 4016 (rev 02) (prog-if 06 [16950])
Subsystem: Brain Boxes Device 4016
Flags: fast devsel, IRQ 18
Memory at f7600000 (32-bit, non-prefetchable) [size=16K]
Memory at f7400000 (32-bit, non-prefetchable) [size=2M]
Memory at f7200000 (32-bit, non-prefetchable) [size=2M]
Capabilities: [40] Power Management version 3
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [b0] MSI-X: Enable- Count=16 Masked-
Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-50
Capabilities: [110] Power Budgeting <?>
I / Oポートの代わりにシリアルデバイスにメモリアドレスを割り当てることはできますか?
現在、Ubuntu 16.04でカードをテストしていますが、最終的にはFedoraシステムで使用される予定です。
どんな助けでも大変感謝します!
答え1
OXPCIe952のデータシートは次のとおりです。ここ3ページには、5ピンハードウェア構成によってチップが複数のモードでアクティブになる可能性があることがわかります。
UARTは、レガシーモード(I / Oアドレスを使用)と基本モード(メモリマッピング、質問に示されている3つのBAR)で利用できます。他の機能(PCIデバイス05:00.1
など)がない場合は、05:00.2
カードでデフォルトのUARTが有効になっていることを意味します。これは3ページ図の5番目の行です。また、13ページでは、BARの目的(興味がある場合)について説明します。推測したように、最初のBARはUART用のメモリマッピングI / Oです。
ファイルにはチップ8250_pci.c
のレガシーとベースUARTのPCI IDが含まれているので、最初に試したことは、ファイルにPCI IDを追加して再コンパイルして動作することを確認することでした。