Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Dec 2008 18:38:00 +0300
From:      Eygene Ryabinkin <rea-fbsd@codelabs.ru>
To:        Boris Samorodov <bsam@ipt.ru>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: Timeda 8-multiport adapter: only 2 ports available
Message-ID:  <dgryeQY4GEVsW/%2Bo7hiHda0rsyw@Nv45r0f9gWT8HCu35qu0Xm2Zg98>
In-Reply-To: <26722819@bb.ipt.ru>
References:  <92804393@bb.ipt.ru> <26722819@bb.ipt.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

--7iMSBzlTiPOCCT2k
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Boris, good day.

Wed, Dec 10, 2008 at 05:13:48PM +0300, Boris Samorodov wrote:
> Boris Samorodov <bsam@ipt.ru> writes:
>=20
> > I've got a Sunix PCI Serial 8-channel Multiport adapter (Timedia chipse=
t):
> > -----
> > puc0@pci0:5:2:0:        class=3D0x070002 card=3D0x40661409 chip=3D0x716=
81409 rev=3D0x01 hdr=3D0x00
> >     vendor     =3D 'Timedia Technology Co Ltd'
> >     device     =3D '40371409 PCI / ISA Asynchronous UART Signal Chips S=
olution'
>=20
> Actually the card is 4066, while 4037 (according to pucdata.c) is indeed
> a dual-port card. May be the card is wrongly interpreted by the OS?

pciconf just don't know about 4066, so is prints what it has in the
database.  This is irrelevant to the driver -- it discovers the correct
chip with 8 ports:

> > puc0: <Timedia technology 8 Port Serial> port 0xec00-0xec1f,0xe880-0xe8=
8f,0xe800-0xe807,0xe480-0xe487,0xe400-0xe407,0xe080-0xe087 irq 18 at device=
 2.0 on pci5
> > puc0: Reserved 0x20 bytes for rid 0x10 type 4 at 0xec00
> > puc0: Reserved 0x10 bytes for rid 0x14 type 4 at 0xe880
> > puc0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xe800
> > puc0: Reserved 0x8 bytes for rid 0x1c type 4 at 0xe480
> > puc0: Reserved 0x8 bytes for rid 0x20 type 4 at 0xe400
> > puc0: Reserved 0x8 bytes for rid 0x24 type 4 at 0xe080
> > puc0: [FILTER]
> > uart4: <16550 or compatible> on puc0
> > uart4: [FILTER]
> > uart4: fast interrupt
> > uart5: <16550 or compatible> on puc0
> > uart5: [FILTER]
> > uart5: fast interrupt
> > -----

Judging by this output, the 6 ports that got their reservations at
dev/pci/pci.c are the ones that aren't recognized by uart.  You may need
to add trace printfs to uart_puc_probe (uart_bus_puc.c) and to
uart_bus_probe (uart_core.c), just around the register resource
allocator.  This should show what devices are passed to the probe
routines and which are rejected.  Be sure to include 'rid' values to
your debug output to get the idea what ports we're speaking about.
--=20
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual  =20
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook=20
    {_.-``-'         {_/            #

--7iMSBzlTiPOCCT2k
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkk/4lcACgkQthUKNsbL7Yi1PACfZSMBOC1L012UYGv+HiIrbbJy
gwYAnAlb3nG2AoZpK/u1L2NVINsHnaVL
=COq+
-----END PGP SIGNATURE-----

--7iMSBzlTiPOCCT2k--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dgryeQY4GEVsW/%2Bo7hiHda0rsyw>