This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Re: Ignoring packet error...
- To: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Subject: Re: [ECOS] Re: Ignoring packet error...
- From: "richard.panton" <rpanton at 3glab dot com>
- Date: Wed, 8 Nov 2000 15:35:22 +0000 (GMT)
- cc: ecos-discuss at sources dot redhat dot com
On Tue, 7 Nov 2000, Jonathan Larmour wrote:
> "richard.panton" wrote:
> >
> > When I first connected the Assabet board to my PC using the Intel
> > serial/parallel cable, I got these errors. I could see output from the
> > RedBoot monitor, but nothing I typed had any effect, and running GDB gave
> > the 'Ignoring packet error' messages.
> >
> > It turned out that the serial cable is a three wire cable - ie. does not
> > provide handshaking signals - and that for some reason, Linux ALWAYS uses
> > some form of handshaking (I think DSR/DTR handshaking).
> [ sorry for reviving this old topic ]
>
> Did you check using a terminal emulator like minicom that there definitely
> was no handshaking? I know the default is to do handshaking but it can be
> set off. minicom is useful because it makes the current setting obvious.
>
> stty would probably do as well of course if you are sufficiently versed in
> that.
I've just done some more experiments.
The Assabet serial cable has pins 2, 3, and 5 connected (ie, RxD, TxD, and
GND). I've added connectors between 1 and 4 and 8 (ie. DCD, DTR, and CTS,
all connected together - NOTE all references to pins and connectors are at
the Linux end of the cable).
With this cable, under Linux, I ran gdb. Everything worked. I removed the
additional connectors (without exiting gdb). Everything still worked!!!
I rebooted to WindowsNT (without power-down), and ran HyperTerminal. The
RedBoot prompt appeared, and I could type commands.
I rebooted to Linux (again without power-down). Running "cu -s 38400
--nostop -l ttyS0" and reseting the Assabet board produced the RedBoot
startup banner, but pressing Enter (or any other key) had no result.
Similarly, gdb could not connect to the board (and "stty -a < /dev/ttyS0"
hangs without producing output).
I powered down the PC, and then booted Linux. Still no response from cu or
gdb. (or stty, although interestingly, whether "stty -a" works seems to
depend upon what was run last/is running).
I connected pins 4 and 8 (DTR - CTS!!), and cu began working (i.e.,
pressing Enter gave a new RedBoot prompt). stty produced results. However,
gdb could still not connect.
I connected DCD - DTR - RTS. cu and gdb now work.
Connecting all these pins together may not be an optimal solution, but it
does work (FOR MY SERIAL HARDWARE, DRIVING A THREE WIRE LINK). And no, I
don't have a proper explanation for WHY it doesn't work without these
connectors. However, I came across pretty much the same symptoms in the
mid-90's when writing a terminal emulator for EPOC devices
(http://www.iota.demon.co.uk/psion/hermes/hermes.html), and attempting to
log in to my Linux box; I had to modify a cable (tying DCD active at the
Linux end) to get past the login prompt. [Since then, new getty versions
have come along that allow me to log on with my terminal emulator without
cable hacks].