I installed CentOS 6 on a Dell Optiplex 790 with a StarTech.com dual serial port card, and the serial ports aren't being recognized. According to dmesg, only the built-in serial port is being recognized:
# dmesg | fgrep ttyS serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
And lspci -v doesn't show that any drivers are loaded for it:
# lspci -v [snip] 03:00.0 Serial controller: NetMos Technology PCIe 9922 Multi-I/O Controller (prog-if 02 [16550]) Subsystem: Device a000:1000 Flags: fast devsel, IRQ 16 I/O ports at 2010 [size=8] Memory at e1a30000 (32-bit, non-prefetchable) [size=4K] Memory at e1a20000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel <?> Capabilities: [800] Advanced Error Reporting
03:00.1 Serial controller: NetMos Technology PCIe 9922 Multi-I/O Controller (prog-if 02 [16550]) Subsystem: Device a000:1000 Flags: fast devsel, IRQ 17 I/O ports at 2000 [size=8] Memory at e1a10000 (32-bit, non-prefetchable) [size=4K] Memory at e1a00000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting
What do I need to do to get these serial ports recognized? On some other CentOS 6 systems with StarTech.com serial cards they were automatically recognized (different hardware and not PCIe based).
Thanks, Alfred
On 01/05/12 2:10 PM, Alfred von Campe wrote:
What do I need to do to get these serial ports recognized?
random googling from that serial controller name
NetMos Technology PCIe 9922 Multi-I/O Controller
seems to indicate you'll need to compile the kernel driver for it, its not supported until kernel 3.1 the driver appears to be here, http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=120;74;110&am... http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=120;74;110&PLine=74
when you've compiled a custom kernel driver, you'll need to remember to recompile it for each kernel update, unless you go through some serious dancing with (I forget the eTLA for the magic that causes the kernel installer to autocompile site-specific stuff)
On some other CentOS 6 systems with StarTech.com serial cards they were automatically recognized (different hardware and not PCIe based).
those cards undoubtedly used a different chip that's supported by the el6 kernel.
On 01/05/12 2:26 PM, Gé Weijers wrote:
The magic is called DKMS.
ah, I knew it was something like that but was too lazy to look up. too many eTLA's [1]
[1] enhanced Three Letter Acronyms, eg, TLA's with more than 3 letters. old IBM joke.
Thanks for all the pointers. I've downloaded the driver sources and compiled/installed them, and the serial ports appear to be available upon reboot (according to dmesg).
I'll look into building it with DKMS to make it easier to support with future updates.
Thanks again, Alfred
On 01/06/2012 12:10 AM, Alfred von Campe wrote:
I'll look into building it with DKMS to make it easier to support with future updates.
There is also kmod way of building driver modules, that uses weak-updates to be available for every future kernel with same ABI/KABI automatically. ElRepo repository does it's modules in such manner. You should check it, maybe even ask for their help.
On 01/05/2012 11:10 PM, Alfred von Campe wrote:
I installed CentOS 6 on a Dell Optiplex 790 with a StarTech.com dual serial port card, and the serial ports aren't being recognized. According to dmesg, only the built-in serial port is being recognized:
# dmesg | fgrep ttyS serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
And lspci -v doesn't show that any drivers are loaded for it:
# lspci -v [snip] 03:00.0 Serial controller: NetMos Technology PCIe 9922 Multi-I/O Controller (prog-if 02 [16550]) Subsystem: Device a000:1000 Flags: fast devsel, IRQ 16 I/O ports at 2010 [size=8] Memory at e1a30000 (32-bit, non-prefetchable) [size=4K] Memory at e1a20000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel<?> Capabilities: [800] Advanced Error Reporting
03:00.1 Serial controller: NetMos Technology PCIe 9922 Multi-I/O Controller (prog-if 02 [16550]) Subsystem: Device a000:1000 Flags: fast devsel, IRQ 17 I/O ports at 2000 [size=8] Memory at e1a10000 (32-bit, non-prefetchable) [size=4K] Memory at e1a00000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting
What do I need to do to get these serial ports recognized? On some other CentOS 6 systems with StarTech.com serial cards they were automatically recognized (different hardware and not PCIe based).
Check this thread: https://www.centos.org/modules/newbb/viewtopic.php?topic_id=34250