Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Dec 2013 15:58:18 +0100
From:      Milan Obuch <freebsd-stable@dino.sk>
To:        "Conall O'Brien" <conall@conall.net>
Cc:        Darrel <levitch@iglou.com>, freebsd-stable@freebsd.org
Subject:   Re: serial card on RC2 , RC3
Message-ID:  <20131228155818.17398d57@zeta.dino.sk>
In-Reply-To: <CAErLiGFHwi86sRSmN57DsoxVr6RgsnDjJ-Qr%2BX_BwXSirS6Z9Q@mail.gmail.com>
References:  <alpine.GSO.2.00.1312271114020.26196@shell1> <20131227181326.GA88638@in-addr.com> <alpine.GSO.2.00.1312271338250.4737@shell1> <20131227201342.08842077@zeta.dino.sk> <CAErLiGFHwi86sRSmN57DsoxVr6RgsnDjJ-Qr%2BX_BwXSirS6Z9Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 28 Dec 2013 14:11:17 +0000
"Conall O'Brien" <conall@conall.net> wrote:

> On 27 December 2013 19:13, Milan Obuch <freebsd-stable@dino.sk> wrote:
> > On Fri, 27 Dec 2013 13:41:50 -0500 (EST)
> > Darrel <levitch@iglou.com> wrote:
> >
> >>
> >> >> Anyone know how to get serial cable working with StarTech "2
> >> >> Port Native Express RS232 Serial Adapter Card with 16550
> >> >> UART"?  It is part number PEX2S553.
> 
> I've been trying to get the low profile version (part PEX2S553LP) of
> this card to work in my system on and off for a while now.
>

Do you still have this card to test? OP will continue testing later
when time permits, but if you can perform some test too, it could
speed the work. I am just trying to help, using bit of experience gained
with other multiport card.

> 
> Having added the following diff (which I keep meaning to submit in a
> PR), I have the uart driver recognising the card.
> 
> --- sys/dev/uart/uart_bus_pci.c (revision 259948)
> +++ sys/dev/uart/uart_bus_pci.c (working copy)
> @@ -130,6 +130,8 @@
>         "MosChip MCS9901 PCIe to Peripheral Controller", 0x10 },
>  { 0x9710, 0x9904, 0xa000, 0x1000,
>         "MosChip MCS9904 PCIe to Peripheral Controller", 0x10 },
> +{ 0x9710, 0x9922, 0xa000, 0x1000,
> +       "MosChip MCS9900 PCIe to Peripheral Controller", 0x10 },
>  { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port",
> 0x10 }, { 0xffff, 0, 0xffff, 0, NULL, 0, 0}
>  };
>

At a first sight it looks basically the same effect is achieved this
way, with no puc used here. Maybe this chip needs some initialisation
or mode switching could be usefull (it is possible to use FIFO 128
bytes deep when desired), which is easy to do with puc framework (but I
will look into uart too as there will be one level less in device tree
this way). But there are also 8 GPIO ports on this chip, I have no idea
how they could be correctly probed/attached if used.

> grep uart /var/run/dmesg.boot:
> 
> uart2: <Non-standard ns8250 class UART with FIFOs> port 0xd010-0xd017
> mem 0xfe203000-0xfe203fff,0xfe202000-0xfe202fff irq 18 at device 0.0
> on pci4
> uart3: <Non-standard ns8250 class UART with FIFOs> port 0xd000-0xd007
> mem 0xfe201000-0xfe201fff,0xfe200000-0xfe200fff irq 19 at device 0.1
> on pci4
> 
> and with pciconf -lv
> 
> uart2@pci0:4:0:0:       class=0x070002 card=0x1000a000 chip=0x99229710
> rev=0x00 hdr=0x00
>     vendor     = 'NetMos Technology'
>     device     = 'PCIe 9922 Multi-I/O Controller'
>     class      = simple comms
>     subclass   = UART
> uart3@pci0:4:0:1:       class=0x070002 card=0x1000a000 chip=0x99229710
> rev=0x00 hdr=0x00
>     vendor     = 'NetMos Technology'
>     device     = 'PCIe 9922 Multi-I/O Controller'
>     class      = simple comms
>     subclass   = UART
> 
> 
> However, I can't get a working tty on either serial port. When I
> connect over the serial port, I have a blank tty, which clearly states
> "Not a controlling terminal" when sent SIGINFO.
> 
> >> >> In my kernel I tried this:
> >> >>
> >> >> device puc
> >> >> device sio
> >> >> options COM_MULTIPORT
> >> >>
> >> >> in different variations.
> >> >>
> >> >> Also I tried in /boot/device.hints:
> >> >>
> >> >> hint.sio.2.flags="0x201"
> >> >> hint.sio.3.flags="0x201"
> >> >>
> >> >> It is obviously a cheap card, but I do have one working in a
> >> >> msft 7 machine.
> >> >>
> >> >
> >> > Please post some more information about your system.  pciconf -lv
> >> > and dmesg would both help developers see why the card isn't
> >> > detected.  If your system has been up for a while you may be
> >> > better off sending /var/run/dmesg.boot than the output of the
> >> > dmesg program.
> >> >
> >>
> >
> > Hi,
> >
> > could you apply following patch to /usr/src/sys/dev/puc/pucdata.c
> > and rebuild your kernel and/or modules? This is the first thing I
> > would test, and it could even work, but no guarantee yet,
> > naturally :)
> 
> > --- pucdata.c   2013-10-23 22:51:08.000000000 +0200
> > +++ pucdata.c.mod       2013-12-27 20:09:36.000000000 +0100
> > @@ -1094,6 +1094,12 @@
> >             PUC_PORT_2P, 0x10, 4, 0,
> >         },
> >
> > +       {   0x9710, 0x9922, 0xffff, 0,
> > +           "NetMos NM9922 Dual UART",
> > +           DEFAULT_RCLK,
> > +           PUC_PORT_2S, 0x10, 4, 0,
> > +       },
> > +
> >         {   0xb00c, 0x021c, 0xffff, 0,
> >             "IC Book Labs Gunboat x4 Lite",
> >             DEFAULT_RCLK,
> 
> I'm currently trying to enable sio, but run into kernel compile time
> problems already reported in
> http://www.freebsd.org/cgi/query-pr.cgi?pr=166626 . Perhaps I need to
> give up on sio and try using the puc driver with your patch
>

Which FreeBSD version are you using? Just for correctness, your patch
suggests you are atually using uart, not sio, which was deprecated some
time ago I think...

> > [ dmesg and pciconf output snipped ]
> >
> > Regards,
> > Milan
> >
> 



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