⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.sbpcd.txt

📁 Linux块设备驱动分析与模拟实现
💻 TXT
字号:
  1 This is release 1.3 of the SoundBlaster Pro (Matsushita, Kotobuki,
  2 Panasonic, CreativeLabs, Aztech) CD-ROM driver for Linux.
  3 
  4 The driver is able to drive the whole family of IDE-style
  5 Matsushita/Kotobuki/Panasonic drives (the "double speed" versions
  6 like CR-562 and CR-563, too), and it will work with the soundcard
  7 interfaces (SB Pro, SB 16, Galaxy, SoundFX, ...) and/or with
  8 the "no-sound" cards (Panasonic CI-101P, LaserMate, Aztech, ...).
  9 The interface type has to get configured in /usr/include/linux/sbpcd.h, 
 10 because the behavior is different.
 11 
 12 The driver respects different drive firmware releases - my old drive
 13 is a 2.11, but it should work with "old" drives <2.01 ... >3.00
 14 and with "new" drives (which count the releases around 0.75 or
 15 1.00).
 16 
 17 Up to 4 drives are supported. CR-52x and CR-56x drives can be mixed,
 18 but the CR-521 ones are hard-wired to drive ID 0. The drives have
 19 to use different drive IDs, but the same controller (it will be a
 20 little bit harder to support up to four interface cards - but I plan
 21 to do it the day somebody wishes to connect a fifth drive).
 22 Each drive has to get a unique minor number (0...3), corresponding
 23 to it's drive ID. The drive IDs may be selected freely from 0 to 3 -
 24 they must not be in consecutive order.
 25 
 26 The driver supports reading of data from the CD and playing of
 27 audio tracks. The audio part should run with WorkMan, xcdplayer,
 28 with the "non-X11" products CDplayer and WorkBone - tell me if
 29 it is not compatible with other software.
 30 
 31 MultiSession is supported, "ManySession" (see below) alternatively.
 32 Photo CDs work, too. At ftp.gwdg.de:/pub/linux/hpcdtoppm/ is a package 
 33 to convert photo CD image files.
 34 
 35 The transfer rate will reach 150 kB/sec with standard drives and
 36 the full 300 kB/sec with double-speed drives.
 37 
 38 This release is part of the standard kernel and consists of
 39 - this README file
 40 - the driver file linux/drivers/block/sbpcd.c
 41 - the header file linux/include/linux/sbpcd.h.
 42 
 43 
 44 To install:
 45 -----------
 46 
 47 1. Setup your hardware parameters. Though the driver does "auto-probing"
 48    now, this step is recommended for every-day use.
 49    a. Go into /usr/src/linux/include/linux/sbpcd.h and configure
 50       it for your hardware (near the beginning):
 51       a1. Set it up for the appropriate type of interface board.
 52           Most "compatible" sound boards (for example "Highscreen",
 53           "SoundFX" and "Galaxy") need the "SBPRO 0" setup. The
 54           "no-sound" board from OmniCd needs the "SBPRO 1" setup.
 55           sbpcd.c holds some examples in it's auto-probe list.
 56       a2. Tell the address of your CDROM_PORT.
 57    b. Additionally for 2.a1 and 2.a2, the setup may be done during
 58       boot time (via the "kernel command line" or "LILO option"):
 59           sbpcd=0x230,SoundBlaster
 60       or
 61           sbpcd=0x320,LaserMate
 62       (these strings are case sensitive!).
 63 
 64 2. Do a "make config" and select "yes" for Matsushita CD-ROM
 65    support and for ISO9660 FileSystem support.
 66    SCSI and/or SCSI CD-ROM support is not needed.
 67 
 68 3. Then do a "make dep", then make the kernel image ("make zlilo"
 69    or else).
 70 
 71 4. Make the device file(s). The driver uses definitely and exclusive
 72    the MAJOR 25, so do
 73 
 74         mknod /dev/sbpcd b 25 0       (if you have only drive #0)
 75 and/or
 76         mknod /dev/sbpcd0 b 25 0
 77         mknod /dev/sbpcd1 b 25 1
 78         mknod /dev/sbpcd2 b 25 2
 79         mknod /dev/sbpcd3 b 25 3
 80 
 81    to make the node(s).
 82    Take care that you create a node with the same MINOR as your drive
 83    id is. So, if the DOS driver tells you have drive id #3, you have to
 84         mknod /dev/<any_name> b 25 3
 85    
 86    If you further make a link like
 87         ln -s sbpcd /dev/cdrom
 88    you can use the name /dev/cdrom, too.
 89 
 90 5. Reboot with the new kernel.
 91 
 92 You should now be able to do "mount -t iso9660 /dev/sbpcd /mnt"
 93 and see the contents of your CD in the /mnt directory, and/or
 94 hear music with "workman -c /dev/sbpcd &".
 95 
 96 
 97 Things of interest:
 98 -------------------
 99 
100 The driver is configured to try the SoundBlaster Pro type of
101 interface at I/O port 0x0230 first. If this is not appropriate,
102 sbpcd.h should get changed (you will find the right place -
103 just at the beginning).
104 
105 No DMA and no IRQ is used, so the IRQ adjusting is not necessary,
106 and the IRQ line stays free for the SB Pro sound drivers.
107 
108 To reduce or increase the amount of kernel messages, edit
109 sbpcd.c and change the initialization of the variable
110 "sbpcd_debug". This is the way to get rid of the initial
111 warning message block, too.
112 
113 With "#define MANY_SESSION 1" (sbpcd.c), the driver can use
114 "many-session" CDs. This will work only with "new" drives like 
115 CR-562 or CR-563. That is NOT multisession - it is a CD
116 with multiple independent sessions, each containing block
117 addresses as if it were the only session. With this feature
118 enabled, the driver will read the LAST session. Without it,
119 the FIRST session gets read.
120 If you would like the support of reading "in-between" sessions,
121 drop me a mail and some food for the soul. :-)
122 Those "many-session" CDs can get made by CDROM writers like
123 Philips CDD 521.
124 If you enable this feature, it is impossible to read true
125 multisession CDs.
126 
127 
128 Auto-probing at boot time:
129 --------------------------
130 
131 The driver does auto-probing at all well-known interface card
132 addresses now. The idea to do that came from Adam J. Richter 
133 (YGGDRASIL).
134 
135 This auto-probing looks first at the configured address resp.
136 the address submitted by the kernel command line. With this,
137 it is possible to use this driver within installation boot
138 floppies, and for any non-standard address, too.
139 
140 Auto-probing will make an assumption about the interface type 
141 ("SBPRO" or not), based upon the address. That assumption may
142 be wrong (initialization will be o.k., but you will get I/O
143 errors during mount). In that case, use the "kernel command 
144 line" feature and specify address & type at boot time to find 
145 out the right setup.
146 
147 SBPCD's auto-probing happens before the initialization of the
148 net drivers. That makes a hang possible if an ethernet card
149 gets touched.
150 
151 For every-day use, address and type should get configured
152 within sbpcd.h. That will stop the auto-probing due to success
153 with the first try.
154 
155 
156 Setting up address and interface type:
157 --------------------------------------
158 
159 If your I/O port address is not 0x0230 or if you use a "no-sound"
160 interface other than OmniCD, you have to look for the #defines
161 near the beginning of sbpcd.h and configure them: set SBPRO to
162 0 or 1, and change CDROM_PORT to the address of your CDROM I/O port.
163 
164 Most of the "SoundBlaster compatible" cards behave like the
165 no-sound interfaces! 
166 
167 With "original" SB Pro cards, an initial setting of CD_volume
168 through the sound cards MIXER register gets done. That happens
169 at the end of "sbpcd_init". If you are using a "compatible"
170 sound card of type "LaserMate", you can change that code to get
171 it done with your card, too...
172 
173 
174 Using audio CDs:
175 ----------------
176 
177 Workman, WorkBone, xcdplayer and cdplayer should work good now,
178 even with the double-speed drives.
179 
180 The program CDplayer likes to talk to "/dev/mcd" only, xcdplayer
181 wants "/dev/rsr0", workman loves "/dev/sr0" - so, do the appropriate
182 links for using them without the need of supplying parameters.
183 
184 
185 Known problems:
186 ---------------
187 
188 Currently, the detection of disk change or removal does not
189 work as good as it should.
190 
191 
192 Bug reports, comments, wishes, donations (technical information
193 is a donation, too :-) etc. to
194                          emoenke@gwdg.de
195  or to                   eberhard_moenkeberg@rollo.central.de
196  or to my FIDO address:  Eberhard Moenkeberg, 2:2437/210.27
197 
198 
199 SnailMail address, preferable for CD editors if they want to submit
200 a free "cooperation" copy:
201                          Eberhard Moenkeberg
202                          Reinholdstr. 14
203                          D-37083 Goettingen
204                          Germany

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -