home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / os / linux / 8150 < prev    next >
Encoding:
Internet Message Format  |  1992-08-13  |  3.6 KB

  1. Path: sparky!uunet!gossip.pyramid.com!olivea!sgigate!odin!mips!darwin.sura.net!zaphod.mps.ohio-state.edu!ncar!csn!boulder!ophelia!drew
  2. From: drew@ophelia.cs.colorado.edu (Drew Eckhardt)
  3. Newsgroups: comp.os.linux
  4. Subject: Re: Support for TMC 950 SCSI controllers
  5. Message-ID: <1992Aug13.201410.24165@colorado.edu>
  6. Date: 13 Aug 92 20:14:10 GMT
  7. References: <1992Aug13.142645.4980@random.ccs.northeastern.edu>
  8. Sender: news@colorado.edu (The Daily Planet)
  9. Organization: University of Colorado at Boulder
  10. Lines: 99
  11. Nntp-Posting-Host: ophelia.cs.colorado.edu
  12.  
  13. In article <1992Aug13.142645.4980@random.ccs.northeastern.edu> alansar@ccs.northeastern.edu (Mohammad Al-Ansari) writes:
  14. >
  15. >The faq says that a patch for TMC 950 SCSI controllers was posted to the
  16. >net and that it is going to be incorporated into the Linux package soon.
  17. >Where can one get this patch? Is it at any of the ftp sites?
  18. >
  19. >Thanks a lot in advance.
  20. >
  21. >--
  22.  
  23. I haven't had a chance to incorporate it <yet>, here's the original 
  24. posting : 
  25.  
  26. --- cut ---
  27. Someone asked about the Future Domain card TMC-950 and how to get
  28. it to work with linux. I can't ftp diffs but the changes were
  29. pretty simple so this is what I did:
  30.  
  31.     1. The target id of the controller must be 6 not 7. I found
  32.         this in two places seagate.c and scsi.c
  33.  
  34.         in scsi.c change 
  35.             for (dev = 0; dev < 7; ++dev)
  36.         to
  37.             for (dev = 0; dev < 6; ++dev)
  38.  
  39.  
  40.         in seagate.c change
  41.             if (target > 6)
  42.         to
  43.             if (target > 5)
  44.         and
  45.             DATA = (unsigned char) ((1 << target) | 0x80);
  46.         to
  47.             DATA = (unsigned char) ((1 << target) | 0x40);
  48.         and
  49.             if (!((temp = DATA) & 0x80))
  50.         to
  51.             if (!((temp = DATA) & 0x40))
  52.  
  53.     2. The offsets for TMC-950 are slightly different than the 
  54.        seagate, i.e. in seagate.c change
  55.         st0x_cr_sr =(void *) (((unsigned char *) base_address) + 0x1a00);
  56.         st0x_dr = (void *) (((unsigned char *) base_address+ 0x1c00);
  57.        to
  58.         ""                               + 0x1c00);
  59.         ""                               + 0x1e00);
  60.  
  61.     3. I had to add a cludge to the cmd out phase where the 
  62.         sequence of commands is delayed between bytes.
  63.         You may or may not need this, this appeared to
  64.         be bus speed dependent. I basically looped for
  65.         2000 clock ticks before outputting sequential
  66.         command bytes.
  67.  
  68. --- drew's comment --- 
  69.  
  70. I changed the command out phase so that REQ is checked before a byte 
  71. is sent, so this sbould be unecessary 
  72.  
  73. ---
  74.     4. I compiled with -DOVERRIDE=0xc8000 since I do not
  75.        (nor do I want) have a Future Domain BIOS chip.
  76.  
  77.  
  78.  
  79.     5. In scsi.h change the reference to a host target id of 7 to 6.
  80.        Its ORed into the lun in a define I think.
  81.  
  82.  
  83. The only problem I have encountered is that on first power-up
  84. the READ CAPACITY (and for tapes READ BLOCK LIMITS) fail. For
  85.  
  86. --- drew again ---
  87.  
  88. This has been kludged arround - the error handling code in version 
  89. 1 of the SCSI drivers doesn't work very well, and won't be fixed 
  90. because version 2 handles things fine.
  91.  
  92. In the init code, if something fails, it gets retried - this seems
  93. to have worked in 99.99% of the cases 
  94.  
  95. ---
  96.  
  97. now all I do is a soft reset and that goes away. Also, the
  98. driver appears to get stuck in a non-error timeout loop sometimes
  99. so that disk access appears extremely slow.
  100.  
  101. If you need a description of the ports for the TMC I can spend 
  102. some time and post it, seems hardly worth it though as this board
  103. is so slow. I only use it for SCSI tapes, disk access is crummy.
  104.  
  105. Louis Birk.
  106. birk_lj@rso.dnet.ge.com
  107.  
  108.  
  109. -- 
  110. Microsoft is responsible for propogating the evils it calls DOS and Windows, 
  111. IBM for AIX (appropriately called Aches by those having to administer it), but neither is as bad as AT&T.  Boycott AT&T, and let them know how you feel. 
  112.