Conecte o driver alauda a um dispositivo mtd

8

Eu tenho um leitor de cartão USB, um Olympus MAUSB-10. Ele fornece acesso direto ao flash para cartões SmartMedia ou xD, usando o alaudadriver Linux . Isso é diferente de um leitor de cartão típico, que apenas o expõe como um dispositivo de armazenamento em massa USB padrão.

Existem drivers no kernel do Linux que executam o procedimento FTL e o expõem como um dispositivo de bloco padrão, mas eu quero acesso direto ao flash. Fiquei me perguntando se é possível usar os vários utilitários mtd-toolspara ler, escrever e apagar diretamente nele.

Portanto, o dispositivo é reconhecido por lsusb, e drivers, aluadae nand_eccé carregado. Mas cat /proc/mtdnão está revelando outro dispositivo MTD disponível e não vejo nenhum dispositivo adicional no /dev. Como crio um novo dispositivo mtd e conecto-o ao driver alauda?

LawrenceC
fonte

Respostas:

2

Se olharmos para o código fonte do driver no kernel do Linux ( drivers/mtd/nand/alauda.c), vemos que o dispositivo mtd deve ser chamado de "alauda".

Por exemplo, em cmx270_nand.c, o nome do mtd é cmx270-0. Nas informações de log do kernel, ele se parece com:

Creating 1 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x00000000-0x20000000 : "cmx270-0"

Verifique dmesg (grep Alauda, MTD), e se o seu cartão xD reconhecido com sucesso, finalmente, para acessar dispositivo MTD você pode tentar criar /dev/mtdblockXe /dev/mtdXcom mknod.

Renat Zaripov
fonte
Obrigado por sua resposta. O cartão xD é reconhecido com sucesso (exibido como / dev / sde). mknod /dev/mtd0 c 90 0não faz nada, mtdinfome dá o erro 19 (não existe esse dispositivo). /proc/mtdnão revela nenhum dispositivo MTD. Um lsmod | grep alaudarevela isso mtde mtdcharsão ambos carregados. Alguma ideia?
LawrenceC
1
  1. remover (rmmod) o driver ums-alauda
  2. depois de conectar o dispositivo, verifique se a impressão da sonda do módulo alauda é vista via dmesg
  3. se o dispositivo / dev / mtd0 não for visto, rmmod alauda e insmod novamente
    • não deveria ser necessário. (tente com a 'tampa' fechada).
user34879
fonte