Среди немногочисленных мобильных устройств будь то ноутбуки или карманные персональные компьютеры, помимо наиболее распротраненых устройств под управлением операционных систем семейства Windows, существуют устройства под управлением Linux. Одними из них являются детский ноутбук OLPC/XO и карманный интернет-планшет Nokia N810.

Ноутбук XO, предоставляемый в рамках программы One Laptop Per Child, позиционируется как устройство на котором опробируются большинство новых технологий и идей, в числе которых и поддержка mesh-сетей на базе Wi-Fi. С другой стороны устройства Nokia N8x0 представляют из себя интернет-планшеты под управлением операционной системы семейства Linux.

В связи с тем, что оба этих устройства являются мобильными и имеют Wi-Fi адаптер, то возможность автоматически устанавливать сеть (организовывать mesh-сеть) и обмениваться файлами или другими данными между собой является весьма удобной функцией. Рассмотрим эти устройства более подробно, а именно какое аппаратное обеспечение они содержат и как это отражается на программное обечпечение.

XO

Ноутбук XO представляет собой малобюджетное устройство стоимостью в $180. В XO применяется AMD Geode CPU поддерживающи набор инструкций i586, MMX и 3dNOW. XO обладает 256 Мб оперативной памяти и дисковой системой объекмом 1 Gb основаной на флэш NAND типа. В современном мире данная конфигурация считается весьма ограниченной в сравнении с настольными компьютерами. Однако технические харрактеристики данного ноутбука позваляют с легкостью установить на него ОС ситему семейства Linux, как оптимизированную под конкретное аппаратное обеспечение.

N8x0

Интернет планшет от Nokia в сравнении с ноутбуком ХО является более мобильным и специфическим устройством. Сердцем планшета является процессор с архитектурой ARM. Планшеты имеют 256 Мб оператиыной памяти и лиск на флэш памяти от 128Мб до 2Гб. В качестве ОС на данных планшетах устанавливается платформа Maemo, которая по своей сути является оптимизированным для этого устройства Linux-ом.

Соединение устройств

Для обеспечения взаимодействия устройств через mesh-сеть, сначала необходимо определить текущее состоянии этой задачи со стороны каждого из устройств. Ноутбук ХО имеет поддержку mesh-сети и может организовать mesh-сеть с такими же ноутбуками. С другой стороны, интернет плнашеты не имеют поддержки mesh вообще. С первого взягляда кажется, что для соединения устройств необходимо реализовать поддержку mesh только на устройствах Nokia, однако это не так, потому что ноутбуки ХО реализуют стандарт IEEE 802.11s версии 2000 года, когда он был в самом зачатке, и с тех пор, хотя уже достиг версии 2.2, все еще имеет статус черновика. Поэтому ХО может взаимдоействовать исключительно с себе подобными и вступить в гетерогенную сеть не сможет.

Соединение устройств Nokia и ХО в гетерегенную сеть было разбито на 4 шага:

проверить возможность создания гетерогенной сети на базе ядра Linux версии 2.6.27;

добавить поддержку mesh-сети в устройства Nokia;

добавить в ХО поддержку последнего черновика IEEE 802.11s;

соеденить N8x0 и ХО в mesh-сеть.

Концепция создания гетерогенной сети

Так как начиная с версии 2.6.26 ядро Linux постепенно переходит от FullMac драйверов к SoftMac драйверам, то необходимо проверить взаимодействие между собой двух устройств именно с SoftMac драйверами. Для создания такой сети было выбрано два адаптера для которых в ядре Linux 2.6.27 уже есть поддержка mesh-сети. В итоге проведенных эксериментов было установлено, что драйвера rt73-usb и b43 могут устанавливать между собой mesh-сеть и взаимодействовать через нее.

Поддержка mesh-сети в Nokia

Устройства Nokia N8x0 в базовой комплектации имеют FullMac драйвера. Однако, в сентябре 2008 года Nokia открыла OpenSource сообществу SoftMac драйвер для устройств N8x0, предоставив сообществу возможность дополнить его необходимой функциональностью. Таким образом, чтобы подключить поддержку mesh в устройстве N8x0 необходимо обновить ядро до версии где есть поддержка mesh и реализовать часть SoftMac драйвера для N8x0.

Поддержка последней версии стандарта в XO

Ноутбук ХО уже имеет поддержку старой версии стандарта IEEE 802.11s, кроме этого тот драйвер, который поддерживает mesh сейчас в ноутбуке, является FullMac драйвером. В итоге, чтобы сделать поддержку последней версии стандарта, необходимо применить SoftMac версию драйвера вместо той, что сейчас есть в операционной системе ХО. Портировав ядро 2.6.26 на ХО с SoftMac драйвером, добавить интерфейс mesh не удалось в виду несовместимости драйвера с прошивкой сетего адаптера.

Соединение XO и N8x0 через mesh-сеть

Потенциально соединение ХО и N8x0 через mesh сеть возможно, в виду проверки концепции, однако в текущий момент этот шаг не был выполнен, в связи с проблемами запуска и дополнения драйверов для XO и N8x0