Bug 618280 - Update Serial Device Driver Support for Oxford Chipsets
Summary: Update Serial Device Driver Support for Oxford Chipsets
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Red Hat Kernel Manager
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-26 14:47 UTC by Oliver Aaltonen
Modified: 2013-02-27 12:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-02-27 12:15:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Vendor-provided patch (8.80 KB, application/octet-stream)
2010-07-26 14:47 UTC, Oliver Aaltonen
no flags Details
Vendor-provided patch README (9.44 KB, text/plain)
2010-07-26 14:47 UTC, Oliver Aaltonen
no flags Details

Description Oliver Aaltonen 2010-07-26 14:47:26 UTC
Created attachment 434438 [details]
Vendor-provided patch

Description of problem:

The UART operation of the OXPCIe952, OXPCIe954, OXPCIe958 and OXPCIe200 when in either legacy or native UART modes is fully supported by the standard operating system driver under Linux 2.6. 

However unless the vendor and device IDs for the add-in card using the device are already recognized by Linux 2.6, you currently need to explicitly tell the operating system to use its standard 8250/16550 driver for this device. This requires recompiling the kernel with a few changes (as detailed in the attachments).

This vendor-provided driver patch provides a solution for Oxford Semiconductor's vendor ID and the relevant default OXPCIe952, OXPCIe954, OXPCIe958 and OXPCIe200 device IDs.

Comment 1 Oliver Aaltonen 2010-07-26 14:47:48 UTC
Created attachment 434439 [details]
Vendor-provided patch README

Comment 2 IBM Bug Proxy 2010-11-16 20:41:21 UTC
------- Comment From leitao.ibm.com 2010-11-16 15:37 EDT-------
Hi,

I've tested this patch, and it's causing an error that follows:

Couldn't register serial port 0000:01:00.1: -28

This is basically becuase the number_uarts is wrong at this part of the patch:

if (deviceID == 0x07000200) {
number_uarts = ioread8(p + 4);
printk(KERN_DEBUG
"%d ports detected on Oxford PCI Express device\n",
number_uarts);
}

On my case, it's a two port card, but it's displaying as 8 ports.

Comment 3 Jordi Sanfeliu 2010-11-17 10:09:48 UTC
(In reply to comment #2)
> ------- Comment From leitao.ibm.com 2010-11-16 15:37 EDT-------
[...]
> 
> On my case, it's a two port card, but it's displaying as 8 ports.


Hi,

I'm using this one and it works finely:
http://www.chronos.com.tw/Product/G/952ER2/952ER2.htm

Make sure you downloaded the correct driver PEX2S952.zip from here:
http://eu.startech.com/product/PEX2S952-2-Port-PCI-Express-RS232-Native-Serial-Adapter-Card-with-16550-UART

See my results:

$ uname -r
2.6.18-194.17.4.el5.oxford

$ lspci
[...]
04:00.0 Serial controller: Oxford Semiconductor Ltd Unknown device c158
[...]

$ dmesg
[...]
2 ports detected on Oxford PCI Express device
ttyS2: detected caps 00000700 should be 00000100
0000:04:00.0: ttyS2 at MMIO 0xfb8f1000 (irq = 169) is a 16C950/954
ttyS3: detected caps 00000700 should be 00000100
0000:04:00.0: ttyS3 at MMIO 0xfb8f1200 (irq = 169) is a 16C950/954
[...]

Comment 4 Per Hjartoy 2010-11-17 21:04:05 UTC
Has anyone looked into making modification to the patch so that I can be distributed as a dynamically loadable kernel module?

Comment 5 Jordi Sanfeliu 2011-09-22 16:44:42 UTC
(In reply to comment #0)

After upgrading to 5.7 I've noticed the new kernel supports those Oxford chips.

See my results:

$ uname -r
2.6.18-274.3.1.el5

$ lspci
[...]
04:00.0 Serial controller: Oxford Semiconductor Ltd Device c158
[...]

$ dmesg
[...]
2 ports detected on Oxford PCI Express device
ttyS2: detected caps 00000700 should be 00000100
0000:04:00.0: ttyS2 at MMIO 0xfbaf1000 (irq = 169) is a 16C950/954
ttyS3: detected caps 00000700 should be 00000100
0000:04:00.0: ttyS3 at MMIO 0xfbaf1200 (irq = 169) is a 16C950/954
[...]

If this is Ok for you I think we could close this 'bug'.
Regards.


Note You need to log in before you can comment on or make changes to this bug.