Informações sobre os arquivos do dispositivo: / dev

4
ls /dev 
O comando

lista os arquivos do dispositivo.

Como conhecer os drivers associados / major_numbers / minor_numbers com esses arquivos de dispositivo?

    
por Karthi prime 04.04.2013 / 11:57

2 respostas

5

ls -l /dev fornecerá números maiores e menores, por exemplo

crw-rw---- 1 root dialout 4, 64 Apr  4 07:54 /dev/ttyS0

tem maior número 4 e menor número 64.

Depois, você pode ver /proc/devices para procurar o número principal. Neste exemplo, temos um dispositivo de caractere ( c no início da linha) com o maior número 4 e, em /proc/modules , encontramos

Character devices:
...
  4 tty
  4 ttyS

A alocação de números menores depende do dispositivo.

Alguns dispositivos são acionados a partir do código principal do kernel (por exemplo, tty ), enquanto outros são gerenciados por módulos carregáveis (por exemplo, rfcomm ). Você poderia tentar procurar em /proc/modules por um módulo correspondente; alternativamente, procure em /proc/kallsyms pelo nome do módulo. Você obterá muitos resultados, mas a principal coisa a procurar é a presença ou ausência de uma string entre colchetes. Por exemplo, grep tty /proc/kallsyms fornece

0000000000000000 t tty_drivers_open
0000000000000000 t show_tty_range
0000000000000000 t show_tty_driver
...

considerando que grep rfcomm /proc/kallsyms gievs

0000000000000000 t rfcomm_apply_pn  [rfcomm]
0000000000000000 t rfcomm_dlc_debugfs_open  [rfcomm]
0000000000000000 t rfcomm_dlc_debugfs_show  [rfcomm]

[rfcomm] indica que o código está no módulo rfcomm , enquanto tty está no próprio kernel e não em um módulo, então nada aparece entre colchetes.

Este método não é definitivo, mas deve lhe dar uma idéia de onde o código de controle mora.

    
por 04.04.2013 / 12:02
3

Use a opção -l , que exibe os números.

$ ls -l /dev/sda*
brw-rw---- 1 root disk 8,  0 Jan 22 10:34 /dev/sda
brw-rw---- 1 root disk 8,  1 Dec  4 13:24 /dev/sda1
brw-rw---- 1 root disk 8,  2 Dec  4 13:24 /dev/sda2
brw-rw---- 1 root disk 8,  3 Dec  4 13:24 /dev/sda3
...

stat exibe também (como "tipo de dispositivo")

$ stat /dev/sda
  File: '/dev/sda'
  Size: 0               Blocks: 0          IO Block: 4096   block special file
Device: 5h/5d   Inode: 3431        Links: 1     Device type: 8,0
...
    
por 04.04.2013 / 12:01