Conecte o driver alauda a um dispositivo mtd

8

Eu tenho um leitor de cartão USB, um Olympus MAUSB-10. Ele fornece acesso flash direto a cartões SmartMedia ou xD, usando o driver alauda do Linux. Isso é diferente de um leitor de cartão comum que apenas o expõe como um dispositivo de armazenamento em massa USB padrão.

Existem drivers no kernel do Linux que fazem o FTL e expõem isso como um dispositivo de bloco padrão, mas eu quero acesso direto ao flash. Eu queria saber se é possível usar os vários utilitários de mtd-tools para ler, escrever e apagar diretamente para ele.

O dispositivo é reconhecido por lsusb e os drivers aluada e nand_ecc são carregados. Mas cat /proc/mtd não está revelando outro dispositivo MTD disponível e não vejo dispositivos adicionais em /dev . Como faço para criar um novo dispositivo mtd e conectá-lo ao driver alauda?

    
por LawrenceC 25.02.2011 / 00:55

2 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 mtd name é cmx270-0. Nas informações de log do kernel, parece que:

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

Verifique o dmesg (grep alauda, MTD), e se a sua placa xD foi reconhecida com sucesso, finalmente para acessar o dispositivo MTD você pode tentar criar /dev/mtdblockX e /dev/mtdX com mknod .

    
por 11.12.2012 / 22:58
1
  1. remove (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 it novamente
    • não deve haver necessidade de mknod. (tente com a 'tampa' fechada).
por 25.03.2013 / 04:44