[comp.os.vms] Obtaining Ethernet address of DEQNA device from VMS process

brian@praxis.UUCP (08/28/87)

Help ! I am trying to get the Ethernet address of a DEQNA device from a 
process - so far with out much success. 

I've tried assigning a channel to the device (XQA1) so that I can obtain the 
Ethernet address via a sense mode QIO request, but the device is already 
allocated to a process - SHOW DEVICE/FULL XQA1 indicates that the owning 
process is NETACP. Is there anyway of getting around this problem, bearing
in mind that the process in question is not privileged.

I can obtain the address from the keyboard by running NCP and giving a 
SHOW EXECUTOR STATUS command. Can I get at the routine that NCP uses to
access the controller ?

Any suggestions will be gratefully received.

Brian Holmes                                 Tel:   +44 225 444700
Praxis Systems plc                           Telex: 445848 PRAXIS G
20 Manvers Street, Bath, BA1 1PX, U.K.       Fax:   +44 225 65205
seismo!mcvax!ukc!praxis!brian                brian%praxis.uucp@ukc.ac.uk

ted@blia.BLI.COM (Ted Marshall) (09/04/87)

In article <1111@newton.praxis.co.uk>, brian@praxis.co.uk (Brian Holmes) writes:
> I've tried assigning a channel to the device (XQA1) so that I can obtain the 
> Ethernet address via a sense mode QIO request, but the device is already 
> allocated to a process - SHOW DEVICE/FULL XQA1 indicates that the owning 
> process is NETACP. Is there anyway of getting around this problem, bearing
> in mind that the process in question is not privileged.


Your mistake is trying to use XQA1. Use XQA0 instead. The XE/XQ/ET drivers have
the "TEMPLATE" bit set in the DEVSTS field of the UCB. This means that when
a channel is opened to XQA0, the executive (and/or the driver, I'm not sure
who does it) creates a UCB for an unused unit number and re-directs the open
to that new unit.

Thus, when you started DECnet, it open XQA0. The system created XQA1 and re-
directed DECnet's open to it. You can then also open XQA0. The system will
create a new unit (maybe XQA2) and redirect your open to it.

I made a similar mistake once. I was setting up some software to use the
second DEQNA on a microVAX (XQB0). By mistake, I specified XQA1. The problem
was that the program was started by SYSTARTUP.COM which has all privileges
(including SHARE). Thus, the open succeded and my program was sharing the
protocol port with DECnet! Very soon, DECnet started reporting some very
strange errors!

-- 
Ted Marshall       ...!ucbvax!mtxinu!blia!ted <or> mtxinu!blia!ted@Berkeley.EDU
Britton Lee, Inc., 14600 Winchester Blvd, Los Gatos, Ca 95030     (408)378-7000
The opinions expressed above are those of the poster and not his employer.