Oxford serial Expresscard buffer/handshake issues?
From: Marc Haber
Date: Fri Jan 07 2011 - 16:56:33 EST
Hi,
I am trying to use an Expresscard-based serial card as serial console
for a notebook that is positioned in a datacenter. The card reports
itself as:
04:00.0 Serial controller [0700]: Oxford Semiconductor Ltd Device [1415:c138]
and causes the following log entries when it is plugged in:
Jan 7 22:33:40 swivel kernel: [ 3184.840290] pciehp 0000:00:1c.2:pcie04: Card present on Slot(4)
Jan 7 22:33:40 swivel kernel: [ 3184.852448] pciehp 0000:00:1c.2:pcie04: Card not present on Slot(4)
Jan 7 22:33:40 swivel kernel: [ 3184.901059] pciehp 0000:00:1c.2:pcie04: Card present on Slot(4)
Jan 7 22:33:40 swivel kernel: [ 3185.024094] pci 0000:04:00.0: reg 10: [mem 0x00000000-0x00003fff]
Jan 7 22:33:40 swivel kernel: [ 3185.024114] pci 0000:04:00.0: reg 14: [mem 0x00000000-0x001fffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024134] pci 0000:04:00.0: reg 18: [mem 0x00000000-0x001fffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024247] pci 0000:04:00.0: supports D1 D2
Jan 7 22:33:40 swivel kernel: [ 3185.024251] pci 0000:04:00.0: PME# supported from D1 D2 D3hot D3cold
Jan 7 22:33:40 swivel kernel: [ 3185.024259] pci 0000:04:00.0: PME# disabled
Jan 7 22:33:40 swivel kernel: [ 3185.024304] pci 0000:04:00.0: BAR 1: assigned [mem 0xe8000000-0xe81fffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024314] pci 0000:04:00.0: BAR 1: set to [mem 0xe8000000-0xe81fffff] (PCI address [0xe8000000-0xe81fffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024318] pci 0000:04:00.0: BAR 2: assigned [mem 0xe8200000-0xe83fffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024327] pci 0000:04:00.0: BAR 2: set to [mem 0xe8200000-0xe83fffff] (PCI address [0xe8200000-0xe83fffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024331] pci 0000:04:00.0: BAR 0: assigned [mem 0xe8400000-0xe8403fff]
Jan 7 22:33:40 swivel kernel: [ 3185.024339] pci 0000:04:00.0: BAR 0: set to [mem 0xe8400000-0xe8403fff] (PCI address [0xe8400000-0xe8403fff]
Jan 7 22:33:40 swivel kernel: [ 3185.024343] pcieport 0000:00:1c.2: PCI bridge to [bus 04-0b]
Jan 7 22:33:40 swivel kernel: [ 3185.024349] pcieport 0000:00:1c.2: bridge window [io 0x6000-0x7fff]
Jan 7 22:33:40 swivel kernel: [ 3185.024358] pcieport 0000:00:1c.2: bridge window [mem 0xe8000000-0xe9ffffff]
Jan 7 22:33:40 swivel kernel: [ 3185.024364] pcieport 0000:00:1c.2: bridge window [mem 0xe4100000-0xe41fffff 64bit pref]
Jan 7 22:33:40 swivel kernel: [ 3185.024384] pcieport 0000:00:1c.2: setting latency timer to 64
Jan 7 22:33:40 swivel kernel: [ 3185.024403] pci 0000:04:00.0: no hotplug settings from platform
Jan 7 22:33:40 swivel kernel: [ 3185.024522] serial 0000:04:00.0: enabling device (0000 -> 0002)
Jan 7 22:33:40 swivel kernel: [ 3185.024532] serial 0000:04:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Jan 7 22:33:40 swivel kernel: [ 3185.024568] 1 ports detected on Oxford PCI Express device
Jan 7 22:33:40 swivel kernel: [ 3185.024712] 0000:04:00.0: ttyS0 at MMIO 0xe8401000 (irq = 18) is a 16C950/954
If I understand correctly, this says that the interface is handled by
the stock serial driver. My kernel 2.6.26.2 is configured as follows:
$ grep SERIAL /boot/config-2.6.36.2-zgws1 | grep -v '^#'
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
$
However, there seems to be an issue with flow control and/or
buffering. When I start a getty on ttyS0, it looks like a lot of
output is missing:
|ser2net port 2100 device /dev/ttyUSB0 [9600 N81] (Debian GNU/Linux)
|
|
|Debian GNU/Linuxswivel login: mh
|Password:
|
|Login incorrecswivel login: mh
|Password:
|Last login: Fri Linux swivel 2.6ystem are free s/*/copyright.
|
|
|Filesystem G 12K 1.5G dev/shm
|/tmp 15G 4.5G ome
|/dev/mapperv/mapper/scyw0021% /home/mh/musieo
| cached
|Mem
|Swap: 781ROM init4: kded4 [kdtelnet localhost[1/501]mh@swivel
|[1/501]mh@swivellspci
|00:00.0 Host bri00:01.0 PCI bridAudio device: Inn N10/ICH 7 Fami2)
|00:1c.2 PCI 0/ICH 7 Family Pev 02)
|00:1d.1 l Corporation N1HCI Controller #I bridge: Intel ace Bridge (rev ler: Intel Corpoly SMBus Controlnet controller: 3945ABG [Golan]ridge: Texas Ins[2/502]mh@swivel
This happens as soon as the Expresscard is handling the serial port
that the getty is running on, regardless of the device that is
connecting to (tried a "real" serial port, a PL2303, and the aux
interface of a Cisco Router). On the other hand, all three connecting
devices work fine with getty if the device being connected to is
either a "real" serial port or a PL2303.
Is additional configuration necessary to make use of the Oxford serial
card as a serial console, or am I doing something differently wrong?
Greetings
Marc
--
-----------------------------------------------------------------------------
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/