ISA SCSI card device driver???

ISA SCSI card device driver???

Post by Simon Y. Chan » Wed, 05 Sep 2001 10:17:44



Howdy,

Let me say a few things about me to set the stage:

1)  I know enough about FreeBSD 4.2-RELEASE to build a reasonably secure
firewall for my home office (ipfw, natd, shutting down services in inetd,
compiling kernel, etc.)
2)  I know nothing about C or C++ (or C#) programming, but am interested to
learn.

Now, I have an older ISA SCSI card (the Trantor T-160) that I had picked up
from a garbage pile somewhere (I forgot where), that I would like to get
working.  I have gotten this SCSI card to work under Novell NetWare 4.11
server with no problems so I know it works.  Trouble is that I see nothing
in the hardware compatibility list in v4.2-RELEASE that indicates that this
might at all work with it.  The GENERIC kernel doesn't even ID the card
(dmesg), and I don't see anything that might help me during kernel compile.

Question #1:  Has anyone written a driver for this card?  If so, can you
tell me what I need to do to get this card to work under FreeBSD?

Question #2:  I checked the FreeBSD web site and found an article titled
"Writing device driver for ISA device".  It looks nightmarishly difficult,
from the little that I understood.  So writing a device driver myself is out
of the question.  But if someone is at all interested in taking this on as a
pet project (no rush at all on getting this card to work) I am open to
baking something for you. =-)

Just my thoughts for today,

Simon Chang

 
 
 

1. How to write a device driver for data acquisition via ISA card

Hey everybody, I want to respond to a hardware interrupt from a data
acquisition card via ISA card. I manage to communicate with the card
throught simply I/O program. And now I would like to write a user program
with an interrupt handler.

My questions are:
1) My first step is to install the interrupt handler to the kernel. The
following is my source code. Is my structure of source code to install
interrupt handler correct? What am I missing? And what functions and header
files I need to install and service an interrupt routine?

#include <linux/sched.h>

main()
{
  unsigned int CAN_irq = 9;

 if (CAN_irq >= 0)
   {

     int result = request_irq(CAN_irq, CAN_ISR, SA_INTERRUPT, "CAN", NULL);

     if (result)
       {
      printk(KERN_INFO "CAN card can't get assigned irq %i/n", CAN_irq);
      CAN_ISR = -1;
       }

    return 0;

note: I also wrote CAN_ISR interrupt service routine.

2) Is there any example of device driver codes like this?

3) How to compile it? Is "gcc -O -D__KERNEL__ -o test test.c" correct?

4) Is it possible (reasonable, etc) to write a user program that uses a
hardware interrupt without writing a device driver?

For your information, I'm using RH 6.1 with gcc-2.91.66. I'm referring Linux
Device Driver by Alessandro Rubini and Linux Kernel Internal by M Beck, U
Kunitz and etc. Any other good references?

Thank you.

Regards,
Chun Seong

2. Secondary Hard-drive Partitions

3. How to write a device driver for data acquisition via ISA card?

4. mounted CDROM does not show all files

5. SOLARIS x86 Isa card device driver.

6. Testing for a file in a write process

7. user space device driver can't write to isa device

8. SSh

9. Kernel driver for PELogic 1600 ISA scsi card

10. ISA future domain SCSI card driver?

11. Device Driver for FWD SCSI card on AIX 4.2.1

12. Searching Device-driver for Symbios Sym8751SP SCSI-Card

13. Anyone interested in developing a device driver for the SIIG VLB scsi card?