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.