Timeda 8-multiport adapter: only 2 ports available
Marcel Moolenaar
xcllnt at mac.com
Mon Dec 15 17:33:34 UTC 2008
On Dec 15, 2008, at 7:58 AM, Boris Samorodov wrote:
> Marcel Moolenaar <xcllnt at mac.com> writes:
>> On Dec 13, 2008, at 5:36 AM, Boris Samorodov wrote:
>>
>>> That's for the line [*]:
>>> -----
>>> --- pucdata.c (revision 185784)
>>> +++ pucdata.c (working copy)
>>> @@ -1145,6 +1145,10 @@
>>> case PUC_CFG_GET_TYPE:
>>> *res = PUC_TYPE_SERIAL;
>>> return (0);
>>> + case PUC_CFG_INIT_PORT:
>>> + bus_write_1((struct res *)res, 1 /* IER */, [*]
>>> + (port >= 2) ? 0x10 : 0);
>>> + return (0);
>>> default:
>>> break;
>>> }
>>
>> Argh, (struct res *) must be (struct resource *)...
>
> No go. The same, ports are detected but show garbadge.
One last thing that we could try. If the rclk for the
upper 6 ports is wrong, then the baudrate will not be
as programmed. For all ports we now have an rclk that's
8 times the default (i.e. RCLK*8). See if the baudrate
is 8 times slower than what you specified.
i.e. If you specified a baudrate of 115200, see if you
need to program the other side for 14400. You may want
to pick a baudrate that's yields a more standard rate
when divided by 8.
If this works, then the upper 6 port have a standard
RCLK.
More tricky, but worth to try is RCLK*10. Since we
calculate based on RCLK*8, the baudrate will be 10/8
of what you expect. Specify a baudrate of 92160 to
get 115200 (pick numbers that'll work).
FYI,
--
Marcel Moolenaar
xcllnt at mac.com
More information about the freebsd-current
mailing list