Syba ExpressCard serial ports recognized but not working
Posted: 2012/02/01 17:51:22
I am trying to install a [url=http://www.sybausa.com/productInfo.php?iid=212]Syba SD-EXP15010 2 x Serial Ports ExpressCard[/url] in a Dell Precision M6400 laptop. CentOS appears to recognize the device and load the drivers, linking the two ports to ttyS0 and ttyS1. In /var/log/messages there are lines showing "modem-manager" trying to open and close the ports, which is something that I would like to turn off. I can't communicate over the serial lines using miniterm.py (which worked fine with a usb serial port and the same cables/device) or any other way. I did wait for modem-manager to close the ports before I tried to use them, otherwise there is a conflict. I added my (non-priv) username to the group dialout, but also tried changing the ownership for the ttyS0 dev to my login, Also tried to use the ports as root.
I found [url=http://www.drivers-download.com/Drv/MosChip/MCS9901/MCS9901_Linux.tar.gz]drivers for the MCS9901 Chipset[/url] (a bit old, dating from 2008) but I'd like to see if I can get the stock Centos install to work before I try that, as CentOS does seem to mostly recognize the device.
As an aside, does anyone know of a laptop card (ExpressCard or CardBus) with two or more standard UART serial ports that is known to work with CentOS? I've tried using USB serial ports but the latency is too great for my application (real-time control of a telescope and some lab equipment)
-mikeu
Booted at about 10:20, card inserted at about 11:27
[code]
[root@rigel Desktop]# cat /etc/redhat-release
CentOS release 6.2 (Final)
[root@rigel Desktop]# uname -a
Linux rigel 2.6.32-220.4.1.el6.centos.plus.x86_64 #1 SMP Fri Jan 27 04:56:11 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@rigel log]# tail -f /var/log/messages
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: PME# disabled
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.1: PME# supported from D0 D1 D2 D3hot D3cold
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.1: PME# disabled
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: no hotplug settings from platform
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.1: no hotplug settings from platform
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.0: enabling device (0000 -> 0003)
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 1 11:27:17 rigel kernel: 0000:0e:00.0: ttyS0 at I/O 0xc000 (irq = 19) is a ST16650V2
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.1: enabling device (0000 -> 0003)
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
Feb 1 11:27:17 rigel kernel: 0000:0e:00.1: ttyS1 at I/O 0xc008 (irq = 16) is a ST16650V2
Feb 1 11:27:17 rigel modem-manager: (ttyS1) opening serial device...
Feb 1 11:27:17 rigel modem-manager: (ttyS0) opening serial device...
Feb 1 11:27:30 rigel modem-manager: (ttyS1) closing serial device...
Feb 1 11:28:00 rigel modem-manager: (ttyS1) opening serial device...
Feb 1 11:28:00 rigel modem-manager: (ttyS0) closing serial device...
Feb 1 11:28:30 rigel modem-manager: (ttyS0) opening serial device...
Feb 1 11:28:33 rigel modem-manager: (ttyS1) closing serial device...
Feb 1 11:29:03 rigel modem-manager: (ttyS0) closing serial device...
[root@rigel Desktop]# ls -l /dev/ttyS?
crw-rw----. 1 root dialout 4, 64 Feb 1 11:28 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 Feb 1 11:28 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 Feb 1 10:20 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 Feb 1 10:20 /dev/ttyS3
[root@rigel Desktop]# lspci -v
0e:00.0 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller (prog-if 02 [16550])
Subsystem: Device a000:1000
Flags: fast devsel, IRQ 19
I/O ports at c000 [size=8]
Memory at f1c00000 (32-bit, non-prefetchable) [size=4K]
Memory at f1c01000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [c0] Express Legacy Endpoint, MSI 00
Capabilities: [100] Power Budgeting <?>
Capabilities: [200] Device Serial Number 88-99-ff-ee-dd-cc-bb-aa
Kernel driver in use: serial
0e:00.1 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller (prog-if 02 [16550])
Subsystem: Device a000:1000
Physical Slot: 1
Flags: fast devsel, IRQ 16
I/O ports at c008 [size=8]
Memory at f1c02000 (32-bit, non-prefetchable) [size=4K]
Memory at f1c03000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [c0] Express Legacy Endpoint, MSI 00
Capabilities: [100] Power Budgeting <?>
Capabilities: [200] Device Serial Number 00-00-00-00-00-00-00-00
Kernel driver in use: serial
[/code]
After ejecting the card:
[code]
[root@rigel log]# tail -f /var/log/messages
Feb 1 12:35:57 rigel kernel: serial 0000:0e:00.0: PCI INT A disabled
[root@rigel Desktop]# ls -l /dev/ttyS?
crw-rw----. 1 root dialout 4, 64 Feb 1 12:35 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 Feb 1 11:28 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 Feb 1 10:20 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 Feb 1 10:20 /dev/ttyS3
[/code]
Note that only PCI INT A is now disabled, and timestamp on ttyS0 dev is updated.
However, timestamp on S1 has not changed. PCI INT B has not been released?
[code]
[root@rigel Desktop]# lspci -v
0e:00.1 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel driver in use: serial
[/code]
After re-inserting card:
[code]
[root@rigel log]# tail -f /var/log/messages
Feb 1 12:47:55 rigel kernel: pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Feb 1 12:47:55 rigel kernel: pci 0000:0e:00.0: PME# disabled
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.1: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.1: no hotplug settings from platform
Feb 1 12:47:55 rigel kernel: pci 0000:0e:00.0: no hotplug settings from platform
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.0: enabling device (0000 -> 0003)
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 1 12:47:55 rigel kernel: 0000:0e:00.0: ttyS0 at I/O 0xc000 (irq = 19) is a ST16650V2
[/code]
Another error message that I have seen in /var/log/messages is:
[code]
Feb 1 13:12:16 rigel kernel: ttyS1: LSR safety check engaged!
[/code]
I found [url=http://www.drivers-download.com/Drv/MosChip/MCS9901/MCS9901_Linux.tar.gz]drivers for the MCS9901 Chipset[/url] (a bit old, dating from 2008) but I'd like to see if I can get the stock Centos install to work before I try that, as CentOS does seem to mostly recognize the device.
As an aside, does anyone know of a laptop card (ExpressCard or CardBus) with two or more standard UART serial ports that is known to work with CentOS? I've tried using USB serial ports but the latency is too great for my application (real-time control of a telescope and some lab equipment)
-mikeu
Booted at about 10:20, card inserted at about 11:27
[code]
[root@rigel Desktop]# cat /etc/redhat-release
CentOS release 6.2 (Final)
[root@rigel Desktop]# uname -a
Linux rigel 2.6.32-220.4.1.el6.centos.plus.x86_64 #1 SMP Fri Jan 27 04:56:11 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@rigel log]# tail -f /var/log/messages
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: PME# disabled
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.1: PME# supported from D0 D1 D2 D3hot D3cold
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.1: PME# disabled
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.0: no hotplug settings from platform
Feb 1 11:27:17 rigel kernel: pci 0000:0e:00.1: no hotplug settings from platform
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.0: enabling device (0000 -> 0003)
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 1 11:27:17 rigel kernel: 0000:0e:00.0: ttyS0 at I/O 0xc000 (irq = 19) is a ST16650V2
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.1: enabling device (0000 -> 0003)
Feb 1 11:27:17 rigel kernel: serial 0000:0e:00.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
Feb 1 11:27:17 rigel kernel: 0000:0e:00.1: ttyS1 at I/O 0xc008 (irq = 16) is a ST16650V2
Feb 1 11:27:17 rigel modem-manager: (ttyS1) opening serial device...
Feb 1 11:27:17 rigel modem-manager: (ttyS0) opening serial device...
Feb 1 11:27:30 rigel modem-manager: (ttyS1) closing serial device...
Feb 1 11:28:00 rigel modem-manager: (ttyS1) opening serial device...
Feb 1 11:28:00 rigel modem-manager: (ttyS0) closing serial device...
Feb 1 11:28:30 rigel modem-manager: (ttyS0) opening serial device...
Feb 1 11:28:33 rigel modem-manager: (ttyS1) closing serial device...
Feb 1 11:29:03 rigel modem-manager: (ttyS0) closing serial device...
[root@rigel Desktop]# ls -l /dev/ttyS?
crw-rw----. 1 root dialout 4, 64 Feb 1 11:28 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 Feb 1 11:28 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 Feb 1 10:20 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 Feb 1 10:20 /dev/ttyS3
[root@rigel Desktop]# lspci -v
0e:00.0 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller (prog-if 02 [16550])
Subsystem: Device a000:1000
Flags: fast devsel, IRQ 19
I/O ports at c000 [size=8]
Memory at f1c00000 (32-bit, non-prefetchable) [size=4K]
Memory at f1c01000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [c0] Express Legacy Endpoint, MSI 00
Capabilities: [100] Power Budgeting <?>
Capabilities: [200] Device Serial Number 88-99-ff-ee-dd-cc-bb-aa
Kernel driver in use: serial
0e:00.1 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller (prog-if 02 [16550])
Subsystem: Device a000:1000
Physical Slot: 1
Flags: fast devsel, IRQ 16
I/O ports at c008 [size=8]
Memory at f1c02000 (32-bit, non-prefetchable) [size=4K]
Memory at f1c03000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [80] Power Management version 3
Capabilities: [88] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [c0] Express Legacy Endpoint, MSI 00
Capabilities: [100] Power Budgeting <?>
Capabilities: [200] Device Serial Number 00-00-00-00-00-00-00-00
Kernel driver in use: serial
[/code]
After ejecting the card:
[code]
[root@rigel log]# tail -f /var/log/messages
Feb 1 12:35:57 rigel kernel: serial 0000:0e:00.0: PCI INT A disabled
[root@rigel Desktop]# ls -l /dev/ttyS?
crw-rw----. 1 root dialout 4, 64 Feb 1 12:35 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 Feb 1 11:28 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 Feb 1 10:20 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 Feb 1 10:20 /dev/ttyS3
[/code]
Note that only PCI INT A is now disabled, and timestamp on ttyS0 dev is updated.
However, timestamp on S1 has not changed. PCI INT B has not been released?
[code]
[root@rigel Desktop]# lspci -v
0e:00.1 Serial controller: NetMos Technology PCIe 9901 Multi-I/O Controller (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel driver in use: serial
[/code]
After re-inserting card:
[code]
[root@rigel log]# tail -f /var/log/messages
Feb 1 12:47:55 rigel kernel: pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Feb 1 12:47:55 rigel kernel: pci 0000:0e:00.0: PME# disabled
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.1: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.1: no hotplug settings from platform
Feb 1 12:47:55 rigel kernel: pci 0000:0e:00.0: no hotplug settings from platform
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.0: enabling device (0000 -> 0003)
Feb 1 12:47:55 rigel kernel: serial 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 1 12:47:55 rigel kernel: 0000:0e:00.0: ttyS0 at I/O 0xc000 (irq = 19) is a ST16650V2
[/code]
Another error message that I have seen in /var/log/messages is:
[code]
Feb 1 13:12:16 rigel kernel: ttyS1: LSR safety check engaged!
[/code]