OSS Group OSS Group
>  Карта
>  Поиск
>  Контакты
>  OSS Group  ::  Admin  ::  Настройка WiMAX в Linux на Lenovo IdeaPad S10-2
  
РегистрацияЗабыли пароль?

↓  Быстрый поиск по Wiki


Режим поиска:   И   ИЛИ

↓  Доступные Wiki

↓  Навигация по сайту

[]

↓  Последняя новость

Загрузка...
Get Firefox!
[~]

Настройка WiMAX в Linux на Lenovo IdeaPad S10-2

Приведённая ниже инструкция написана в расчёте на использование WiMAX-стека Intel версии 1.4. Для работы более новой версии 1.5 требуется наличие Linux-ядра версии 2.6.35.

Задача

Дано: нетбук Lenovo IdeaPad S10-2 со встроенным WiMAX-модулем и предустановленным ALT Linux 5.1

$ uname -a
Linux ideapad.oits.ru 2.6.30-std-def-alt15 #1 SMP Mon Dec 14 08:45:48 UTC 2009 i686 GNU/Linux
$ lspci
...
02:00.0 Network controller: Intel Corporation WiMAX/WiFi Link 5050 Series
...

Требуется: подключить нетбук к WiMAX-сети

Общие идеи

Для работы с WiMAX в настоящее время необходимо:

  1. наличие соответствующего модуля ядра (его поддержка появилась в ядре, начиная с версии 2.6.26);
  2. наличие бинарного WiMAX Supplicant-а от Intel;
  3. наличие бинарной же прошивки (firmware) для WiMAX-модуля;
  4. наличие набора пользовательских утилит Intel WiMAX Network Service;
  5. наличие правильных конфигурационных XML-файлов (NDnSAgentConfig_forDriver.xml и NDnSAgentDefaultConfig.xml).

Подготовительные работы

Новость хорошая: необходимый модуль ядра в дистрибутиве присутствует и благополучно грузится:

# lsmod | grep 2400
i2400m_usb             16972  0 
i2400m                 46004  1 i2400m_usb
wimax                  15504  2 i2400m_usb,i2400m
usbcore               149232  7 i2400m_usb,btusb,usbhid,uvcvideo,uhci_hcd,ehci_hcd

(!) Мелкое замечание, имеющее к настройке WiMAX косвенное отношение. Модуль i2400m_usb является причиной определённых проблем при переводе нетбука в сон. Рекомендуется этот модуль перед засыпанием выгружать.
Делается это за счёт создания соответствующего правила в конфигурации Power Manager:

# cat /etc/pm/config.d/i2400m_usb 
SUSPEND_MODULES="i2400m_usb"

Новость плохая: пока что ни у кого не дошли руки до опакечивания WiMAX Network Service. Посему устанавливать его, а также прошивку и Supplicant придётся руками.

Скачивается отсюда: http://linuxwimax.org/Download

Целостность системы сохраняется за счёт установки всего этого хозяйства (кроме прошивки) в /usr/local/ (Причём ставится оно туда по умолчанию).

Прошивка копируется сюда:

# ls /lib/firmware/i2400m-fw-usb-1.4.sbcf
/lib/firmware/i2400m-fw-usb-1.4.sbcf

На процессе сборки Intel-овского WiMAX Network Service подробно останавливаться не будем. Там никаких хитростей нет, всё собирается совершенно спокойно. Требуется только вначале проставить пакет с исходниками Linux-ядра (в данном случае - kernel-source-2.6.30).

# apt-get install kernel-source-2.6.30
# tar xjf /usr/src/kernel/sources/kernel-source-2.6.30.tar.bz2

# ./configure --build i386 --with-i2400m=/usr/src/kernel/sources/kernel-source-2.6.30/ --sysconfdir=/usr/local/etc
# make
# make install

Бинарный Supplicant устанавливается ещё проще:

# ./install_supplicant.sh install

Следует знать, что в оригинале WiMAX Network Service рассчитан на использование dhclient. Если используется dhcpcd, то следует подправить файл /usr/local/share/wimax/dhcp_renew.sh
Выглядеть в этом случае он должен как-то так:

# cat /usr/local/share/wimax/dhcp_renew.sh
rm -f /var/run/dhcpcd-wmx0.pid
dhcpcd -q $1 >/dev/null 2>&1

Вторая хитрость связана с зависимостью бинарного Supplicant от определённых версий библиотек. Причём устаревших.
Для нормальной работы можно использовать "грязный" способ, описанный в FAQ сайта Linux WiMAX:

# cd /lib
# ln -s libssl.so.0.9.8k libssl.so.6
# ln -s libcrypto.so.0.9.8k libcrypto.so.6

Итог:

# ldd /usr/local/lib/wimax/libwpa_wimax_supplicant.so
...
        libssl.so.6 => /lib/libssl.so.6 (0xb7f42000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0xb7e05000)
...

Следующий шаг - установка конфигурационных XML-файлов. Нужны они для успешного поиска доступных WiMAX-сетей при сканировании, а также для подключения к найденным сетям. Штука критически важная.

Скачать можно отсюда: http://icelord.net/images/wimax/
Ещё один вариант есть здесь: http://forum.yotatester.ru/showpost.php?p=40039&postcount=14 (требуется регистрация)

Архив со вторым вариантом на всякий случай продублирован здесь: http://www.ossg.ru/files/misc/NDNSAgent.zip

Примечание: к сожалению, ни один из найденных вариантов пока не позволил добиться подключения к сети Comstar. Причём проблема эта, судя по всему, связана с механизмами авторизации в этой сети. Зато с Yota проблем не возникает, всё работает.

Подключение к WiMAX-сети Yota

Всё предельно просто. Запускаем демона (да, он пускается именно так, параметры командной строки ему безразличны):

# wimaxd

Включаем WiMAX и ищем доступные сети:

# wimaxcu ron
SW Radio is turned ON.
# wimaxcu scan
NSP : COMSTAR
        ID          : 41
        Signal      : Very Good
        RSSI        : -65 dBm
        CINR        : 22 dB
        Network Type: Home Network
        Activated
NSP : Yota
        ID          : 15
        Signal      : Good
        RSSI        : -72 dBm
        CINR        : 13 dB
        Network Type: Home Network
        Activated

Подцепляемся:

# wimaxcu connect network 15
Connecting to Yota Network...
Connected.

# ifconfig
...
wmx0      Link encap:Ethernet  HWaddr 00:11:22:33:44:55  
          inet addr:10.101.239.249  Mask:255.255.252.0
          UP RUNNING NOARP  MTU:1400  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:5 
          RX bytes:672 (672.0 b)  TX bytes:674 (674.0 b)

Возврат к использованию WiFi

По понятным причинам одновременное использование WiMAX и WiFi (по крайней мере, с карточкой на базе Intel 5150) невозможно. Соответственно, если требуется вновь переключиться на использование WiFi, требуется отключиться от сети WiMAX и проделать определённые операции с модулями ядра.

Для начала отключаем радио.

# wimaxcu roff
SW Radio is turned OFF

Убиваем демона (да, он останавливается именно так, остановка нормальным способом не срабатывает):

# killall wimaxd

Выгружаем и вновь подгружаем проблемные модули ядра:

# rmmod iwlagn iwlcore
# modprobe iwlagn; modprobe iwlcore

Отключаем ненужный более сетевой интерфейс и перегружаем /etc/net:

# ifdown wmx0
# service network restart

Всё, WiFi вновь в нашем распоряжении.

Использованные источники информации и полезные ссылки по теме


Дата создания: 2010-02-22 18:11:43 (Фетисов Ф. А. (faf))
Последнее изменение: 2010-09-20 17:10:05 (Фетисов Ф. А. (faf))
Владелец: Фетисов Ф. А. (faf)
Версия: 2  Все версии


  Не показывать комментарии



Wiki::Admin   Оглавление  Карта раздела  Изменения за сутки  Изменения за неделю  Изменения за месяц



Valid XHTML 1.0 Transitional  Valid CSS!  [Valid RSS]