FreeBSD, ноутбук Asus и встроенный кардридер
Нашлась тут у меня стародавняя заметка о том, как завести встроенный кардридер ноутбука под freebsd. Итак, мы имеем:
Ноутбук Asus Z99L (он же A8LE)
Кардридер с контроллером RICOH R5C822 SD
И (на тот момент) FreeBSD 7.0
Произвести потребуется совершенно нехитрые манипуляции. Для начала создадим временный каталог, в который будем складывать патчи и модули.
[cc lang=»bash»]cd /home/lycane
mkdir tmp
cd tmp[/cc]
Скачиваем
[cc lang=»bash»]fetch http://people.freebsd.org/~mav/sdhci/mmc.20080928.patch
mmc.20080928.patch 100% of 16 kB 27 kBps
fetch http://people.freebsd.org/~mav/sdhci/sdhci.20080928.tgz
sdhci.20080928.tgz 100% of 10 kB 16 kBps
fetch http://people.freebsd.org/~mav/sdhci/sdhci_mod.20080928.tgz
sdhci_mod.20080928.tgz 100% of 328 B 80 kBps[/cc]
Распаковываем
[cc lang=»bash»]gunzip —stdout sdhci.20080928.tgz | tar —extract —file=-
gunzip —stdout sdhci_mod.20080928.tgz | tar —extract —file=- [/cc]
Видим
[cc lang=»bash»]ls -l
total 40
-rw-r—r— 1 root wheel 17K 29 сен 00:48 mmc.20080928.patch
drwxr-xr-x 2 root wheel 120B 29 сен 08:40 sdhci
-rw-r—r— 1 root wheel 11K 29 сен 00:48 sdhci.20080928.tgz
-rw-r—r— 1 root wheel 328B 29 сен 00:48 sdhci_mod.20080928.tgz[/cc]
Идем в /usr/src/sys/dev/ и патчим
[cc lang=»bash»]patch -p0 < /home/lycane/tmp/mmc.20080928.patch[/cc]
Дальше поочередно делаем make в каждой из этих директорий
/usr/src/sys/modules/mmc/
/usr/src/sys/modules/mmcsd/
/home/lycane/tmp/sd_mmc/sdhci/
После этого в каждой из них появится соответствующий модуль, которые можно загрузить прямо из этих папок, а можно собрать в кучку и сложить в /boot/modules :) Сделав, конечно же, соответствующие записи в loader.conf
[cc lang=»bash»]sdhci_load=»YES»
mmc_load=»YES»
mmcsd_load=»YES»
[/cc]
Кардридер обычно детектится после загрузки sdhci.ko. У меня это выглядит так
[cc lang=»bash»]sdhci0:
sdhci0: 1 slot(s) allocated
sdhci0: [ITHREAD]
[/cc]
Повторюсь — запись старая, и я не очень помню, как это всё делалось на самом деле. Если найдутся неточности или появятся вопросы — отпишитесь.