README.ATAPI
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:9k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. This was taken out of mails from From: Dave Cohen <dcohen@richmond.infi.net>
  2. and From: Gadi Oxman <gadio@netvision.net.il>
  3. (slightly modified marked ***JS *** except typo corrects)
  4. It is only valid for Linux !
  5. As all actual Linux versions support ATAPI support for cdrecord,
  6. I removed the patch section. If you are running a Linux version
  7. that does not support ATAPI SCSI command transport, please upgrade.
  8. The basic driver design in Solaris would also allow to use ATAPI
  9. drives but unfortunately, Sun made a mistake in the mid-level design.
  10. If you want to use ATAPI drives with Solaris, ask Sun why they don't
  11. support SCSI passthrough to IDE although they are using a common driver
  12. concept.
  13. Please use cdrecord-1.6 final or later (if available), it includes the
  14. modifications needed for ATAPI drives and is still working with other 
  15. SCSI drives. Older revisions of cdrecord do not support ATAPI drives.
  16. If you are using Linux Kernel version prior to 2.1.73 or prior to
  17. 2.0.35, please upgrade before you try to compile and use cdrecord.
  18. In any case, you need to configure a kernel with ATAPI/SCSI hostadapter
  19. emulation. Read carefully the following instructions:
  20. In any case, you need to disable generic IDE/ATAPI CDROM support in 
  21. order to make ATAPI SCSI emulation working.
  22. Many people ask why I use ATAPI-SCSI emulation.
  23. The use of the naming convention "ATAPI-SCSI emulation" is a
  24. litle bit misleading. It should rather be called:
  25. "SCSI host adapter emulation"
  26. The ATAPI standard describes method of sending SCSI commands over IDE
  27. with some small limitations to the "real" SCSI standard.
  28. For this reason ATAPI-SCSI emulation is the native method of
  29. supporting ATAPI devices.
  30. If you have problems to talk to the device when it is jumpered as "slave"
  31. try to use it  as "master". If you connect a hard disk to the same IDE
  32. cable as the CD writer or if you try to read/write data from another drive
  33. that is connected to the same IDE cable as the CD writer you may get
  34. problems too.
  35. NOTICE:
  36. With the newer 2.1.x or 2.2.x kernels it seems to be possible to run 
  37. SCSI/ATAPI hostadapter emulation and generic IDE at the same time by 
  38. selectively telling the kernel what to use for which drive.  However,
  39. this would not be needed if the Linux SCSI CD-ROM driver would be more 
  40. up to date and supports standard conforming drives.
  41. J鰎g Schilling <schilling@fokus.gmd.de>
  42. --------------------------------------------------
  43. Here is a hint from Alan Brown <alanb@manawatu.gen.nz>:
  44. To allow ATAPI cd and ide-scsi support on the same machine, add 
  45. `hd<x>=ide-scsi` to the lilo.conf append entry, or use 
  46. `hd<x>=ide-scsi` at the bootup lilo prompt. 
  47. I have my HP-7200 RW drive as the primary drive on the second IDE 
  48. bus, so the statement used is "hdc=ide-scsi" 
  49. --------------------------------------------------
  50. Hope that the following  is helpful to you.
  51. I recently purchased a HP-7110i CD-RW, which is the U.S. only version of
  52. what you have. The HP 7100 and 7110  CD rewritables use the ATAPI
  53. standard. Originally, the drives were not supported under Linux (due to
  54. some inconsistencies with SCSI translations between the kernel and the
  55. CD), but that problem has just recently been fixed. There are some kernel
  56. and cdrecord patches that have been made to support this device that have
  57. yet to be officially incorporated into cdwrite and the kernel. In order to
  58. get your drive supported under Linux, you will have to do the following:
  59. 1. Get the proper version of cdrecord.
  60. As of this writing, I am just getting ready to test Joerg's new cdrecord.
  61. I am currently operational on cdrecord-1.5, so I know that works, and I
  62. have attached patches for that version. 
  63.  
  64. If you are in a hurry, you can download ver. 1.5, apply patches, and
  65. rock-n-roll. You may want to wait, though.  Up to you ;). The version with
  66. ATAPI support is cdrecord-1.6alpha5. I'm not sure if the current kernel
  67. patches are valid for this version, but i'll know soon enough.
  68. **** They are valid **** JS
  69. BTW, the new version of xcdroast now supports cdrecord - this version
  70. is in beta testing, too (currently uses cdrecord-1.5 but cdrecord-1.6a5
  71. should work with the actual xcdroast too).  
  72. 2. Upgrade to kernel version 2.0.31
  73. IDE/SCSI translation was first added in this kernel. Because your CD-RW is
  74. an ATAPI device, it will support SCSI command sets.  The translation
  75. allows you to map the device as a SCSI generic device. This will allow
  76. cdrecord to recognize it as a SCSI device.
  77. **** 2.0.31 still needs patches, get 2.0.35 or later **** JS
  78. 3. Get the patches and apply them
  79. Attached find kernel patches for kernel sources ide.h and ide-scsi.c, and
  80. cdrecord source scsi_cdr.c (version 1.5 only). 
  81. **** Get cdrecord-1.6 or later **** JS
  82. 3. Recompile kernel with SCSI emulation support
  83. If you do a "make menuconfig" or "make xconfig", select SCSI emulation
  84. under the category "Floppy, IDE, and other block devices".
  85. WARNING:
  86. Do not install SCSI support as a module - there is a bug in the makefile
  87. structure that will cause the compile to fail.  Compile directly into the
  88. kernel.   
  89. 4. WARNING: Disable generic IDE/ATAPI support *** JS ***
  90. If you don't do this, the SCSI emulation will not work  *** JS ***
  91. 5. This is impartant too:
  92. You also need to enable SCSI and SCSI generic support   *** JS ***
  93. 6. Make sure that /dev/sg* exists.
  94. If thet are missing, create them.
  95. Dave Cohen
  96. dcohen@richmond.infi.net 
  97. (Patch instructions below)
  98. -----------------------------------------------------------------
  99. From: Danilo Fiorenzano <shade@juliet.gppsd.ab.ca>
  100. Anyway, here's what I did, using kernel version 2.0.33  I believe this
  101. is the proper way to get an HP-7100i to work (and as far as I can tell,
  102. any other IDE CD-writer unit):
  103. 1) patch the kernel as described by README.ATAPI
  104. 2) save your current kernel config to an alternate file, then run
  105.    "make mrproper"
  106. 3) run 'make menuconfig' or 'make xconfig', then choose "load config
  107.    from alternate file" to restore the original configuration
  108. 4) In "Floppy, IDE and other block devices", disable "IDE/ATAPI CD-ROM
  109.    support" and enable instead "scsi emulation"
  110. 5) in "SCSI support" enable "SCSI support", "SCSI CD-ROM support" and
  111.    "SCSI generic support", everything directly in the kernel.
  112. 6) compile, install kernel/modules, reboot.  Now, if everything went
  113.    fine, your CDROM units should show up with a message like:
  114.  "hdb: HP CD-Writer+ 7100, ATAPI CDROM drive - enabling SCSI emulation"
  115. 7) run "cdrecord -scanbus" to make sure cdrecord can see the unit and
  116.    talk to it.  The end.
  117. Don't forget that now -all- of your CD drives are seen as -SCSI- units
  118. by all programs (/dev/scd0 etc.), so you might want to relink
  119. /dev/cdrom to the proper scd<n> in order to get xcdplay or whatever to
  120. work again.
  121. -------------------------------------------------------------------------------
  122. HOTE: 
  123. 1) Actual cdrecord releases support ATAPI
  124. 2) Linux 2.0.35 or Linux 2.1.73 or later include ATAPI support
  125. -------------------------------------------------------------------------------
  126. From whampton@staffnet.com Fri Jan 14 05:21:34 2000
  127. From: "W. Wade, Hampton IV" <whampton@staffnet.com>
  128. You may wish to include/append these notes to your ATAPI notes....
  129. I have my 4X Acer CD-R/RW ATAPI drive working with Linux.   My platform
  130. is
  131. RedHat 6.1 with kernel 2.2.14.  My first ATAPI CD device is a DVD with
  132. the second
  133. the CD-R.  I made the following changes:
  134. Steps:
  135. 1.  Identify which device is the CD-R -- in my case the fourth ATAPI
  136. device, /dev/hdd.
  137. 2.  Compile the kernel to include ATAPI CDROM and SCSI emulation:
  138.      Under the block devices menu:
  139.                 Y or M     Include IDE/ATAPI CDROM support
  140.                 Y or M     SCSI emulation
  141. 3.  Build and install the upgraded kernel.
  142. 4.  If you selected modules, add them to the /etc/conf.modules file.
  143. 5.  In the /etc/lilo.conf file add an append line for ide-scsi, in my
  144. case:
  145.         append = "hdc=ide-scsi hdd=ide-scsi"
  146. 6.  Reboot to the new kernel and make sure the ide-scsi module is loaded
  147.         /sbin/lsmod | grep ide-scsi
  148. 7.  Make a link from the proper SCSI device to a symbolic, e.g.,
  149. /dev/cdrom:
  150.       In my case the DVD is the first CD, hence appears as /dev/scd0 to
  151. scd7
  152.       (cat /proc/scsi/scsi to get a full list of devices -- the first
  153. CD-ROM will
  154.       appear as scd0, etc.)  With the current ATAPI-SCSI module, each CD
  155.       device appears as 8 SCSI devices (different logical units).  If
  156. you have
  157.       two devices, like I do, you may have to make a node for the second
  158. device.
  159.       In my case I had to make scd8:
  160.             cd /dev
  161.             mknod scd8 b 11 8
  162.         Then make links, in my case:
  163.             ln -s scd0 cdrom
  164.             ln -s scd8 cdr
  165.         Note, many CD-ROM player programs expect the audio CD drive to
  166.         be located at /dev/cdrom (xplaycd, etc.), hence this link is
  167. recommended.
  168.         If you try to use /dev/hdc (or wherever your CD or CD-R is)
  169. after loading
  170.         the ide-scsi module, you may not be able to mount CD's or play
  171. audio
  172.         discs -- you have to use the new SCSI names for the device.
  173. 8.  Fix your /etc/fstab file to mount the /dev/cdrom and /dev/cdr