Date: Fri, 27 Nov 2009 12:54:17 -0600 From: Karl Denninger <karl@denninger.net> To: freebsd-stable@freebsd.org Subject: Re: PUC Serial I/O problem - copy of gnats-filed bug report (as discussed previously) Message-ID: <4B102059.6040003@denninger.net> In-Reply-To: <4B100262.6000900@denninger.net> References: <4B100262.6000900@denninger.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------050006070207060403040001 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Karl Denninger wrote: > This is pretty serious folks - as noted below I have tried several > options including limiting FIFO depth with the flags with no result. > The PUC-based ports are basically useless under 8.x as a consequence. I > can reproduce this lockup within 15-30 minutes every time. > > >> Submitter-Id: current-users >> Originator: Karl Denninger >> Organization: Karls Sushi and Packet Smashers >> Confidential: no <FreeBSD PRs are public data> >> Synopsis: Serial I/O is terminally screwed under 8.x. >> Severity: serious >> Priority: high >> Category: i386 >> Class: sw-bug >> Release: FreeBSD 8.0-STABLE i386 >> Environment: >> > System: FreeBSD FS.denninger.net 8.0-STABLE FreeBSD 8.0-STABLE #3: Fri > Nov 27 08 > :32:51 CST 2009 karl@FS.denninger.net:/usr/obj/usr/src/sys/KSD-SMP i386 > > puc0: <Oxford Semiconductor OX16PCI954 UARTs> port > 0x4060-0x407f,0x4040-0x405f m > em 0x94503000-0x94503fff,0x94502000-0x94502fff irq 16 at device 0.0 on pci3 > puc0: [FILTER] > uart2: <16550 or compatible> on puc0 > uart2: [FILTER] > uart3: <16550 or compatible> on puc0 > uart3: [FILTER] > uart4: <16550 or compatible> on puc0 > uart4: [FILTER] > uart5: <16550 or compatible> on puc0 > uart5: [FILTER] > > puc0@pci0:3:0:0: class=0x070006 card=0x00001415 chip=0x950a1415 > rev=0x00 > hdr=0x00 > bar [10] = type I/O Port, range 32, base 0x4060, size 32, enabled > bar [14] = type Memory, range 32, base 0x94503000, size 4096, enabled > bar [18] = type I/O Port, range 32, base 0x4040, size 32, enabled > bar [1c] = type Memory, range 32, base 0x94502000, size 4096, enabled > cap 01[40] = powerspec 1 supports D0 D2 D3 current D0 > > > # > # SMP -- Generic kernel configuration file for FreeBSD/i386 SMP > # Use this for multi-processor machines > # > # $FreeBSD: src/sys/i386/conf/SMP,v 1.5.6.1 2005/09/18 03:37:58 scottl Exp $ > > include GENERIC > > ident KSD-SMP > > # To make an SMP kernel, the next line is needed > #options SMP # Symmetric MultiProcessor Kernel > # > # We also need the firewall, divert, and PPS_SYNC (for the GPS) options > # > options IPFIREWALL > options IPDIVERT > options PPS_SYNC > > # > # Rate-shaping requirements > # > options DUMMYNET > options HZ=1000 > > #options SYSVSHM > > # > # Local stuff > # > device rp # Comtrol Rocketport Board > device sound # Generic sound card drivers > > #device ubsa # USB Serial Adapters > #device ucom > #device uftdi > #device uplcom > > device umct > device puc > > > >> Description: >> > Serial I/O fails with a lockup after a variable amount of time. > Modem-controlled ports are succeptible, especially those that > require tight adherence to that capability. > > There is no reset possible without rebooting the machine. Attempts > to "probe" the port by stopping the running process(es) and > re-initializing them fail. > > This IDENTICAL board in the IDENTICAL machine was functioning > properly under 7.x over the space of about a year under extremely > heavy use. As soon as 8.x-RC2 was loaded, and subsequently with the > released version (as seen above) it failed and has remained dead. > > The custom kernel with "PPS_SYNC" is present as one > of the ports (on the motherboard) is used for a GPS clock under > ntpd. > This port is operating fine - it is relatively low-traffic, of > course, containing only timecode. Another port used to talk to an > APC UPS (again, low traffic) is also ok. > > All ports in use for Hylafax, however, lock up as described above. > > Attempting to limit FIFO depth with 0x100 or 0x200 flags on the > ports has no effect. > > >> How-To-Repeat: >> > Put a "puc" style board in the machine, set up hylafax, send a few > dozen faxes. The driver will wedge. > > >> Fix: >> > > <how to correct or work around the problem, if known (multiple > lines)> > For what its worth, USB-based serial adapters also fail in the same way, but faster (they have NEVER been reliable in this regard, and this hasn't improved) -- Karl --------------050006070207060403040001--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B102059.6040003>