Беспроводное

04.10.2007 00:38:14

Стыдно признаться, до этой недели я с беспроводными чудесными нашими технологиями типа Wi-Fi толком и не сталкивался. Бука моя, ныне безголовая, такое не поддерживает, чужими я не пользуюсь, дома всё на проводах, в офисе тоже шнурки есть, даже пока учился, в универе всегда находился какой-нибудь шнурок. Ну не шнурок так розетка, шнурок, так и быть, у меня всегда с собой есть. 😉 А тут встала задача натарить родителям ноутбук да сделать им правильный интернет в доме, чтобы провода не кидать.

Из ноутов понравился HP 530, Debian туда встал без проблем, правда, звук на ядре 2.6.18 не заработал. Не беда, добавил sid в источники, поставил 2.6.22 из репозитория, появилось. Ну, это рутина. Единственное что напрягло, так это Wi-Fi, HP указывает на сайте, что в ноут может ставиться как Intel-евская карточка, так и Broadcom. Intel, понятно, значительно симпатичнее. Но вот в экземпляре, которые нам доставили (кстати, неплохо в Ultra доставка работает), стоит именно Broadcom.

С маршрутизатором оказалось ещё интереснее. Я заранее прикинул, что надо взять что-то такое, чтобы потом вворотить туда более-менее приличный дистрибутив и иметь маленькую линуксовую машинку, с которой можно делать всякое, особенно с учётом того, что подключение планируется в ту же локальную сеть, куда подключён и я.

Изначально хотелось ASUS WL-500G Premium. И железка хорошая, и прошивка есть вообще нашенская. Но к моменту покупки такие чудные девайсы закончились, пришлось натарить Linksys WRT54GL. Оно поскромнее (кстати, хорошая табличка по маршрутизаторному железу есть здесь), но тоже вполне достаточно (кстати, бОльшая часть железок и эта в том числе сделана на Broadcom-овском железе и архитектуре MIPS, что занятно).

Притащил домой. Распаковал. Подключил через кабель. Поглядел на веб-морду. И… тут же перепрошил OpenWrt White Russian 0.9. Поглядел на новое обилие настроек в веб-морде. Принялся настраивать Wi-Fi.

Правильный Wi-Fi, как известно, это тот, который защищён WPA или WPA2 (об этом я в теории знал очень, даром что ли тов. Гибсон это как мантру повторяет в «Security Now«…). Выставил. Попробовал настроить на ноуте. Не хочет. Начал думать, рыть. Фактически, в этом провёл весь вчерашний день. Так как Broadcom компания исключительно жлобная, драйвера bcm43xx в официальном ядре сделаны на основе обратного проектирования. В форумах народ массово кричит, что они не работают. Но есть вполне неплохие руководства по настройке большого зла, ndiswrapper.

Установил ndiswrapper, подогнал подоконные драйвера. Не работает. Подогнал другие драйвера. Не работает. Несколько раз вдумчиво перезагружал. Не работает. Поставил ndiswrapper из sid, подогнал драйвера. Не работает. Попробовал снова bcm43xx, не работает. Крепко задумался. Взял git и текущий 2.6.23-rc9, bcm43xx, не работает. Оказалось, есть новая ветка разработки драйвера, на новом Wi-Fi стеке, зовётся b43. Вытянул wireless-dev.git, собрал с b43, подогнал новую прошивку карты. Не работает.

Крепко задумался. Выкорчевал штатный ndiswrapper, собрал свой из исходников, воткнул, подогнал драйвер. Не работает. Включил на маршрутизаторе открытый режим без всяких аутентификаций. Загрузился с bcm43xx на 2.6.22. Работает! Задумался. Перезагрузился с ndiswrapper. Не работает. Удивился. Включил WPA, загрузился с bcm43xx. Не работает.

Вкратце, таким образом я провёл большую часть вчерашнего дня. Ничего не получалось. Начал думать серьёзнее. Посмотрел на примечания к WRT54GL версии 1.1 (а у меня именно такая) на сайте OpenWrt. Взял OpenWrt Kamikaze, перепрошил. Веб-морда исчезла. Испугался. Задумался. Взял на вооружение atftp, залил на маршрутизатор DD-WRT.

Веб-морда стала ещё круче. Wi-Fi стал падать на соединении ещё раньше. Задумался ещё крепче. Повторил пляски с бубном вокруг ndiswrapper/b43/bcm43xx на ноуте. На том около часу ночи закончил.

Сегодня проснулся с мыслью. Ради приличия поплясал снова с бубном вокруг ноута, ничего не добился. Но. Залез на официальный сайт Linksys и выкачал стандартную прошивку WRT54GL. Сбросил в ноль все настройки. Загрузил на ноуте 2.6.22 с bcm43xx. Без шифрования. Работает. WPA на маршрутизаторе. Работает. WPA2. Работает. Я был в шоке.

Оказалось, что ноут-то работал с самого начала, как только я туда поставил ядро из Debian sid! Со вполне стандартным драйвером bcm43xx. Карточка, надо отметить, на чипе 4311.

Всё хорошо, но стандартная прошивка меня никак не устраивала. Взял OpenWrt Kamikaze. Залил. Веб-морда исчезла. Снова испугался. В панике попробовал перепрошить, но со сброшенным BOOT_WAIT это не получилось за десять минут тыканий. `ssh 192.168.1.1`. Отзывается, но не пускает. `telnet 192.168.1.1`. Работает!!! Как оказалось, сборка Kamikaze реально просто не имеет никакой веб-морды, а штатный доступ по SSH невозможен пока не установлен пароль root. Зато до этого доступен telnet, через который можно пароль можно поставить, после чего пользоваться уже SSH.

Вот это был прорыв. Только вот Wi-Fi в штатной сборке Kamikaze выключен, что меня тоже напрягло. Тем не менее, вооружившись документацией и проведя ряд нехитрых манипуляций я заполучил горящую лампочку «WLAN» на морде железки. Открытая сеть. Работает. WPA. Работает. WPA2. Работает!!!

Сухой остаток такой. Штатный bcm43xx ядра 2.6.22, как он есть в Debian sid, работает очень даже неплохо. Говорят, в этих драйверах есть проблемы с мощностью передатчика и скоростью, у меня вышло 24 Мбит/с, а сигнал в пределах хаты ловился везде не ниже чем на уровне 95, чего более чем достаточно сейчас, главное, что работает WPA и сам драйвер достаточно стабилен (хотя один раз я умудрился его в ступор ввести). Драйвера b43, которые будут стабильнее, круче, быстрее и надёжнее, ожидаются уже в 2.6.24-rc1, но до этого должен вылупиться ещё 2.6.23, который всё никак.

Далее. Linksys WRT54GL — очень неплохая железка (хотя дизайн на мой вкус дурацкий), в которую можно запихнуть очень хорошую штуку под названием OpenWrt и поиметь кучу приятных возможностей. Флэшка на 4 Мб, метр занимает ядро+загрузчик, метр корневая файловая система на SquashFS (RO), ещё два отдаётся на JFFS2 (RW), которая «накладывается» на основную корневую ФС (звучит мутно, но по сути, первое есть неизменная часть корневой ФС, а второе — изменяемое), ну плюс раздел NVRAM для настроек чуть-чуть. Объёмы звучат нелепо, но, поверьте, их должно хватить.

Единственное «но», OpenWrt Kamikaze это для достаточно опытных красноглазых, веб-морды просто нет, только SSH, консоль и т.п. С другой стороны, я вворотил туда pptp (понадобится для интернета), openvpn (будем мост рубить через локалку на мой домашний сервер), клиентский nfs (через мост будем иметь доступ к полутора терабайтам дисков), ctorrent (ну и будем на безлимитном тарифе эти терабайты забивать всяким ;)) и у меня пока ещё 304 Кб осталось свободно; SSH доступ по ключу, в том числе с внешней стороны (что и нужно). Где такое есть в официальной прошивке?..

В общем, я очень порадовался. Сдача произойдёт несколько позже, надо дождаться подключателей интернету, но я особо не сомневаюсь, рабочая конфигурация pptp для нашей сети есть, надо только на железку затащить, да логин/пароль поменять будет. Беспроводная сеть работает. Туннели буду попозже рубить, когда установлю на месте.

Кстати, порадовал ещё и KNetworkManager (надо ли говорить, что на ноуте KDE? :)). Всё подхватывает, настраивается реально легко, я пока возился успел и ручками wpa_supplicant подёргать, после того как всё заработало, сделал то же через KNetworkManager и в консоль больше за такими делами лезть не захотелось.

И в качестве лирического отступления. Wi-Fi штука вредная. Настроил, походил с этим ноутом по хате. Ходишь везде, интернет есть. Приятно. Привыкаешь. Подходишь с своим ошмёткам железки, куча проводов, выдернешь сетевой — не будет Сети. А ведь новая бука (уже моя) явно с Wi-Fi будет… Что-то я уже думаю накупить Wi-Fi карту для сервера да сделать из него тоже доступ беспроводной… 😉

Много комментариев (2) к заметке “Беспроводное”

  1. edik:

    друг спаси вот мне мой начальник админ принес Linksys WRT54GL по началу не знал какая там прошывка. Ну немного помудровал и узнал что стоит прошивка KAMIKAZE 7.07.Законектился я туда по SSH залогинился. Тут дума все сделал. Но нет сказал поставить туда оригинальную прошивку. И тут началось ну все пробовал не помогло. Научи как прошить роутер из КАМИКАДЗЕ в фабричную ВЕК НЕ ЗАБУДУ

  2. Роман:

    http://wiki.openwrt.org/UpdatingWrt54gl
    Смотрим про tftp. Только прошивку, понятно, подсовываем какую нужно, оригинальную, например.

Закомментировать

Вам бы, по-хорошему, зарегистрироваться сначала надобно, прежде чем комментарии оставлять. Но, в порядке исключения, можете попробовать с OpenID проскочить, вдруг.