Passthrough Serial PCIe to VM


sse450

Recommended Posts

I would like to passthrough serial port to my CentOS VM, but have no clue how to do that. I would appreciate any help.

Please find below relevant information from my Unraid:

Unraid version: 6.6.5

lspci -v

09:00.0 Serial controller: Device 1c00:3253 (rev 10) (prog-if 05 [16850])
	Subsystem: Device 1c00:3253
	Flags: fast devsel, IRQ 16, NUMA node 0
	I/O ports at 2000 [size=256]
	Memory at 92b00000 (32-bit, prefetchable) [size=32K]
	I/O ports at 2100 [size=4]
	[virtual] Expansion ROM at 92e00000 [disabled] [size=32K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable- Count=1/32 Maskable+ 64bit+
	Capabilities: [80] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Kernel driver in use: serial

setserial -g /dev/ttyS[0123]

/dev/ttyS0, UART: 16550A, Port: 0x02f8, IRQ: 3

Thank you.

Link to comment
15 hours ago, Squid said:

I usually use pci-stub.ids=xxxx.xxxx

Interesting results. I put pci-stub.ids=1c00:3253 in the append line and rebooted. Stopped CentOS VM and wanted to add serial port in the edit window. It says at the bottom: 

Other PCI Devices: None available

Started VM and SSHed into it and received below results:

[root@centos ~]# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
[root@centos ~]# dmesg | grep tty
[    0.000000] console [tty0] enabled
[    1.359365] 00:03: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

So far so good. But, just for a learning experience, I removed pci-stub.ids=1c00:3253 in the append line and rebooted again. Then, I SSHed into CentOS again and received exactly the same results as above.

 

It looks like Unraid host and CentOS VM can both reach the serial interface irrespective of passthrough. How come is it possible? I am stumped.

 

Could you please shed some light here?

 

Thank you.

Link to comment

I think that ttyS0 is nothing to do with the ports on PCIe card. PCIe card has 2 serial ports. It should not come up as 1 port, I believe. So, my card is recognized by Unraid as pci device but drivers not loaded. Is it possible?

 

If so, what should I do to properly load drivers for PCIe serial ports?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.