narten@purdue.EDU (03/23/87)
I have a ProNET p1100 Q-bus interface that I want to put on a uVAX II running 4.3 UNIX. I am using the driver that comes with 4.3, which works for the UNIBUS version of the interface. According to persons in technical support at Proteon, the Q-bus and UNIBUS interfaces are the same, and I should be able to use the same driver. Can anyone verify that this is indeed correct? The driver fails during the configuring process (e.g. vvinit() called at ifconfig time) when the board fails to pass the digital loopback test. UNIX is finding the board at autoconf time, so I am sure that either the board is bad, or the driver isn't 100% compatible. Thomas Narten narten@cs.purdue.EDU or {ihnp4, allegra}!purdue!narten
richards@uiucdcsb.UUCP (03/24/87)
I was bitten by this too -- it turns out that the driver is a little sloppy in not masking off extended address bits for DMA. The UNIBUS proNET card pays attention to only 18 address bits, but the Q-bus card is sensitive to 22 address bits. The integer returned by if_ubainit() in the ifrw_info field actually contains several fields, which have non-zero bits in the positions that get pushed into the extended bus addr register of the Q-bus card, giving bogus DMA addresses. The whole address should be masked to 18 bits for both UNIBUS and Q-bus systems. (At least Ultrix 2.1 worked that way -- have later BSD derivitives used the full 22 bit Q-bus address space?). In sys/vaxif/if_vv.c, change all references of the form: ubainfo = vs->vs_ifuba.ifu_r.ifrw_info; and ubainfo = vs->vs_ifuba.ifu_w.ifrw_info; to something like ubainfo = UBA_ADDRMASK(vs->vs_ifuba.ifu_r.ifrw_info); or ubainfo = UBA_ADDRMASK(vs->vs_ifuba.ifu_w.ifrw_info); and define this in the top of the file: #define UBA_ADDRMASK(i) UBAI_ADDR(i) (or if your system doesn't have UBAI_ADDR() in sys/vaxuba/ubavar.h, use this) #define UBA_ADDRMASK(i) ((int)(i) & 0x3ffff) Paul Richards University of Illinois at Urbana-Champaign, Dept of Comp Sci UUCP: {pur-ee,convex,inhp4}!uiucdcs!richards ARPA: richards@b.cs.uiuc.edu