Configuração de CDRW

Este artigo se trata de como configurar um gravador de CD no Linux. Ele teve como base a distribuição Conectiva Linux 8.0, mas também serve para outras distros.

[ Hits: 13.791 ]

Por: FELIPE em 02/03/2003


Introdução



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.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Indicador de Caps Lock

Servidor Internet (parte 1)

Instalando o VMWare Server no Ubuntu 7.04 (e/ou similares)

Autenticando e protegendo diretórios no Apache

Local Web Server visível na Internet com DynDNS

  
Comentários
[1] Comentário enviado por lanux em 06/03/2003 - 18:20h

Pô, nunca precisei recompilar o kernel prá fazer um cdrw funcionar no CL8.
Escrevi um tutorial de como eu faço, está no link http://www.pcmais.com/linux/cdrw_config.html.
[]s, Fabio.

[2] Comentário enviado por tony em 07/03/2003 - 12:06h

FIcou muito legal sua explicação!

[3] Comentário enviado por tony em 07/03/2003 - 12:06h

FIcou muito legal sua explicação! Funcionou numa boa!

[4] Comentário enviado por enioha em 24/06/2004 - 11:42h

Pessoal, vale a pena lembrar que apartir do conectiva, não se precisa fazer nada, já que vem com suporte a ide no kernel 2.6.

abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts