Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 May 2010 21:00:21 GMT
From:      Garrett Cooper <yanefbsd@gmail.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/146647: Some PCIe seral/parallel boards with ID 9901 9710  don't work
Message-ID:  <201005262100.o4QL0L4f071401@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/146647; it has been noted by GNATS.

From: Garrett Cooper <yanefbsd@gmail.com>
To: Tommy Johnson <tjohnson@bobdbob.com>
Cc: bug-followup@freebsd.org
Subject: Re: kern/146647: Some PCIe seral/parallel boards with ID 9901 9710 
	don't work
Date: Wed, 26 May 2010 13:51:05 -0700

 On Mon, May 17, 2010 at 10:37 PM, Garrett Cooper <yanefbsd@gmail.com> wrote=
 :
 > On Sun, May 16, 2010 at 6:56 PM, Garrett Cooper <yanefbsd@gmail.com> wrot=
 e:
 >> On Sun, May 16, 2010 at 6:47 PM, Garrett Cooper <yanefbsd@gmail.com> wro=
 te:
 >>> On Sun, May 16, 2010 at 5:50 PM, Tommy Johnson <tjohnson@bobdbob.com> w=
 rote:
 >>>>
 >>>>>Number: =A0 =A0 =A0 =A0 146647
 >>>>>Category: =A0 =A0 =A0 kern
 >>>>>Synopsis: =A0 =A0 =A0 Some PCIe seral/parallel boards with ID 9901 971=
 0 don't work
 >>>>>Confidential: =A0 no
 >>>>>Severity: =A0 =A0 =A0 non-critical
 >>>>>Priority: =A0 =A0 =A0 low
 >>>>>Responsible: =A0 =A0freebsd-bugs
 >>>>>State: =A0 =A0 =A0 =A0 =A0open
 >>>>>Quarter:
 >>>>>Keywords:
 >>>>>Date-Required:
 >>>>>Class: =A0 =A0 =A0 =A0 =A0sw-bug
 >>>>>Submitter-Id: =A0 current-users
 >>>>>Arrival-Date: =A0 Mon May 17 01:00:10 UTC 2010
 >>>>>Closed-Date:
 >>>>>Last-Modified:
 >>>>>Originator: =A0 =A0 Tommy Johnson
 >>>>>Release: =A0 =A0 =A0 =A08.0
 >>>>>Organization:
 >>>>>Environment:
 >>>> FreeBSD teryx 8.0-STABLE FreeBSD 8.0-STABLE #8: Sat May 15 15:49:45 ED=
 T 2010 =A0 =A0 tjohnson@teryx:/usr/src/sys/amd64/compile/TERYX =A0amd64
 >>>>>Description:
 >>>> Support for cards with vendor 9901 device 9710 is in the uart and ppc =
 drivers. =A0Unfortunately several boards use the same PCI ID, and they don'=
 t all work.
 >>>>
 >>>> The code as it exists right now, will support boards which use the bui=
 lt in serial and parallel ports on the 9710 chip. =A0One or two serial, wit=
 h zero or one LPT will probably work.
 >>>>
 >>>> The board I have is four serial one LPT, which is implemented as two s=
 erial on the built in UARTS, and then an ISA bus interface with another two=
  UARTS and a LPT interface on that ISA bus. =A0Possibly implemented with a =
 16S552 chip. =A0(It has no documentation, of course...)
 >>>>
 >>>> The same chip will also do a USB port (instead of an LPT, or ISA).
 >>>>
 >>>> So the first two serial ports are fine, but the second two serial port=
 s and the LPT fail to probe.
 >>>>>How-To-Repeat:
 >>>> Get a 9710 board with four serial and one LPT, and note that only the =
 first two serial ports work.
 >>>>>Fix:
 >>>
 >>> Hi Tommy,
 >>> =A0 =A0This is probably because the subvendor for your particular card
 >>> hasn't been added yet. Could you run devinfo -v and provide us with
 >>> the output, as well as a URL to the specific card that you acquired?
 >>> Thanks!
 >>
 >> =A0 =A0pciconf -lv would be helpful as well so that the devinfo could be
 >> properly mapped back to the appropriate device.
 >
 > Ok... the information you sent me just a while ago was interesting. It
 > appears to be a card with similar attributes to the card I sent out in
 > the past couple of months and Xinli (delphij@) was nice enough to add
 > and MFC. Here's my card (for reference):
 >
 > uart2@pci0:1:0:0: =A0 =A0 =A0 class=3D0x070002 card=3D0x1000a000 chip=3D0=
 x99019710
 > rev=3D0x00 hdr=3D0x00
 > =A0 =A0vendor =A0 =A0 =3D 'MosChip Semiconductors (Was: Netmos Technology=
 )'
 > =A0 =A0class =A0 =A0 =A0=3D simple comms
 > =A0 =A0subclass =A0 =3D UART
 > uart3@pci0:1:0:1: =A0 =A0 =A0 class=3D0x070002 card=3D0x1000a000 chip=3D0=
 x99019710
 > rev=3D0x00 hdr=3D0x00
 > =A0 =A0vendor =A0 =A0 =3D 'MosChip Semiconductors (Was: Netmos Technology=
 )'
 > =A0 =A0class =A0 =A0 =A0=3D simple comms
 > =A0 =A0subclass =A0 =3D UART
 > ppc1@pci0:1:0:2: =A0 =A0 =A0 =A0class=3D0x070103 card=3D0x2000a000 chip=
 =3D0x99019710
 > rev=3D0x00 hdr=3D0x00
 > =A0 =A0vendor =A0 =A0 =3D 'MosChip Semiconductors (Was: Netmos Technology=
 )'
 > =A0 =A0class =A0 =A0 =A0=3D simple comms
 > =A0 =A0subclass =A0 =3D parallel port
 >
 > What's interesting about your card's details is that it isn't
 > detecting the serial uarts based off the 4-port splitter as uarts, and
 > is instead detecting them as parallel ports. Very interesting
 > indeed...
 >
 > I'm not sure what modifications you've made to your local copy of
 > ppc(4), but definitely back out everything (sans the IDs for ppc3),
 > and add the PCI IDs to /sys/dev/uart/uart_bus_pci.c -- and it *should*
 > detect the appropriate uarts. If not, there's some kind of
 > configuration required that hasn't been setup on either the board or
 > something in software that needs to be done that's specific to the
 > card, or something that needs to be added to device.hints so that it
 > properly configures the card irqs, etc.
 >
 > FWIW my card doesn't function with lpt(4) (it's passing interrupts to
 > and from the driver, but I haven't hooked by the pinouts to see
 > whether or not signals are being passed through). I'm working on
 > root-causing what the issue is because it's related to work and
 > impacts productivity with an internal tools release.
 >
 > Thanks for the documentation though -- I'll see what I can do about
 > remedying the ppc(4) <-> lpt(4) issue over the next couple of weeks.
 
     lpt(4)'s fine (for the most part). It's a compatibility issue with
 the particular printer that we've standardized on here at work that's
 causing bad juju with the lpt(4) and this particular card (weird...).
     I'm going to see about acquiring one of these cards for testing
 though in the next week or so..
 Thanks,
 -Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005262100.o4QL0L4f071401>