четверг, 13 августа 2009 г.

lenovo s10-2 vs я + ubuntu 9.04. Ура yota заработала.

Ура. Вчерашний вечер не прошел зря...

Вот и я сумел запустить yot'у на своем нетбуке.
Как уже было сказано у меня lenovo s10-2.

Инструкции которыми я воспользовался
  1. http://www.ramoonus.nl/2009/06/10/linux-kernel-2-6-30-installation-guide-for-ubuntu-and-debian-linux/
  2. http://habrahabr.ru/blogs/linux/66879/

Ну и конечно же мой вариант инструкции.

И так приступаем.
  1. Установить ubuntu 9.04 (тут все без комментариев)

  2. Обновление ядра.
    т.к. изначально в 9.04 стоит ядро 2.6.28-x

  3. для работы драйверов нам также понадобится пакет libnl-dev
    apt-get install libnl-dev
  4. Перезагружаемся, на новое ядро.
    Нужно для того чтобы не мучаться лишний раз с путями.
  5. Интел сам занимается поддержкой WiMAX в linux и предоставляет исходники.
    качаем
    wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=wimax-i2400m-1.4.1.tar.bz2'
    wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=i2400m-fw-1.4.0.tar.bz2'
    wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=WiMAX-Network-Service-1.4.0.tar.bz2'
    wget 'http://www.linuxwimax.org/Download?action=AttachFile&do=get&target=Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2'
    у меня файлы скачались со знаками вопроса, поэтому переименовываем
    mv 'Download?action=AttachFile&do=get&target=wimax-i2400m-1.4.1.tar.bz2' 'wimax-i2400m-1.4.1.tar.bz2'
    mv 'Download?action=AttachFile&do=get&target=i2400m-fw-1.4.0.tar.bz2' 'i2400m-fw-1.4.0.tar.bz2'
    mv 'Download?action=AttachFile&do=get&target=WiMAX-Network-Service-1.4.0.tar.bz2' WiMAX-Network-Service-1.4.0.tar.bz2
    mv 'Download?action=AttachFile&do=get&target=Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2' Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2
    распаковываем исходники в каталог /usr/src
    tar -xvjf 'wimax-i2400m-1.4.1.tar.bz2' --directory /usr/src
    tar -xvjf 'i2400m-fw-1.4.0.tar.bz2' --directory /usr/src
    tar -xvjf 'WiMAX-Network-Service-1.4.0.tar.bz2' --directory /usr/src
    tar -xvjf 'Intel-WiMAX-Binary-Supplicant-1.4.0.tar.bz2' --directory /usr/src
  6. Первым компилируем и ставим wimax-i2400m-1.4.1
    Следуя инструкции получается
    cd /usr/src/wimax-i2400m-1.4.1
    make
    для проверки можно воспользоваться скриптом load.sh. загрузить - "./load.sh" выгрузить "./load.sh u"
    Устанавливаем модуль
    make install
    depmod -a
  7. Следующий шаг установить/скопировать firmware
    cd /usr/src/i2400m-fw-1.4.0
    cp i2400m-fw-usb-1.4.sbcf /lib/firmware/i2400m-fw-usb-1.4.sbcf
  8. Ставим управляющую обвязку для драйвера
    cd /usr/src/WiMax-Network-Service-1.4.0
    ./configure --prefix=/usr/ --with-i2400m=/usr/src/wimax-i2400m-1.4.1 --localstatedir=/var --enable-debug
    make
    make install
  9. Cтавим Supplicant
    cd /usr/src/Intel-WiMAX-Binary-Supplicant-1.4.0
    ./install_supplicant.sh install
    Супликант у меня поставился в /usr/local/lib, так же как и у автора на харбре, на всякий случай я его сразу скопировал в /usr/lib
    cp -r /usr/local/lib/wimax /usr/lib/wimax
  10. Загружаем yot'овские конфиги, спасибо icelord
    wget http://icelord.net/images/wimax/NDnSAgentConfig_forDriver.xml
    wget http://icelord.net/images/wimax/NDnSAgentDefaultConfig.xml
    копируем по назначению /usr/share/wimax/
    cp NDnSAgentConfig_forDriver.xml /usr/share/wimax/NDnSAgentConfig_forDriver.xml
    cp NDnSAgentDefaultConfig.xml /usr/share/wimax/NDnSAgentDefaultConfig.xml
  11. Перезагрузка
  12. Старт
    Запускаем демона
    /usr/bin/wimaxd
    Переключаем адаптер в Wi-Max режим(Wi-Fi при этом потеряется).
    /usr/bin/wimaxcu ron
    Подключаемся к Yota(15 - это id сети Yota)
    /usr/bin/wimaxcu connect network 15
  13. Для остановки(и переключения в режим WiFi):
    /usr/bin/wimaxcu roff


Все... теперь должно работать.

Вот еще несколько команд
  • Сканирование доступных сетей
    wimaxcu scan
  • Получить данные об устройстве.
    wimaxcu info device
  • Информация о подключении
    wimaxcu status link

И совет от mixermsk
И напоследок небольшой хинт: я долго бился с проблемой «слепого» адаптера(знал, что сеть есть, но система её не видела в упор) — перепробовал различные способы, переезжал на другое ядро, пересобирал драйвер — без толку. Решением стал ресет настроек адаптера:
wimaxcu reset factory
После чего следующий же скан сетей показал наличие Yota.

26 комментариев:

Анонимный комментирует...

Спасибо большое за инструкцию.

Unknown комментирует...

Спасибо, конечно, за инструкцию, но почему-то не хочет компилировать драйверы. Пишет в итоге Error 2. Может подскажете в чем дело?

Gleb комментирует...

Приветствую. Спасибо за комментарии, и простите что не заглядывал долго.

Анастасия, проверь ядро uname -v
если у тебя 2.6.30 то нужен патчик
wget http://icelord.net/images/wimax/wimax-i2400m-1.4.1.patch

cp wimax-i2400m-1.4.1.patch /usr/src
patch -p0 < wimax-i2400m-1.4.1.patch

на вопросы отвечать yes

Если ядро 31-е я с ним пока не ковырялся.

Если ядро 29-е то проверь установила ли ты libnl-dev
apt-get install libnl-dev

Анонимный комментирует...

добрый день/ночь =)

возникла оч неприятная для меня ситуация...
постоянно вылетает ошибка при запуске
wimaxcu ron
ERROR: Make sure WiMAX Network Service is running.

пробовал компилить на разных ядрах... 3жды уже полностью сносил ось..

и при этом дрова компилились бес проблем только на 28ом ядре... но все равно сервис не запускался...

на 30ом выкидывает ошибку. (и до и после установки патча...)

в чем может быть проблема? бьюсь над этим уже больше недели, но без толку...
возникает вопрос... почему еще никто не оформил дрова в пакет?

/usr/src/wimax-i2400m-1.4.1/drivers/net/wimax/i2400m/driver.c: В функции ‘i2400m_setup’:
/usr/src/wimax-i2400m-1.4.1/drivers/net/wimax/i2400m/driver.c:617: ошибка: ‘struct device’ не содержит элемента с именем ‘bus_id’
make[4]: *** [/usr/src/wimax-i2400m-1.4.1/drivers/net/wimax/i2400m/driver.o] Ошибка 1
make[3]: *** [/usr/src/wimax-i2400m-1.4.1/drivers/net/wimax/i2400m] Ошибка 2
make[2]: *** [/usr/src/wimax-i2400m-1.4.1/drivers/net/wimax] Ошибка 2
make[1]: *** [_module_/usr/src/wimax-i2400m-1.4.1] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.30-02063005-generic'
make: *** [all] Ошибка 2

Gleb комментирует...

Ошибка компиляции это не не наложен патч.
При наложении проверь как ты отвечаешь на вопрос

ERROR: Make sure WiMAX Network Service is running.
Появляется если не был запущен wimaxd

Про пакет... ХЗ. Я например не умею

Gleb комментирует...

Чуть поковыряв 31-е (подозреваю что и с 30-м аналогично) модуль i2400 в системе уже есть, он скомпилен и загружается.

Я сделал все шаги, кроме компиляции i2400 и получил интерфейс в networkManager'е. Дома yot'ы у меня нету, завтра попробую проверить когда буду в мск.

Анонимный комментирует...

хм... ошибка компиляции даже после установки патча.. на все вопросы отвечал
y
сейчас снова попробовал поставить патч - пишет мол файлы уже были пропатчины...


ERROR: Make sure WiMAX Network Service is running.

появляется всегда, я все делал по инструкции и естественно ни раз... и запускал wimaxd
хотя оч странно, при запуске ничего не происходило... в консоль ничего не выводилось, но была пауза как будто шел запуск... никаких сообщений о ошибке...

ладно. спасибо за инструкцию и отклик... завтра снесу все и попробую снова на 30м ядре...

Gleb комментирует...

Снос боюсь ничего не даст.

При запуске wimaxd происходит ошибка.
Ее видно в dmesg и /var/log/messages

Если разберешься в чем секрет, отпиши плз. Самому интересно

Анонимный комментирует...

не могу установить патч для 30го ядра
не могли бы вы выложить пропатченые исходники?

Gleb комментирует...

Если ты используешь бубен, то можно с 29-м и 30-м ядрами не заморачиваться.
Все встает на свои места и на 28-м ядре.

Разобрался с ошибкой
ERROR: Make sure WiMAX Network Service is running.
При запуске wimaxd не может найти супликант. А моя команда (из инструкции) не туда копировала файлы. Они оказывались в /usr/lib/wimax/wimax, т.е. глуюже чем надо, после корректировки, все и заработало.

Пропатчить может не удаваться если не стоит программа patch
sudo apt-get install patch
При вводе в терминале об этом прямо может говориться.

Выкладывать пропатченные сорцы, мне банально некуда, да и не имеет смысл, тк в 31-е ядро на подходе, а там уже должно все работать и с меньшим бубном.
С.У. Читатель
ака ТиранШутников (Tyranjoks)

Анонимный комментирует...

make[4]: Вход в каталог `/usr/src/WiMAX-Network-Service-1.4.0/wimax-tools/lib'
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I/usr/src/wimax-i2400m-1.4.1/include -g -Wall -O2 -g -MT op-open.o -MD -MP -MF .deps/op-open.Tpo -c -o op-open.o op-open.c
op-open.c:223: ошибка: несовместимые типы для ‘wimaxll_recv’
../include/wimaxll.h:312: ошибка: здесь была предыдущая декларация ‘wimaxll_recv’
op-open.c: В функции ‘wimaxll_recv’:
op-open.c:254: предупреждение: формат ‘%d’ предполагает тип ‘int’, но аргумент 4 имеет тип ‘ssize_t’
make[4]: *** [op-open.o] Ошибка 1
make[4]: Выход из каталога `/usr/src/WiMAX-Network-Service-1.4.0/wimax-tools/lib'
make[3]: *** [all] Ошибка 2
make[3]: Выход из каталога `/usr/src/WiMAX-Network-Service-1.4.0/wimax-tools/lib'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталога `/usr/src/WiMAX-Network-Service-1.4.0/wimax-tools'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/usr/src/WiMAX-Network-Service-1.4.0'
make: *** [all] Ошибка 2


Вот такая ошибка

Gleb комментирует...

Давай, с начала....
Что у тебя сейчас стоит?
uname -a полностью

Анонимный комментирует...

Огромное спасибо за инструкцию.
Запускал по ней Yotu на Lenovo ThinkPad sl400.
Система: Инфралинукс (как я понимаю, - российский клон Ubuntu 9.04)
До этого пытался ставит на Kubuntu 9.04 на туже машинку, не получилось.
Драйвер не хотел компилироваться и пишет как говорит Анастасия "Error 2".
С Инфралинукс была лишь описанная уже в комментариях ошибка:
"ERROR: Make sure WiMAX Network Service is running.
При запуске wimaxd не может найти супликант. А моя команда (из инструкции) не туда копировала файлы. Они оказывались в /usr/lib/wimax/wimax, т.е. глуюже чем надо, после корректировки, все и заработало".
Одно не нравится: Yota запускается только в консоли. KNetworkManager с wimax интерфейсом не работает.
Может быть есть какие-то пути заставить его работать в графике?

Gleb комментирует...

Ну, у меня тоже с консоли...
Кеды 4-е мне не понравились, поэтому пользую NetworkManager в GNOME.
Кстати, в томже KNetwork'е я не смог управлять модемом (пользую постоянно еще и GPRS). Это было еще одной из причин.
Поповоду прикрутки, надо либо искать, смотреть конфиги, либо сразу лезть в мануалы. В моем случае у меня появилось "проводное" соединение с именем wmx0, о идее оно должно спокойно подхватываться.

Gleb комментирует...

Хочу добавить, ребят/девчат, не пишите под анонимами, если хотите задать вопрос. Потому что в диалоге я не буду знать кому я отвечаю. А включать запрет на Анонимные сообщения не хотелось бы.

StaS комментирует...

Огромное спасибо за инструкцию.
Запустил по ней Yota на Acer Emachines E725 (взял в ULMART за 21т.р.). Поставил Mandriva 2009.1, но с официальных репов ставится только ядро 2.6.29.6 а с ним ни WiFi, ни WiMax не фурычат. Порыскав в И-нете подключил репозитарий отсюда и установил ядро 2.6.30.2 - сразу заработал WiFi. А уже найдя Ваш блог, "раскочегарил" и YOTA (скомпилил и установил только Интеловские WiMax Network Service и Supplicant).
Еще раз - БОЛЬШОЕ СПАСИБО!

StaS комментирует...

...исправлю и дополню пред.пост:
Альтернативный репозитарий с которого установил ядро 2.6.30.2 для Mandriva2009.1: http://tmb.mine.nu/
Забыл упомянуть, что с официльных ставил пакет libnl-dev . А вот wimax-i2400m-1.4.1 только скачал и положил в /usr/src (т.к. на него ссылается ./configure --prefix=/usr/ --with-i2400m=/usr/src/wimax-i2400m-1.4.1 --localstatedir=/var --enable-debug), но не компелил и не ставил. Это все перед утановкой управл.обвязки и супликанта.
З.Ы. Да, и под конец позволю дать совет для покупателей нет/ноутбуков(учитывая что они сейчас и так по доступной цене):
В целях компенсации затрат на подкручивание драйверов WiFi / WiMax от Intel ;) , воспользуйтесь этой ссылкой, сделайте себе еще скидку! "acer точка ru" - "Сервис и Поддержка" - "Программа возврата стоимости операционной системы семейства Windows". Только сделайте это с САМОГО НАЧАЛА! До установки новой ОС и конечно-же НЕ соглашайтесь с условиями Лицензионного соглашения ОС Windows, возникающего на экране при первом запуске Продукта.
ВСЕМ УДАЧИ!

Gleb комментирует...

Stas, спасибо за добрый комментарий. И за совет для Mandriv'ы.

Про 30 ядро хочу добавить, что для него скорее всего не надо компилить i2400, он уже есть в ядре, надо указать ссылку на папку ядра.
Сам не пробовал. У меня на 28-м все встало в итоге.

Жрун комментирует...

Привет. Почитал комменты, увы, моей проблемы тут нет. Установил ёту, устанавливал с хабрахабр. Всё работает, заходит в инет. НО вылетает сообщение в консоли
cat /var/run/dhclient.wmx0.pid не найден. Инет отрубается и не отвечает на все попытки реанимировать его. Помогает только перезагрузка.
P.S. Я ламер, так что если можно по подробнее...
P.P.S Не против буду если свяжутся онлайн по аське 388-639-467

Gleb комментирует...

Смотри что у тебя будет тут
cat /var/log/messages |grep wimax
cat /var/log/massages |grep wmx
dmesg |grep wimax
dmesg |grep wmx

grep - это своего рода фильтр, по регулярным выражениям. Может нужно будет слово поиска подбирать.

Gleb комментирует...

Все убрал нафиг инфу по 29-му ядру. Все и так работает.

Анонимный комментирует...

Спасибо за пост . Были проблемы с 29 ядром . Накатил 9.10 - wi-fi заработал, но Йопта нет . ПО логам видно :
[code]
{pid:4073, tid: 3059796880} [1255437583] ./wimax_osal.c:784 Error: [wmx_load_lib]Failed to load library. Error: /usr//lib/wimax/libwpa_wimax_supplicant.so: cannot open shared object file: No such file or directory
[/code]

Это так встало по умолчанию . Странно .
Подредактировал в
[b]
/usr/src/Intel-WiMAX-Binary-Supplicant-1.4.0/install_supplicant.sh [/b]

строку адреса на

[code]
lib_dir=$DESTDIR/usr/lib/$project_name
[/code]

Проинсталировалось нормально в этот раз.

Демон запускаецца - норм .

wimaxcu scan выдаёт :

[code]
NSP : Yota
ID : 15
Signal : Poor
RSSI : -84 dBm
CINR : 2 dB
Network Type: Home Network
Activated

[/code]

wimaxcu connect network 15 показывает :

[code]
Connecting to Yota Network...
ERROR: Connection to Yota network not successfull
[/code]

Думаю из за сигнала слабого . МОй HTC 4G тоже сеть тут не находит .

Gleb комментирует...

Если я я правильно сужу по этим строчкам:
RSSI : -84 dBm
CINR : 2 dB
То думаю ты прав про сигнал

Анонимный комментирует...

Как быть, если lspci не возвращает ничего про wi-fi или 802.11 ?

Да, тоже счастливый обладатель леновы с10-2

Gleb комментирует...

Обновиться? С проводом.

Gleb комментирует...

А Что вообще выдает?