Problemas ao copiar para o cartão SD formatado com VFAT

0

Eu ia copiar meus arquivos de música (codificados em mp3) (organizados em um diretório) para um cartão (micro-) sd (em formato vfat) para usá-los em meu player de áudio digital (DAP) (no Linux ). Eu costumava usar a mesma combinação por cerca de 1 ano agora e sempre funcionava.

Agora eu copiei uma grande parte da minha coleção de CDs, então o número de arquivos aumentou drasticamente e eu atualizei as tags para os arquivos antigos também. Então, basicamente, eu tive que copiar a maioria, senão todos os arquivos, para o cartão. É por isso que decidi começar com um novo cartão SD formatado:

sudo mkfs.vfat /dev/mmcblk0p1

Depois, copiei minha música para o cartão:

mount /mnt/cardreader
cp -r ~/music/* /mnt/cardreader/
umount /mnt/cardreader

onde meu /etc/fstab contém a seguinte linha

/dev/mmcblk0p1          /mnt/cardreader auto            noauto,user             0 0

Após atualizar o banco de dados do DAP e tocar algumas músicas (usando o RockBox), notei pequenas partes (talvez 1-2 segundos) de outras faixas "mixadas" nas músicas que estavam armazenadas no cartão SD. Isso não aconteceu quando toquei uma música armazenada no armazenamento interno do DAP.

Então eu conectei o cartão SD de volta na minha caixa de Linux, montei e toquei algumas músicas usando o mplayer. Isso deu o mesmo comportamento estranho. Mesmo tocando apenas uma música, outras foram mixadas, então descartei qualquer relação com o banco de dados RockBox.

A execução de fsck.vfat retornou muitos erros (o que eu não lembrei em detalhes nem gravei, infelizmente). Então eu decidi começar de novo e usar rsync desta vez desde que, de acordo com sua página de manual

...rsync always verifies that each transferred file was correctly reconstructed on the receiving side by checking a whole-file checksum that is generated as the file is transferred...

e quero que futuras atualizações copiem apenas arquivos novos / alterados de qualquer forma:

mount /mnt/cardreader
rsync -rltDvP --modify-window=1 --stats ~/music/* /mnt/cardreader
umount /mnt/cardreader

Isso é executado várias horas e, às vezes, falha ao reclamar que o sistema de arquivos de destino é somente leitura ou falha na tentativa de alterar as permissões. Isso é um pouco irritante, já que o cartão SD foi montado como leitura / gravação e não deve haver nenhuma permissão de alterações (sem -g ou -o dada a rsync ), mas executando rsync várias vezes, eventualmente, terminar sem erros. Se ele continuasse reclamando sobre o cartão SD sendo somente leitura, remontá-lo corrigiu isso.

No entanto, continuo a encontrar o problema descrito e

sudo fsck.vfat -aV /dev/mmcblk0p1

reclama de nomes de arquivos curtos e tenta renomear os mesmos arquivos repetidas vezes sem finalizar (esperei o dobro do tempo necessário para copiar os arquivos usando cp ).

  • O que você recomendaria para rastrear o erro?
  • Existe uma maneira melhor (isto é, mais segura) (Linux) de copiar esses arquivos para o cartão SD?
  • Eu uso as opções erradas para uma ou mais das chamadas acima?
  • Ou você acha que meu cartão SD (que funcionou como um charme durante o ano passado) simplesmente quebrou quando decidi atualizar minha biblioteca de músicas?

Adendo

Embora eu tenha notado o problema usando meu DAP, também acontece quando eu formato, mount , rsync , umount , desconecto o cartão, reinicializo o computador, conecto o cartão, mount , rsync (não fazendo nada) e reproduzindo um arquivo: Reproduzir a partir do cartão SD é "remixado", reproduzindo o arquivo de origem com sons normais.

    
por mschilli 16.08.2013 / 12:15

0 respostas