Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #67, ИЮЛЬ 2004 г.

Мобильные юниксы vol. 2

Anton Karpov

Xakep, номер #067, стр. 067-082-3


Интерфейс PCMCIA

PCMCIA – довольно старый интерфейс для подключения мобильных устройств. Тем не менее, он и по сей день используется в ноутбуках, и альтернативы ему не предвидится. Можно найти любой девайс для ноутбука, от модема до Wi-Fi-карточки, в PCMCIA-исполнении. Обычно в никсах PCMCIA называют просто PC-CARD.

Во FreeBSD достаточно загрузить модули cardbus или pccard для 32 или 16-битного слота соответственно. Если слот опознается, то при загрузке ядро сообщит что-то вроде:

pccard0: >PC Card 16-bit bus (classic)< on pcic0

Но этого недостаточно. Чтобы работать с устройством, оно должно существовать, поэтому в конфиге ядра нужно указать количество устройств card (не думаю, что у тебя больше одного PCMCIA-разъема), а также драйвер шины pc-card.

device card 1

device pcic

Появившийся /dev/card0 сигнализирует о том, что теперь с PCMCIA-слотом можно работать.

Как и в линухе, во фре есть свой userland-демон, работающий с PCMCIA-картами, pccardd. Задачи его точно такие же – опознать карточку, выделить ей диапазон памяти, загрузить соответствующие модули (например, if_wi, если PCMCIA-карта является беспроводной сетевухой на чипсете Intersil Prism2), при вытаскивании карты – корректно задаунить соответствующие девайсы. Информацию о карте демон берет из конфига pccard.conf, расположенного по умолчанию в /etc/defaults/pccard.conf, как, например, в случае с rc.conf. Файл /etc/pccard.conf позволяет переписывать настройки по умолчанию, стало быть, все изменения надо вносить в него. Типичная запись конфига для карты:

# vi /etc/pccard.conf

# Linksys Instant Wireless WPC11 v2.5

card "The Linksys Group, Inc." "Instant Wireless Network PC Card"

config auto "wi" ?

insert /etc/pccard_ether $device start

remove /etc/pccard_ether $device stop

Таких записей по умолчанию несколько сотен, так что твоя карта наверняка там есть, и значит, будет опознана by default. Если нет, то ты легко можешь по аналогии составить свою запись в /etc/pccard.conf, зная, какие модули нужны к твоему девайсу. Чтобы pccardd запускался при старте системы, добавь в rc.conf:

pccard_enable="YES"

Как обычно, за другими опциями start up’а обращаемся в /etc/defaults/rc.conf - grep pccard /etc/defaults/rc.conf. Оставляю их изучение за тобой. И наконец, утилита для мониторинга и управления картами – pccardc.

Центрино?!

Многие удивятся, как я мог обойти вниманием новомодную технологию Intel Centrino. Не вдаваясь в подробности, скажу, что тут пока юниксам ловить нечего. Безусловно, и Linux, и FreeBSD установятся на ноутбук с Centrino и будут работать без проблем. И беспроводная сетевая карта – один из компонентов интегрированной микросхемы Centrino – будет работать под этими осями. Но вот самой вкусной возможности, ради которой все и затевалось, – энергосбережения, возможности работы от аккумулятора до семи часов – ты, увы, не получишь. Скажи спасибо корпорации Intel, которая почти год зажимала спецификации своей технологии от OpenSource-разработчиков :).

Назад на стр. 067-082-2  Содержание  Вперед на стр. 067-082-4