Help needed with DEC DEQNA on PDP 11/23+ Qbus
Karl Kleinpaste
karl at osu-dbs.UUCP
Wed May 9 04:38:45 AEST 1984
Help! I am trying (ever so desperately) to write a driver for a DEC DEQNA
Ethernet board to run on a PDP 11/23 Plus Qbus creature. Unfortunately, the
documentation I have on it is a bit ambiguous and possibly contradictory. I
have as yet not been able to get answers to a couple of questions on this
object. Could somebody help me with the following:
(a) If you've got a driver for this thing (under any version of Unix, but Sys3
is the way it will end up), could you mail it to me? That would solve my
problems entirely, and I could learn what is going on by studying your code.
(b) If you don't have a driver, but are familiar with the board, try to answer
these questions for me:
If I hand a 3-element Buffer Descriptor List to the DEQNA, and a short
(i.e., 100-byte) msg comes in, I will of course get a Receive Interrupt.
However, will the DEQNA also give up the remaining 2 unused buffers?
That is, will Receive List Invalid also be true? I sincerely hope so,
because if it doesn't, then I have a sticky problem in partial-message-
management, since the next message arriving could conceivably be >
1024 bytes long, requiring > 2 buffers which are still committed to
the DEQNA. This presents all kinds of questions such as where the
DEQNA will set "last buffer" (the LASTNOT bit active), and whether
I will get another Rcv Int when that 2nd buffer is filled, even though
additional data is waiting to be DMA'd in from the board's private
buffer.
What this really comes down to is, Does the DEQNA expect a single receive
buffer to be large enough to hold a complete Ethernet message? And does
it expect a single BDL to constitute receive buffers for more than one
message?
Along these same lines, but from a different tack: When transmitting, a
Transmit Interrupt is generated when the message is finished leaving the
board. However, I do not know when Transmit List Invalid will be set.
Will it be set as soon as the message to be transmitted has been moved
to the DEQNA's internal buffer? Or is Transmit List Invalid only set
when the last transmit has completed (i.e., are Transmit List Invalid
and Transmit Interrupt essentially the same thing)?
(c) Additionally, any textual sorts of descriptions of the various bit combina-
tions of BDL elements would be welcome. What I'm thinking of here are the
uses of the VALID address descriptor bit, particularly on Receive completion,
with respect to what constitutes the "end of the BDL" (table 4-2); is this
the end as I supplied it to the DEQNA, or the "end" as it sees the end of
a received message? Similar thoughts/questions apply to the LASTNOT and
ERROR/USED bits in the Status Word 1.
(d) How much of the Setup stuff is really needed? As I look at it, it seems
that I don't need much of it (possibly none); of course, I may want to
override the supplied Ethernet address, so something along those lines
will have to be done. I'm not big on loopbacks at this point, either;
other than hardware failures and hardware debugging, why do people use
these modes?
If anyone can help me with these items, I would be *most* appreciative. I
have been fighting these questions for 2 weeks, without getting anything of sig-
nificance accomplished.
I can be reached either at this address (cbosgd!osu-dbs!karl), but it is pre-
ferable to get to me at my office, address and phone below.
(Sigh...wimper... Pain and agony! Death and taxes! [It's all the same, yano.])
--
"Real Men don't feed Usenet bugs!"
Karl Kleinpaste @ Bell Labs, Columbus 614/860-5107 {cbosgd,ihnp4}!cbrma!kk
More information about the Comp.unix.wizards
mailing list