interference between scc serial and ethernet: more information
Brown, David (dbrown03)
DBrown03 at harris.com
Sat May 6 00:17:25 EST 2000
The target is a custom board similar to the EST8XX configuration, with an
860 and an LXT908 PHY. I ultimately need to run PPP on SCC3. When ethernet
receives data, it messes up SCC3's configuration somehow. I briefly tested
with SCC2 and saw the same thing, but I have concentrated on SCC3.
It's a 50MHz MPC860, identified by 8xxrom as XPC860xxZPnnC1 and actually
stamped as XPC860ENCZP50C1. Running at 50MHz.
Three nodes on the ethernet: the target, the Abatron BDI2000, and the
development host.
Case 1) Linux boots with default parameters, no IP address. I use SCC3
serial, no problem. Then, on the development host, I ping a non-existent
address (causing an ARP request broadcast). After that, the SCC3 serial is
not working. Sometimes, when I write to SCC3, garbled characters come out
(like it's the wrong baud rate). Other times, nothing comes out at all.
Case 2) Linux boots with IP address parameters. I use SCC3 serial, no
problem. Then, on the target, I ping a non-existent address. Serial still
works fine. I get "neighbour table overflow" messages.
Case 3) In enet.c, in cpm_enet_rx(), I commented out code so that all
received frames get tossed. Again, SCC3 serial stops working when the
development host pings an unknown address.
I tried activating kgdb to debug this, but kgdb stops working as soon as the
init shell starts. It seems to be a fight over which process gets the input
data. I'm looking at it with BDM, but that's quite slow since I have to
translate memory references.
I see four potential possibilities.
a) A bug in the enet or serial driver. Not likely, since others report that
Ethernet and SCC serial ports work simultaneously for them.
b) A hardware problem on my board. My co-worker says that's unlikely, since
his low-level test software exercises Ethernet RX and uses SCC3 as the
console.
c) A blatant configuration error in my setup of Linux. Not likely, since
Ethernet and Serial each work independently.
d) My board violates some assumptions made by Linux and/or the drivers.
That seems to me to be the most probable, but I can't think of what it might
be.
Please feel free to throw out random ideas as to what I should look for.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list