Device driver for DRV11WA

Hurf Sheldon hurf at batcomputer.tn.cornell.edu
Wed Dec 24 06:55:18 AEST 1986


In article <500 at rayssd.RAY.COM> dhb at rayssd.RAY.COM (David H. Brierley) writes:
>In article <3456 at curly.ucla-cs.UCLA.EDU> tso at CS.UCLA.EDU (Kam Sing Tso) writes:
>>We need a device driver for DRV11WA working on
>>BSD4.2/3 running on a MicroVAX II.  I will
>>appreciate any pointers to one.  Thanks in
>>advance.
>>
>>Kam S. Tso, (818) 354-4847
>
>This question comes up every month or so and I usually send the poster a
>nice little mail message but I thought I would post the message to the
>net this time in the hopes of maybe helping more people in one fell swoop.
>
>1. There is no such thing as a generic DR11W/DR11B/DRV11WA/etc driver
>   under UNIX.  The major problem is that the DR11 is not really a *real*
>   device but is just an interface to a user supplied device.  Each i/o
>   operation is pretty much that, a generic i/o operation.  The command
>   that is passed to the DR11 does not really mean anything to the DR11,
>   it means something to the user supplied device.  The only way you
>   could do a generic driver under UNIX is to force the user to preceed
>   each read/write with an ioctl call to specify what the function bits
>   should be set to.

This would be useful, however, as a generic starting point into the minefield
of device drivers in general & dr[v]11's specifically.  Besides - what would
be the real performance difference if the register setups were done in user
software & used ioctl to pass them?
The drv11 is well documented so a driver that would allow you to just set
CSR value or just say dmatransfer(some value) would be of great value (to
me at least).

>
>2. Point 1 should not be taken to mean that the situation is hopeless.
>   There are drivers available for the DR11 that can be customized for
>   your specific situation.  What you need to do is to define exactly
>   what type of device you are connecting, including some info on how the
>   device functions, and also define what type of functionality you need
>   from the driver.  Given this information, the people that have DR11
>   drivers can see if their particular driver can be easily adapted to
>   your situation.  Some examples of the types of descriptions you should
>   be giving are as follows:
>

My try:

I need a driver for a drv11 on a uVaxII/Ultrix1.2 for a Hammamatsu Digitizing
camera. I have to pass valus in & get values  out in DMA mode, set  & read
CSR values prior to data transfer & interface as kindly as possible with
user software

>
>3. One other thing you are going to run into is that sometimes the companies that
>   develop these drivers are either not willing or not allowed (due to contractual
>   agreements) to distribute them.

I called Hammamatsu -
	 they told ME to call THEM  when I got a driver  working  under unix!

>	  For example, I have working version of examples
>   "a" and "b" above but am only allowed to give out copies of "a".  The reason for
>   this is that "a" is a modified version of a driver that was originally sent out
>   as part of 4.2BSD (even though it didn't work) but "b" was developed in-house
>   using funding from a military contract.  Therefore, "a" can be sent out because
>   it was originally, and still is, public domain (kinda sorta) but "b" is owned by
>   the Navy and the only way you can get it is to have the Navy tell me to give it
>   to you.

Who in the Navy? (We are an ONR associate lab)

>
>4. As a final course of action, you should post a message asking if anyone is willing
>   to give you advice on how to write a driver for a DR11.  If you don't have any
>   experience writing drivers .....

I am getting it the hard  way right now. I am having a problem getting the
data transferred from my software to the board. I have been using a write()
but does the kernal map to the uio & buf structs? If so how do I read them
in  the driver? (The drv11 should be loaded with the address of the data,
not the data & I can't get a handle on how to handle the transfer)

Why is this such a black art & are there any really useful texts or workshops?

>
>I hope this has been of use to at least a few of you. 

It  has and it is appreciated. I mailed the comments below but they bounced
Hence the commented response

>
>-- 
>David H. Brierley
>Raytheon Submarine Signal Division; Portsmouth RI; (401)-847-8000 x4073
>smart mailer or arpanet: dhb at rayssd.ray.com
>old dumb mailer or uucp: {cbosgd,gatech,ihnp4,linus!raybed2} !rayssd!dhb

  What is rayssd's numerical address?

		
	I read your note with interest. We have a Hammamatsu camera on a drv11
that was originally on an 11/23(Minc 11). A DEC friend  sent me a unibus dr11
driver to hack on  but I am having some problems getting the DMA registers
read correctly.  I have just learned there is an undocumented timing restriction
in  some early drv11's that would preclude them  running on a microvax so
I am about  to spring for a new drv11-WA.  However, I would appreciate a copy
of your driver  to compare with what I have & hopefully learn from [it].
thanks,
hurf   

     Hurf Sheldon			Arpa.css: hurf at ionvax.tn.cornell.edu
     Lab of Plasma Studies	
     369 Upson Hall			phone: 607 255 7267
     Cornell University
     Ithaca, N.Y. 14853


Cc: 
Bcc: 



More information about the Comp.unix.wizards mailing list