Neste documento estou usando como distribuição o CL 8.0, mas o mesmo poderá
ser aplicado a qualquer outra distribuição de sua escolha, bastando fazer
pequenas modificações no seu sistema.
Eu estava com problemas no meu CDRW e segui os passos do PR da CL:
E mesmo assim não consegui fazer o CDRW funcionar direito (kernel 2.4.18), ou
o cdrecord reconhecia o CDR ou eu tinha que adicionar manualmente o modulo
ide-cd e remover o resto dos módulos (sg, ide-scsi etc) para poder montar o
CDRW. Antes também com o kernel original da distro (CL 8.0) eu não conseguia
fazer o CDR funcionar direito, pois ele só montava e não gravava.
Seguindo passo-a-passo o PR (principalmente na parte da configuração do kernel),
quando eu tentava montar o CDRW terminava neste erro:
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: IOMEGA Model: ZIP 100 Rev: 23.D
Type: Direct-Access ANSI SCSI revision: 00
Vendor: MATSHITA Model: CD-RW CW-7586 Rev: 1.08
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
sda : READ CAPACITY failed.
sda : status = 0, message = 00, host = 0, driver = 28
Current sd00:00: sense key Not Ready
Additional sense indicates Medium not present
sda : block size assumed to be 512 bytes, disk size 1GB.
sda: I/O error: dev 08:00, sector 0
I/O error: dev 08:00, sector 0
unable to read partition table
/lib/modules/2.4.18/kernel/drivers/scsi/sr_mod.o: insmod block-major-11
failed
modprobe: Can't locate module char-major-97
server last message repeated 3 times
server insmod: /lib/modules/2.4.18/kernel/drivers/scsi/sr_mod.o: insmod
block-major-11 failed
server kernel: ide-scsi: hdc: unsupported command in request queue (0)
server kernel: end_request: I/O error, dev 16:00 (hdc), sector 64
server kernel: isofs_read_super: bread failed, dev=16:00, iso_blknum=16,
block=32
server kernel: Device not ready. Make sure there is a disc in the drive.
[continua...]
Para que o seu CDRW funcione corretamente no linux (usando este tutorial), você
precisa recompilar o seu kernel, estes são os pontos mais importantes que você
deve fazer, vá no diretório do seu kernel e faça: make xconfig ou
make menu config e escolha estas opções, para kernel 2.4.x:
ATA/IDE/MFM/RLL IDE, ATA and ATAPI block devices
* MInclude IDE/ATAPI CDROM SUPPORT
* MSCSI emulation support
* SCSI Support
* YSCSI support
* YSCSI disk support
* MSCSI CDROM support
* MSCSI generic support
Recompile o seu kernel como de costume:
make bzImage
make modules
make modules_install
Instale e faça as modificações no seu lilo ou grub como de costume e reinicie
o seu computador com o novo kernel. Mesmo recompilando o kernel uma mensagem
no terminal ira dizer que
sd0 não é um dispositivo válido, mas o mesmo
existia e a documentação
www.conectiva.com.br/suporte/pr/hardware.cdrom.cdrw.html está correta, mas ainda faltou algo pois o mesmo não funcionava.
Para que tudo o que for necessário seja carregado automaticamente, você vai
precisar fazer as seguintes modificações e adicionar o comando
hdc=ide-scsi (hdc é aonde o meu CDR se encontra) no arquivo
/boot/grub/mnu.lst e fazer um reboot.
Após adicionar a entrada:
title = Conectiva Linux 8.0 2.4.18 Iptables (SMP)
kernel = (hd0,1)/boot/linux-2.4.18 root=/dev/hda2 hdc=ide-scsi
O sistema funciona perfeitamente como mostrava o PR, exibindo corretamente a
mensagem semelhante como a da documentação:
# dmesg|grep -i scsi
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: Root fs not mounted
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Type: Direct-Access ANSI SCSI revision: 00
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray
Também não foi necessário carregar nenhum módulo manualmente como demonstra a
documentação, uma vez que você adicione estas linhas no /etc/modules.conf:
CL 7.0
pre-install ide-scsi
pre-install sg
pre-install sr_mod modprobe ide-scsi
pre-install ide-scsi modprobe ide-cd
CL 8.0
pre-install ide-scsi
pre-install sg modprobe sr_mod
pre-install sr_mod modprobe ide-scsi
pre-install ide-scsi modprobe ide-cd
E esta entrada no /etc/fstab:
/dev/sr0 /mnt/cdrom iso9660 defaults,user,noauto 0 0
O kernel vai automaticamente carregar os módulos necessários e dependendo da
necessidade, você pode montar ou gravar na unidade sem ter que se preocupar
com módulos e o mesmo não terá problemas de ler CDs de audio ou CDs de dados.
Exemplo, unidade cd CDRW montada com um CD dentro (CL 7.0 CD 1):
# lsmod
Module Size Used by
nls_iso8859-1 2848 1 (autoclean)
sr_mod 13152 2 (autoclean)
ide-scsi 7392 1
cdrom 26656 0 (autoclean) [sr_mod]
via-rhine 12224 2 (autoclean)
mii 1040 0 (autoclean) [via-rhine]
emu10k1 51616 0
ac97_codec 9264 0 [emu10k1]
Exemplo, desmontando a unidade e chamando cdrecord -scanbus:
# cdrom.off (atalho para umount /mnt/cdrom)
# cdrecord -scanbus
Cdrecord 1.11a13 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg
Schilling
Linux sg driver version: 3.1.22
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'IOMEGA ' 'ZIP 100 ' '23.D' Removable Disk
0,1,0 1) 'MATSHITA' 'CD-RW CW-7586 ' '1.08' Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
Usando estas dicas em outro computador com o CL 8.0:
# cdrecord -scanbus
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
Linux sg driver version: 3.1.22
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'MATSHITA' 'CD-RW CW-7586 ' '1.08' Removable CD-ROM
0,1,0 1) 'HITACHI ' 'DVD-ROM GD-7000 ' 'X017' Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
[root@server log]# lsmod
Module Size Used by
sg 28816 0 (autoclean)
nls_iso8859-1 2848 0 (autoclean)
sr_mod 13152 0 (autoclean)
ide-scsi 7392 0
cdrom 26656 0 (autoclean) [sr_mod]
via-rhine 12224 2 (autoclean)
mii 1040 0 (autoclean) [via-rhine]
emu10k1 51616 0
ac97_codec 9264 0 [emu10k1]
Outro Computador usando o CL 8.0:
# lsmod
Module Size Used by Not tainted
sg 27940 0 (autoclean)
sr_mod 13208 0 (unused)
ide-scsi 7360 0
cdrom 26720 0 [sr_mod]
ppp_synctty 4512 1
pppoe 6656 0 (unused)
pppox 1048 1 [pppoe]
ppp_async 6016 0 (unused)
8139too 12768 1 (autoclean)
mii 1008 0 (autoclean) [8139too]
cmpci 29052 0
Gravando um CD:
[root@server log]# lsmod
Module Size Used by
sg 28816 1 (autoclean)
nls_iso8859-1 2848 0 (autoclean)
sr_mod 13152 0 (autoclean)
ide-scsi 7392 1
cdrom 26656 0 (autoclean) [sr_mod]
via-rhine 12224 2 (autoclean)
mii 1040 0 (autoclean) [via-rhine]
emu10k1 51616 0
ac97_codec 9264 0 [emu10k1]
Mais uma coisa que eu achei interessante confirmar é que se você retirar o
comando hdc=ide-scsi do seu /boot/grub/menu.lst e reiniciar o sistema
sem a opção, o seu cdrom vai funcionar normalmente. Eu retirei para
reproduzir os erros novamente, mas não consegui, pois na hora que
precisava que ele desse erro funcionou perfeitamente, tanto para montar
como para gravar CD.
Espero que tenha ajudado.