Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: hostapd, ath9k +patch + ht_capab = 247mbs@5ghz  (Прочитано 3400 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Мойша

  • Автор темы
  • Участник
  • *
  • Сообщений: 110
    • Просмотр профиля
hostapd, ath9k +patch + ht_capab = 247mbs@5ghz
« : 11 Ноябрь 2013, 17:05:00 »
aloha!
у меня давно собран all-in-one сервачек, всячески упрощающий мне процесс употребления нелицензионной медиапродукции.
1,5 назад я сделал его еще более "олинуанистие", превратив его еще и роутер.

процесс настройки роутерной часть был жестким сексо.. красногла...... а ладно, просто жестким.
но, к сожалению, полного удовлетворения получить не удалось - скорость в режиме n редко поднималась выше 76 mbs, вечером падала до 54 mbs, что затрудняло или делало невозможным многие запланированные процедуры использования.

я много читал, искал, но вывод был неутешительным - в забитом роутерами доме надо было использовать диапазон в 5ghz.
но моя железка хоть и обещала работать на данной частоте, обещаний своих не выполняла - при попытке выставить канал в hostapd.conf канал, соответствующий 5ghz диапазону, hostapd отказывался запускаться, заявляя, что железо этого не может.

я плюнул на все это и забыл.
а через 1,5 года, несколько дней назад мне попалась вот эта статья:
http://www.linux.org.ru/forum/linux-hardware/7860674
там автор столкнулся с той же проблемой и успешно ее решил.
прочитав эту статью я загорелся.
правда, первым моим порывом было отредактировать eerom, но готовой утилиты я не нашел (вернее, нашел, но она не умела принудительно устанавливать страну), потому пришлось все делать ручками.
и так, имеем устройство, работающее под управлением ath9k, способное работать в диапазоне 5ghz и уже работающий hostapd, поднимающий 2,4 ghz  n  сеть.

1) создаем директорию для красноглазия:
mkdir -p ~/sources/compat-wireles
2)
cd sources/compat-wireles
3)  wget http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.6/compat-wireless-3.6.8-1.tar.bz2
4) tar zxf compat-wireless-3.6.8-1.tar.bz2
5) cp -r compat-wireless-3.6.8-1 compat-wireless-3.6.8-1.tar.new
6) создал file.patch cо следующим содержанием:
diff -ru compat-wireless-3.6.8-1/drivers/net/wireless/ath/regd.c compat-wireless-3.6.8-1.new/drivers/net/wireless/ath/regd.c
--- compat-wireless-3.6.8-1/drivers/net/wireless/ath/regd.c   2012-03-19 05:15:34.000000000 +0600
+++ compat-wireless-3.6.8-1.new/drivers/net/wireless/ath/regd.c       2012-06-05 20:47:03.906526443 +0600
@@ -196,6 +196,8 @@
        u32 bandwidth = 0;
        int r;
 
+       return;
+
        for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
 
                if (!wiphy->bands[band])
@@ -255,6 +257,8 @@
        u32 bandwidth = 0;
        int r;
 
+       return;
+
        sband = wiphy->bands[IEEE80211_BAND_2GHZ];
        if (!sband)
                return;
@@ -304,6 +308,8 @@
        struct ieee80211_channel *ch;
        unsigned int i;
 
+       return;
+
        if (!wiphy->bands[IEEE80211_BAND_5GHZ])
                return;
 
@@ -510,6 +516,8 @@
 {
        const struct ieee80211_regdomain *regd;
 
+       return 0;
+
        wiphy->reg_notifier = reg_notifier;
        wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;
7) применил патч:
Цитировать
media@media-server:~/sources/compat-wireless$ patch -p1 -l < file.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ru compat-wireless-3.6.8-1/drivers/net/wireless/ath/regd.c compat-wireless-3.6.8-1.new/drivers/net/wireless/ath/regd.c
|--- compat-wireless-3.6.8-1/drivers/net/wireless/ath/regd.c   2012-03-19 05:15:34.000000000 +0600
|+++ compat-wireless-3.6.8-1.new/drivers/net/wireless/ath/regd.c       2012-06-05 20:47:03.906526443 +0600
--------------------------
File to patch: compat-wireless-3.6.8-1.new/drivers/net/wireless/ath/regd.c
patching file compat-wireless-3.6.8-1.new/drivers/net/wireless/ath/regd.c
Hunk #1 succeeded at 200 (offset 4 lines).
Hunk #2 succeeded at 261 (offset 4 lines).
Hunk #3 succeeded at 312 (offset 4 lines).
Hunk #4 succeeded at 520 (offset 4 lines).
media@media-server:~/sources/compat-wireless$
8) приступил к сборке пропатченого драйвера:
cd compat-wireless-3.6.8-1.new && ./scripts/driver-select ath9k
9) make
10) sudo checkinstall -D
после того, как пакет собран и установлен, разумно будет перегрузиться
11) sudo reboot
12) теперь открываем sudo nano /etc/hostapd/hostapd.conf
и находим и меняем следующие строки:
country_code=GB
hw_mode=a
channel=44
13) перезапускаете  hostapd
sudo /etc/init.d/hostapd stop
sudo /etc/init.d/hostapd start

и, вуаля, вы в своей новой прекрасной сети 5ghz  сети!
лично я получил 104 мегабитную сеть, но это еще не все!

лезем снова в  /etc/hostapd/hostapd.conf
и находим строку
ht_capab=, раскомментируем ее и начинаем подбирать параметры.

1,5 года назад я много что о них узнал, но время вытерло эти знания.
потому я вписал все, что мог, т.е.:
ht_capab=[HT40+][HT40-][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40]
потом убил hostapd
sudo /etc/init.d/hostapd stop
 и запусил снова, но уже не как демона, а как программу
sudo hostapd /etc/hostapd/hostapd.conf

программа у меня не запустилась, ругнувшись на то, что железо что-то там не поддерживает.
я изменил параметры:
ht_capab=[HT40-][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CCK-40]

та-дам!
мой компьютер 2007 года выпуска приконектился к сети со скоростью 243 mbs.
ооок.

теперь немного скриншотов:



« Последнее редактирование: 11 Ноябрь 2013, 17:10:15 от Мойша »

Оффлайн Den78

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: hostapd, ath9k +patch + ht_capab = 247mbs@5ghz
« Ответ #1 : 11 Ноябрь 2013, 18:27:28 »
Мойша,
Молодец, хотел спросить, ты случайно бложик не ведешь, где собрана вся информация и по подробнее, от процесса сборки NAS-а тарантаса  :) до софтовой начинки и настройки оного, было бы любопытно полюбопытствовать  ::)

Оффлайн Мойша

  • Автор темы
  • Участник
  • *
  • Сообщений: 110
    • Просмотр профиля
Re: hostapd, ath9k +patch + ht_capab = 247mbs@5ghz
« Ответ #2 : 11 Ноябрь 2013, 19:00:17 »
нет,
но собираюсь все собрать тут.

Оффлайн Den78

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: hostapd, ath9k +patch + ht_capab = 247mbs@5ghz
« Ответ #3 : 11 Ноябрь 2013, 19:22:55 »
Мойша,
Я бы еще в виду твоей доработки, наклеил бы на термоклей на процессор радиатор от старой материнки, это улучшит не только температурный режим, но и сделает скоростные характеристики более стабильными. Без скачков и проседаний, кстати технология mimo вроде действительно помогает при наличии множества сетей поблизости, которые периодически норовят залезть на твой канал  :)

Оффлайн evilbox

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: hostapd, ath9k +patch + ht_capab = 247mbs@5ghz
« Ответ #4 : 26 Апрель 2014, 23:31:20 »
Спасибо за тему и патч, хотел бы внести ремарку для тех кто сюда придет из гугла. В ubuntu 12.04.04 и выше compat-wireless может не собираться (ругается на rfkill при сборке) похоже это связанно с изменениями в ядре, я скачал compat-drivers-3.9-rc4 пропатчил и собрал, все работает!
Но вот вопрос, в версиях compat-drivers-3.10 изменена структура и похоже что патч уже не сработает, а ведь со временем мы будем вынужденны переехать на новые версии, как быть - не знаю

P/S до этого использовал compat-drivers-3.8 скорость была 17-18 мегабайт в сек, на compat-drivers-3.9 скорость 20-22


« Последнее редактирование: 29 Апрель 2014, 11:03:51 от evilbox »

 

Страница сгенерирована за 0.176 секунд. Запросов: 24.