Estou tentando usar o sistema de driver Linux existente para despejar efetivamente os dados dos CDROMs.
Por exemplo, se eu inserir um disco CDROM "normal" de software e executar o comando
cat /dev/sr0
então a saída é um monte de dados brutos do disco - o que é ótimo.
No entanto, alguns outros tipos de CDs resultam em erros de E/S após apenas alguns dados.
Algumas pesquisas me levaram a entender que os dados estão sendo lidos por padrão no “Modo 1”. (Informações sobre formato/estrutura podem ser encontradas aqui:https://en.wikipedia.org/wiki/CD-ROM#CD-ROM_format)
Para discos com dados no Modo 2, o que seria necessário para poder lê-los? Existe alguma configuração de driver ou kernel para alterar o modo?
Nota: Existem outros programas para fazer isso, como o cdrdao, mas minha dúvida é como fazer isso nativamente.
Atualização 1: alguns leads potenciais:
- Explicação de alto nível da arquitetura do driver cdrom:http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/sr.html
- Parâmetro de módulo potencialmente útil que está desabilitado por padrão:http://lxr.free-electrons.com/ident?i=xa_test(ligá-lo não resolve o problema)