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

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

Anton Karpov

Xakep, номер #066, стр. 066-104-5


Сетевое железо

Ноутбуки – устройства мобильные, поэтому неудивительно, что их оснащают всевозможными средствами связи. Встроенная 10/100/1000 сетевая карта и 56K модем – это вчерашний день, сегодня любой уважающий себя лаптоп несет на борту встроенный Wi-Fi или Bluetooth-адаптер. По поводу встроенных сетевухи и модема все понятно - первые делаются на тех же чипсетах, что и их «большие братья», а значит, отлично поддерживаются unix-миром, вторые же в ноутах всегда софтовые aka win-модемы, поэтому, во-первых, по определению убогие, и во-вторых, практически все рассчитаны на работу под виндой, за редким исключением, вроде модемов на lucent’овских чипах. Так что разъем RJ-11 можешь заклеить скотчем – в юниксе он тебе не понадобится :). Wi-Fi адаптеры в ноутбуках в основной своей массе рассчитаны на стандарт 802.11b, только недавно начали выходить лаптопы со встроенными 802.11g-картами, и с огромной долей вероятности можно предположить, что карточка опознается и будет работать. И в Linux, и во FreeBSD лучше всех поддерживаются карты на чипсете Intersil Prism2, под этим понимается полноценная поддержка WEP до 128/256 бит и возможность работы в режимах ad-hoc, infrastructure и даже в роли точки доступа (ap-mode) – если, конечно, карта это умеет. Что же касается последовательных или COM-портов, достававшихся ноутам в наследство от настольных компов, то они теперь безнадежно устарели.

PCMCIA и Linux

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

CONFIG_PCMCIA=m

CONFIG_CARDBUS=y

Подробности – в разделе PCMCIA/CardBus support конфигурации ядра. Следующие сообщения при загрузке говорят о том, что слот опознан и готов к работе:

Linux Kernel Card Services 3.1.22

options: [pci] [cardbus] [pm]

Yenta ISA IRQ mask 0x0cb8, PCI irq 9

Socket status: 30000006

Помимо ядерной поддержки, нужен демон, обрабатывающий события вроде вставки-вынимания карточки из слота и управляющий PCMCIA-устройствами. В Linux этот демон зовется cardmgr из пакета pcmcia-cs. Его задача – опознать, что за карта вставлена в PCMCIA-слот, загрузить соответствующие модули, выделить устройству прерывания и т.п. Конфигурационные файлы лежат в /etc/pcmcia, главный из которых - config - представляет собой базу карт. Пример записи из config:

Назад на стр. 066-104-4  Содержание  Вперед на стр. 066-104-6