FreeBSD, ноутбук Asus и встроенный кардридер
Нашлась тут у меня стародавняя заметка о том, как завести встроенный кардридер ноутбука под freebsd. Итак, мы имеем:
Ноутбук Asus Z99L (он же A8LE)
Кардридер с контроллером RICOH R5C822 SD
И (на тот момент) FreeBSD 7.0
Произвести потребуется совершенно нехитрые манипуляции. Для начала создадим временный каталог, в который будем складывать патчи и модули.
1 2 3 | cd /home/lycane mkdir tmp cd tmp |
Скачиваем
1 2 3 4 5 6 | 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 |
Распаковываем
1 2 | gunzip --stdout sdhci.20080928.tgz | tar --extract --file=- gunzip --stdout sdhci_mod.20080928.tgz | tar --extract --file=- |
Видим
1 2 3 4 5 6 | 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 |
Идем в /usr/src/sys/dev/ и патчим
1 | patch -p0 < /home/lycane/tmp/mmc.20080928.patch |
Дальше поочередно делаем make в каждой из этих директорий
/usr/src/sys/modules/mmc/
/usr/src/sys/modules/mmcsd/
/home/lycane/tmp/sd_mmc/sdhci/
После этого в каждой из них появится соответствующий модуль, которые можно загрузить прямо из этих папок, а можно собрать в кучку и сложить в /boot/modules :) Сделав, конечно же, соответствующие записи в loader.conf
1 2 3 | sdhci_load="YES" mmc_load="YES" mmcsd_load="YES" |
Кардридер обычно детектится после загрузки sdhci.ko. У меня это выглядит так
1 2 3 | sdhci0: <RICOH R5C822 SD> mem 0xfe6ff400-0xfe6ff4ff irq 20 at device 3.1 on pci7 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] |
Повторюсь — запись старая, и я не очень помню, как это всё делалось на самом деле. Если найдутся неточности или появятся вопросы — отпишитесь.