LINUX.ORG.RU

Как определить, какой именно модуль отвечает за определённый файл в /dev/


0

0

Доброго времени суток.

Сабж. В кардридер вставлена карточка SD (точнее, microSD через переходник, но не суть). Карточка обнаружена и подмонтирована, но я не могу найти, какой драйвер за это в ответе.

dmesg:

>[ 4990.373027] mmc0: new high speed SD card at address b368
>[ 4817.159736] mmcblk0: mmc0:b368 SMI 498176KiB
>[ 4817.159799] mmcblk0: p1
>[ 4817.656367] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
>[ 5067.128251] sd 0:0:0:0: Attached scsi generic sg0 type 0

ls -l /dev/mmcblkp0

>brw-rw---- 1 root floppy 179, 0 Июл 25 17:47 /dev/mmcblk0

grep 179 /proc/devices

>179 mmc

lshw:

> *-system:0
> description: SD Host controller
> product: R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
> vendor: Ricoh Co Ltd
> physical id: 1.1
> bus info: pci@0000:08:01.1
> version: 22
> width: 32 bits
> clock: 33MHz
> capabilities: pm bus_master cap_list
> configuration: driver=sdhci latency=64 module=sdhci
> *-system:1
> description: System peripheral
> product: R5C592 Memory Stick Bus Host Adapter
> vendor: Ricoh Co Ltd
> physical id: 1.2
> bus info: pci@0000:08:01.2
> version: 12
> width: 32 bits
> clock: 33MHz
> capabilities: pm bus_master cap_list
> configuration: driver=ricoh-mmc latency=64 module=ricoh_mmc

А дальше неточно. Гадая на кофейной гуще и похожести названий, можно предположить, что отвечает за это безобразие модуль ricoh-mmc. Но в явном виде этого нигде не сказано

★★★★★

Re: Как определить, какой именно модуль отвечает за определённый файл в /dev/

> configuration: driver=sdhci latency=64 module=sdhci

Судя по этому, модуль sdhci.

anonymous ()

Re: Как определить, какой именно модуль отвечает за определённый файл в /dev/

Смысл - файл устройств создает udev, поэтому лучше у него спросить откуда он все берет :) Если вы конечно udev пользуетесь.

koTuk ()

Re: Как определить, какой именно модуль отвечает за определённый файл в /dev/

Вот за это огромное спасибо!

Сама команда не помогла, это не дело udev, но натолкнула на /sys, а это уже интересно :)

router ★★★★★ ()

Re: Как определить, какой именно модуль отвечает за определённый файл в /dev/

>Сама команда не помогла, это не дело udev, но натолкнула на /sys, а это уже интересно :)

У меня файлы устройств создает udev :) Он как раз анализирует файловые системы proc и sys а в некоторых случаях заменяет устаревший демон hotlug.

bash-3.2# grep mmc `find /etc -name *drivers.rules`
SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc_block"

koTuk ()

Re: Как определить, какой именно модуль отвечает за определённый файл в /dev/

>У меня файлы устройств создает udev :) Он как раз анализирует файловые системы proc и sys а в некоторых случаях заменяет устаревший демон hotlug.

Согласен, был невнимателен по причине некоторой каши в голове.

Некоторые выводы по теме обсуждения и вообще.

1) Если нужна информация о драйвере, стоит посмотреть в сторону правил для udev (/etc/udev/*) или с помощью udevinfo ( cd /sys/$(udevinfo --query path --name /dev/<файл>) ) перейти в /sys и копаться там. И то, и другое не вполне прямой путь. ИМХО, второй путь лучше, т.к. даёт гораздо больше информации.

2) Не стоит путать драйвер, устройство и модуль ядра (моя вина :) ) В данном случае карточку обслуживал драйвер mmcblk модуля mmc_block, а кардридер - sdhci из одноимённого модуля(anonymous был прав)

router ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.