Timeda 8-multiport adapter: only 2 ports available
Marcel Moolenaar
xcllnt at mac.com
Thu Dec 11 17:07:03 UTC 2008
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 at 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 at mac.com
More information about the freebsd-current
mailing list