I am using Exar xr17v35x (DS-MPE-SER4M) on a PCIE for Serial Communication. I am using driver xr17v35x.
Steps i am following are
- $ lspci -vd 13a8:*
01:00.0 Serial controller: Exar Corp. Device 0354 (rev 03) (prog-if 02 )
Flags: fast devsel, IRQ 388
Memory at 50100000 (32-bit, non-prefetchable)
Capabilities:  MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities:  Power Management version 3
Capabilities:  Express Endpoint, MSI 01
Capabilities:  Virtual Channel
Kernel driver in use: xrserial
- ls /sys/bus/pci/drivers/serial/
0000:01:00.0 bind new_id remove_id uevent unbind
$ echo -n “0000:01:00.0” > /sys/bus/pci/drivers/serial/unbind
This is unbinding the generic serial driver from XR17V35x device
Output of dmesg | grep tty
0000:01:00.0: ttyXR0 at MMIO 0x50100000 (irq = 388, base_baud = 7812500) is a XR17V35X
0000:01:00.0: ttyXR1 at MMIO 0x50100400 (irq = 388, base_baud = 7812500) is a XR17V35X
0000:01:00.0: ttyXR2 at MMIO 0x50100800 (irq = 388, base_baud = 7812500) is a XR17V35X
0000:01:00.0: ttyXR3 at MMIO 0x50100c00 (irq = 388, base_baud = 7812500) is a XR17V35X
So port ttyXR0, ttyXR1, ttyXR2, ttyXR3 is creating in /dev/
But when i am doing a loopback test i am not getting output . It is showing “Read Error”. It is not Communicating serially.
I am doing this on #2 configuration.
It looks like the kernel is recognizing the serial card but the ttyS* devices do not talk to the card for some reason.
Can someone help me find out if I am missing any step?
Do I need to load any kernel module?
Do I need to run anything before this can work?