Serial-Port

設置似乎沒有 I/O 埠的 PCIe 串列卡

  • November 30, 2017

我正在嘗試使用該setserial命令將 Brainboxes PX-246 PCI express 串列卡分配給 /dev/ttyS.. 設備,但是該卡似乎沒有 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 系統上使用。

任何幫助將非常感激!

例如,OXPCIe952 的數據表在這裡,它在第 3 頁上說,該晶片可以在多種模式下啟用,具體取決於 5 個引腳的硬體捆綁。

UART 可用於傳統模式(具有 I/O 地址)和本機模式(記憶體映射,您的問題中顯示了 3 個 BAR)。如果您沒有任何其他功能(PCI 設備05:00.105:00.2如感興趣)在第 13 頁。我猜到,第一個 BAR 是 UART 的記憶體映射 I/O。

該文件8250_pci.c確實包含帶有此晶片的舊版和本機 UART 的 PCI id,所以是的,我嘗試的第一件事是將您的 PCI id 添加到此文件中,重新編譯,看看它是否有效。

引用自:https://unix.stackexchange.com/questions/407791