📄 70.html
字号:
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>在linux下使用HPCD-Writer Plus 8210e (USB-接口)刻录机</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:Thomas Jaeger<br>来自:Linux知识宝库<br>联系方式:无名<br><br>内容: 如何在linux下使用 HP CD-Writer Plus 8210e (USB-接口)刻录机<br>
作者: Thomas Jaeger 翻译SuperStar<br>
Email:<br>
Version: V1.1<br>
<br>
<br>
目录<br>
1.0 介绍<br>
1.1 先决条件<br>
1.2 第一步<br>
1.3 给Linux做准备工作<br>
1.4 下面的步骤<br>
1.5 试一下热插拔<br>
1.6 测试<br>
1.7 准备好了吗?刻录了<br>
1.8 链接<br>
<br>
1.0 介绍<br>
这是一篇详细描述如何在linux下安装使用HP CD-Writer Plus 8210e(USB-interface)这个刻录机的文章。你会看到所有安装所必须<br>
的步骤。<br>
<br>
1.1 先决条件<br>
a. linux内核 >=V2.4.0-test8<br>
b. cdrecord V1.10a4 (http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html)<br>
c. usbmgr V0.3.5 (http://www.wonder.ne.jp/~shuu/usbmgr/)<br>
d. modutils-2.3.15 或者更新的版本 (非常重要!)<br>
e. 装有HP CD-Writer Plus 8210e刻录机的电脑<br>
<br>
1.2 第一步<br>
请先查看你的BIOS里面的设置,看是否已经允许使用usb接口。如果你用同一台电脑,并且在MS Win下面可以正常得使用这个刻录机,<br>
那你可以省去检查BIOS这一步。<br>
<br>
1.3 给Linux做准备工作<br>
你必须对编译和升级内核100%的熟悉。如果你对此是个新手的话,那你要当心。因为你可能造成旧内核的丢失或者不能引导等问题。<br>
我建议使用模块化的内核配置,因此你要对"insmod","lsmod","modprobe","depmod"等命令非常的熟悉。<br>
<br>
1.3.1 menuconfig<br>
下面的是我配置内核时所选的选项:<br>
Code maturity level options -->-<br>
[*] Prompt for development and/or incomplete code/drivers<br>
Loadable module support ---><br>
[*] Enable loadable module support<br>
[*] Set version information on all module symbols<br>
[*] Kernel module loader<br>
Block devices ---><br>
Loopback device support<br>
SCSI support ---><br>
SCSI support<br>
SCSI disk support<br>
SCSI CD-ROM support<br>
[*] Enable vendor-specific extensions (for SCSI CDROM)<br>
(2) Maximum number of CDROM devices that can be loaded as modules<br>
SCSI generic support<br>
[*] Enable extra checks in new queueing code<br>
[*] Verbose SCSI error reporting (kernel size +=12K)<br>
[*] SCSI logging facility<br>
SCSI low-level drivers ---><br>
deactivate any SCSI-Device you don have!<br>
File systems ---><br>
ISO 9660 CDROM file system support<br>
[*] Microsoft Joliet CDROM extensions<br>
[*] /proc file system support<br>
UDF file system support (read only)<br>
USB support ---><br>
Support for USB<br>
[*] USB verbose debug messages<br>
[*] Preliminary USB device filesystem<br>
[*] Enforce USB bandwidth allocation (EXPERIMENTAL)<br>
--- USB Controllers<br>
UHCI (Intel PIIX4, VIA, ...) support<br>
<> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support<br>
Select the correct USB Controller for your System!!!!!!<br>
USB Mass Storage support<br>
<br>
这些就是所以和配置使用我的HP CD-Writer Plus 8210e刻录机有关的选项。我用的是V2.4.0-test8的内核。<br>
编译的时候会有大量的编译调试信息,如果正常的话他们可以不管他们,但如果发生问题的时候,他们可以帮助你查找的原因。<br>
再次警告:如果你对配置和安装新内核不是很熟悉的话建议要当心,这样是有一定风险的。<br>
<br>
1.3.2安装模块<br>
当你的新内核和模块编译完成后,你会在modules目录下面发现下面这些模块文件:<br>
cd /lib/modules/2.4.0-test8<br>
cd kernel<br>
ls fs/isofs<br>
isofs.o<br>
ls drivers/cdrom<br>
cdrom.o<br>
ls drivers/scsi<br>
scsi_mod.o sd.o sg.o sr_mod.o<br>
ls drivers/usb<br>
storage usb-uhci.o usbcore.o<br>
ls drivers/usb/storage<br>
usb-storage.o<br>
<br>
重新启动!<br>
<br>
1.4 下面的步骤<br>
下载usbmgr包,解压缩并阅读README文件。在解压后的目录里用make进行编译。然后make install。现在我们配置usbmgr的<br>
配置文件usbmgr.conf,它放在/etc/usbmgr目录下。编辑这个文件,进行下面几步:<br>
a) 去掉在HOST CONTROLLER这节里面的某个host选项前面的注释符"#".在我的计算机上是这样设置的: host usb-uhci<br>
b) 把下面三行加到STORAGE一节里的vendor 0x3f0 product 0x107这个模块的最后。<br>
scsi_mod, sr_mod, usb-storage<br>
现在你要运行"update_usbdb"这个命令:update_usedb usbmgr.conf<br>
接下去运行"usbmgr"命令。这个命令在后台执行,所以你看不到任何结果输出。但是你可以通过查看messages文件来查看运行情况:<br>
tail -n50 /var/log/messages<br>
正常的输出应该像这样的:<br>
Sep 15 12:55:28 usbmgr[326]: start 0.3.5<br>
Sep 15 12:55:28 usbmgr[328]: open error "/etc/usbmgr/preload.conf"<br>
Sep 15 12:55:28 kernel: usb.c: registered new driver usbdevfs<br>
Sep 15 12:55:28 kernel: usb.c: registered new driver hub<br>
Sep 15 12:55:28 kernel: usb-uhci.c: $Revision: 1.237 $ time 11:07:02 Sep 10 2000<br>
Sep 15 12:55:28 kernel: usb-uhci.c: High bandwidth mode enabled<br>
Sep 15 12:55:28 kernel: usb-uhci.c: USB UHCI at I/O 0xfce0, IRQ 10<br>
Sep 15 12:55:28 kernel: usb-uhci.c: Detected 2 ports<br>
Sep 15 12:55:28 kernel: usb.c: new USB bus registered, assigned bus number 1<br>
Sep 15 12:55:28 kernel: usb.c: USB new device connect, assigned device number 1<br>
Sep 15 12:55:28 kernel: usb.c: kmalloc IF c2e1f760, numif 1<br>
Sep 15 12:55:28 kernel: usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1<br>
Sep 15 12:55:28 kernel: usb.c: USB device number 1 default language ID 0x0<br>
Sep 15 12:55:28 kernel: Product: USB UHCI Root Hub<br>
Sep 15 12:55:28 kernel: SerialNumber: fce0<br>
Sep 15 12:55:28 kernel: hub.c: USB hub found<br>
Sep 15 12:55:28 kernel: hub.c: 2 ports detected<br>
Sep 15 12:55:28 kernel: hub.c: ganged power switching<br>
Sep 15 12:55:28 kernel: hub.c: standalone hub<br>
Sep 15 12:55:28 kernel: hub.c: global over-current protection<br>
Sep 15 12:55:28 kernel: hub.c: power on to power good time: 2ms<br>
Sep 15 12:55:28 kernel: hub.c: hub controller current requirement: 0mA<br>
Sep 15 12:55:28 kernel: hub.c: port 1 is removable<br>
Sep 15 12:55:28 kernel: hub.c: port 2 is removable<br>
Sep 15 12:55:28 kernel: hub.c: local power source is good<br>
Sep 15 12:55:28 kernel: hub.c: no over-current condition exists<br>
Sep 15 12:55:28 kernel: hub.c: enabling power on all ports<br>
Sep 15 12:55:28 kernel: usb.c: hub driver claimed interface c2e1f760<br>
Sep 15 12:55:28 kernel: usb.c: kusbd: /sbin/hotplug add 1<br>
Sep 15 12:55:28 kernel: usb.c: kusbd policy returned 0x0<br>
Sep 15 12:55:28 usbmgr[328]: "usb-uhci" was loaded<br>
Sep 15 12:55:28 usbmgr[332]: mount /proc/bus/usb<br>
Sep 15 12:55:28 usbmgr[328]: USB device is matched the configuration<br>
Sep 15 12:55:28 usbmgr[328]: "none" isn loaded<br>
<br>
这里还有两个文件需要查看:<br>
a) cat /proc/interrupts<br>
<br>
CPU0<br>
0: 991954 XT-PIC timer<br>
1: 19880 XT-PIC keyboard<br>
2: 0 XT-PIC cascade<br>
8: 2 XT-PIC rtc<br>
9: 14 XT-PIC Cirrus Logic PD 6832, Cirrus Logic PD 6832 (#2)<br>
10: 42 XT-PIC usb-uhci<br>
12: 243881 XT-PIC PS/2 Mouse<br>
13: 0 XT-PIC fpu<br>
14: 16314 XT-PIC ide0<br>
NMI: 0<br>
ERR: 0<br>
<br>
结果:可以看到usb-uchi已经起来了,并且被分配了一个中断:这里是:int10<br>
<br>
b) lsmod<br>
<br>
usb-uhci 21708 0 (unused)<br>
usbcore 49856 1 [usb-uhci]<br>
nfsd 69928 4 (autoclean)<br>
lockd 49340 1 (autoclean) [nfsd]<br>
sunrpc 58244 1 (autoclean) [nfsd lockd]<br>
unix 14372 37 (autoclean)<br>
<br>
结果:模块"usb-uhci"和"usbcore"应该在这里罗列。<br>
<br>
1.5. 试一下热插拔<br>
把带电的HP CD-Writer Plus 8210e 刻录机插到你主机的USB接口上。这样就会触动usbmgr程序来引导必须的模块。让我们<br>
先查看一下:tail -n50 /var/log/messages。新的输出应该是报告热插拔这个事件的,所以显示像下面这样:<br>
Sep 15 13:13:07 kernel: hub.c: port 1 connection change<br>
Sep 15 13:13:07 kernel: hub.c: portstatus 101, change 1, 12 Mb/s<br>
Sep 15 13:13:08 kernel: hub.c: portstatus 103, change 0, 12 Mb/s<br>
Sep 15 13:13:08 kernel: usb.c: USB new device connect, assigned device number 2<br>
Sep 15 13:13:08 kernel: usb.c: kmalloc IF c2e1f660, numif 1<br>
Sep 15 13:13:08 kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0<br>
Sep 15 13:13:08 kernel: usb.c: USB device number 2 default language ID 0x409<br>
Sep 15 13:13:08 kernel: Manufacturer: Shuttle Technology Inc.<br>
Sep 15 13:13:08 kernel: Product: HP USB CD-Writer Plus<br>
Sep 15 13:13:08 kernel: usb.c: unhandled interfaces on device<br>
Sep 15 13:13:08 kernel: usb.c: USB device 2 (prod/vend 0x3f0/0x107) is not claimed [..]<br>
Sep 15 13:13:08 kernel: Length = 18<br>
Sep 15 13:13:08 kernel: DescriptorType = 01<br>
Sep 15 13:13:08 kernel: USB version = 1.00<br>
Sep 15 13:13:08 kernel: Vendor:Product = 03f0:0107<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -