Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Dec 2008 09:06:56 -0800
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Boris Samorodov <bsam@ipt.ru>
Cc:        freebsd-current@FreeBSD.org, rea-fbsd@codelabs.ru
Subject:   Re: Timeda 8-multiport adapter: only 2 ports available
Message-ID:  <BE3580EA-BACC-4FF3-9683-CCDE48858D96@mac.com>
In-Reply-To: <94541668@bb.ipt.ru>
References:  <92804393@bb.ipt.ru> <26722819@bb.ipt.ru> <dgryeQY4GEVsW/%2Bo7hiHda0rsyw@Nv45r0f9gWT8HCu35qu0Xm2Zg98> <26719629@bb.ipt.ru> <19F75E66-0535-4982-9726-E2C0A03117EA@mac.com> <u86IhinAe98poBxKoJlfe3b/pNw@TT2a40bhZF2dUby2PPEihZ1bSVY> <94541668@bb.ipt.ru>

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

On Dec 11, 2008, at 6:36 AM, Boris Samorodov wrote:

> Hello Eygene, Marcel and All,
>
>
> I've found some DOS/Linux docs/programs at the producers's site
> and unzipped them:
> ftp://ftp.ipt.ru/pub/sunix/
>
>
> Eygene Ryabinkin <rea-fbsd@codelabs.ru> writes:
>
>> Boris, could you please add the line
>> -----
>> printf("%s: BAS, handle is 0x%lx, tag is 0x%x\n", __func__,
>>    (unsigned long)bas->bsh, (unsigned int)bas->bst);
>> -----
>> to the beginning of ns8250_probe() and show the results.

Good suggestion, Eygene!

Summary:

port 1: IO=0xec00; IIR=0x1, 0xc1; MCR=0x0, 0x8
port 2: IO=0xec08; IIR=0x1, 0xc1; MCR=0x0, 0x8
port 3: IO=0xe880; IIR=0x1; MCR=0x40
port 4: IO=0xe888; IIR=0x1; MCR=0x40
port 5: IO=0xe800; IIR=0x1; MCR=0x40
port 6: IO=0xe480; IIR=0x1; MCR=0x40
port 7: IO=0xe400; IIR=0x1; MCR=0x40
port 8: IO=0xe080; IIR=0x1; MCR=0x40

For ports 3-8, the MCR has a value that's not liked by
uart(4). I think we need to know what that value means.
Are the ports disabled? Are they in a non-standard
mode? Is it just a non-standard status bit that's set
and we should ignore it? etc...

Boris: can you apply the following patch and see if
uart(4) attaches to all ports? If yes, can you see
if those ports actually work as well?

Index: uart_dev_ns8250.c
===================================================================
--- uart_dev_ns8250.c	(revision 185784)
+++ uart_dev_ns8250.c	(working copy)
@@ -241,7 +241,7 @@
  	if (val & 0x30)
  		return (ENXIO);
  	val = uart_getreg(bas, REG_MCR);
-	if (val & 0xe0)
+	if (val & 0xa0)
  		return (ENXIO);

  	return (0);

Thanks.

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BE3580EA-BACC-4FF3-9683-CCDE48858D96>