• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 288
  • Last Modified:

SCSI Card Setup on RH8

Hi there,

I have just installed Red Hat linux version 8 onto my PC. However i would like to configure my Sony CD-RW drive which is on a Tekram 315 PCI SCSI card. I have found drivers for the card on Tekrams site. It it a tar.gz archive which i extracted to my home directory. It leaves two file a *.c file and *.h file.

The instruction are here ftp://ftp.tekram.com/scsi/3X5/Linux/Redhat/Redhat70/readme.txt. However i cannot understand them - and it make references to installing the OS. I especially don't want to follow some of the instructions when they refer to Rh7 when i'm running rh8, and don't really want to re-install.

So i'm kinda stuck - i don't know where to go from here. So any suggestions would be appreciated. Please keep in mind I'm new to linux so the KISS prinicapl applies.

Thanks You

Sys Config

System P3 1Ghz
Gigabyte 60XE-1 Mobo
512Mb RAM
1 x WD 18G 7200RPM
1 x WD 6G 5400RPM
Pioneer 16x DVD
Tekram 315 PCI SCSI Card
  • 7
  • 5
1 Solution
Are you sure that your SCSI controller has not already been found on your system?

maybe an lspci can give you info, or check dmesg.

In case that it is, you can see if it picks up your Sony CDRW, by doing cdrecord (option --scanbus), and if its there, it will list it.

In case you have to use the instructions in the above readme, you will need to patch your kernel (I really dont think this is needed, since it might be in your kernel already).

But you can follow the section under :: automatic ::.

If nothing works, try and do a: make menuconfig in /usr/src/linux and see if SCSI support is enabled.

Hope it works out.
read the readme

 " New version maintain by Kurt Garloff
        http://www.garloff.de/kurt/linux/dc395/ "
check it out

and, of course, google
  Tekram 315 PCI SCSI linux driver
sjmcleanAuthor Commented:
Thanks jungle kp

I've gone through the commands you suggested with the following results:

lspci - which lists my SCSI card there
dmsg - nothing relating to my scsi card or anything else scsi related. However after enabling SCSI support using make menuconfig - SCSI subsystem support 1.0 is now  displayed

cdrecord - just gives error - No such file or directory. Cannot open SCSI driver

Before i to the Kernel thing i just did "make menuconfig"
which brought up a menu with several options. I went down to SCSI support.

Selected Y  for

* SCSI support
* SCSI CD-Rom Support
* SCSI Generic Support

However i'm not sure what to do next.... It would appear i may have to go the patching route.

Any suggestions??

Thanks Again

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

will not work without the Garloff module - if then

after compiling dc395x_trm.o module
  insmod scsi_mod
  insmod dc395x_trm.o
sjmcleanAuthor Commented:
Okay Thanks,

I think i seem to be missing something. I feel i'm on the right track though :)

How does one compile dc395x_trm.o - I have downloaded the driver package and extracted them. I am then left with the following files:

* dc395x_trm.h
* dc395x_trm.c
* Makefile
* Makefile.dc395
* Readme.dc395
* dc395-integ20.diff
* dc395-integ22.diff
* dc395-integ24.diff
* dc395-integ20.diff

The instructions say the following:
Copy the driver files to the linux source tree:
cp -p dc395/dc395x_trm.? /usr/src/linux/drivers/scsi/
cp -p dc395/README.dc395x /usr/src/linux/drivers/scsi/
and apply the appropriate patch to your kernel source     > tree. Depending on
your kernel version, this is dc395-integ20.diff,     dc395-integ22.diff or
dc395-integ24.diff. (Replace XX by 20, 22, 23 or 24)
patch -p1 -d /usr/src/linux <dc395/dc395-integXX.diff
The patches have been built against a 2.0.38, a 2.2.13, a 2.3.48 and a 2.4.6 kernel.
Note that you might get rejections, if you use different kernels, but those
should be easy to fix manually.
Look out for the .rej files (find . -name "*.rej")

I ran patch -p1 -d /usr/src/linux-2.4 dc395/dc395-integ25.diff

However nothing seem to happen - it just sits there doing nothing.

What am i doing wrong?? (perhaps this is beyond my ability atm).

Any help/suggestions appreciated

sjmcleanAuthor Commented:
Okay after much reading i think i have to
1. Download the Tar.gz file
2. Extract file to directory
3. Use the command "make"

I ran the make command in the directory where i downloaded the files however it fails to make a *.o file. The following error is displayed instead.

first use in this function)
make[1]: *** [dc395x_trm.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.18-26.8.0/drivers/scsi/dc395'
make: *** [dc395x_trm.o] Error 2

I however have no idea how to interpret this error and 'fix' it?

Any advice?

Thanks Stewart
you should be able to untar it into any directory,
make and end up with a dc395x_trm.o. You do not have to
rebuild the kernel.

then try the above insmod's
sjmcleanAuthor Commented:
Thanks arn0ld,

Have been trying the "make" command but keep getting the same error

/usr/src/linux/include/asm/pgalloc.h:137: `boot_cpu_data_R0657d037' undeclared (first use in this function)
make[1]: *** [dc395x_trm.o] Error 1
make[1]: Leaving directory `/home/stewart/dc395'
make: *** [dc395x_trm.o] Error 2

Could this be because the version of linux/kernel i'm using?? How does one find out what is causing this error.

Thanks Stewart
well,using strace, i redid my compilation & it went fine (sorry about that). Compile used

  5652 Aug 29  2002 /usr/src/linux-2.4.18/include/asm/pgalloc.h

My pgalloc.h does not contain boot_cpu_data. The R0657d037 looks to be a "kernel-mangle" - used to distinguish modules/drivers compiled under different kernels.

What is the date/size of your pgalloc.h?
sjmcleanAuthor Commented:
My pgalloc.h is

5760 Feb 25 2003 /usr/src/linux-2.4/include/asm/pgalloc.h

Will a program compiled on another pc work on say mine? Or does the program have to be compiled on the pc been used??


there are at least 2 issues:
  1. the other PC has a differnt architecture (e.g., 386 vs 486) and the software is designed/compiled to use features in the other.
  2. In the case of drivers/modules, there may be a kernel dependancy.

However, my besst bet is that  dc395x_trm.o can be compiled on one and used on another.

BTW, i shud have mentioned - I nominally run mandrake 8.2 on my box.

hmmm - i just ran a find on my pgalloc.h (i typically have 4/5 partitions with previous linuxes) and i found that i had commented out
      /* extern struct cpuinfo_x86 boot_cpu_data; */
   in an older pgalloc.h. i guess this was to get something to compile.   this is VERY un-K, but you can try it - edit and  comment out the comprable line and see if it make's

sjmcleanAuthor Commented:
Thanks arn0ld,

After several days trying to get this going i've decided to live without the SCSI burner. After all i still have my DVD-ROM drive and can just re-boot into 2000 if i need to burn anything. It would have been nice though to get the burner going. Maybe i'll come back to it at a later stage -i'm pretty sure i was on the right track thanks to you and jungle_kp.

Thank you, your advise was much appreciated and i must admit i learnt a fair bit too!!

Thanks again

sjmcleanAuthor Commented:
Although i didn't get it going.... i know that it *should* have worked. Many Thanks!!!

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 7
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now