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


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

Автор Тема: [WiFi Hostapd AP] Программа для создания точки доступа WiFi  (Прочитано 239690 раз)

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

Оффлайн Hantim

  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
# wifi-hostapd-ap
ROOT: ok. Begin ... 
Testing AP... 
DEVICE -  ON
DNSMASQ -  OFF
HOSTAPD -  OFF
IP FORWARDING -  OFF
AP IS NOT RUNNING
 
Start activation.
 
Preparation device  ...  OK
Check device  ...  OK
Starting device  ...  OK
Enable IP Forwardng  ...  OK
Set rules to IPTABLES  ...  OK
redirecting to systemctl
Starting DNSMASQ  ...  FAIL
"Точка доступа успешно запущена!"
Testing AP... 
DEVICE -  ON
DNSMASQ -  OFF
HOSTAPD -  OFF
IP FORWARDING -  ON
AP IS NOT RUNNING

Какими должны быть настройки hostapd?

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
# wifi-hostapd-ap
ROOT: ok. Begin ... 
Testing AP... 
DEVICE -  ON
DNSMASQ -  OFF
HOSTAPD -  OFF
IP FORWARDING -  OFF
AP IS NOT RUNNING
 
Start activation.
 
Preparation device  ...  OK
Check device  ...  OK
Starting device  ...  OK
Enable IP Forwardng  ...  OK
Set rules to IPTABLES  ...  OK
redirecting to systemctl
Starting DNSMASQ  ...  FAIL
"Точка доступа успешно запущена!"
Testing AP... 
DEVICE -  ON
DNSMASQ -  OFF
HOSTAPD -  OFF
IP FORWARDING -  ON
AP IS NOT RUNNING

Какими должны быть настройки hostapd?


Так, давайте сначала разберемся с DNSMASQ. До Hostapd дело пока не дошло.
Проверьте:
# /etc/init.d/dnsmasq status

если он запущен, то, пожалуйста, покажите:
$ cat /proc/`pidof dnsmasq`/status
$ cat /var/run/dnsmasq/dnsmasq.pid
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Hantim

  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
# /etc/init.d/dnsmasq status
redirecting to systemctl
dnsmasq.service - DNS caching server.
          Loaded: loaded (/lib/systemd/system/dnsmasq.service; disabled)
          Active: active (running) since Sun, 28 Apr 2013 20:02:40 +0400; 2h 53min ago
         Process: 6066 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS)
        Main PID: 6069 (dnsmasq)
          CGroup: name=systemd:/system/dnsmasq.service
                  └ 6069 /usr/sbin/dnsmasq --enable-dbus --keep-in-foreground

Apr 28 21:37:04 Note dnsmasq[6069]: ignoring nameserver 192.168.0.1 - local interface
Apr 28 21:37:04 Note dnsmasq[6069]: using nameserver 8.8.8.8#53 for domain www.google.com
Apr 28 21:37:14 Note dnsmasq[6069]: no servers found in /etc/resolv.conf, will retry
Apr 28 21:39:08 Note dnsmasq[6069]: reading /etc/resolv.conf
Apr 28 21:39:08 Note dnsmasq[6069]: ignoring nameserver 192.168.0.1 - local interface
Apr 28 21:39:08 Note dnsmasq[6069]: using nameserver 8.8.8.8#53 for domain www.google.com
Apr 28 22:55:48 Note dnsmasq[6069]: no servers found in /etc/resolv.conf, will retry
Apr 28 22:55:50 Note dnsmasq[6069]: reading /etc/resolv.conf
Apr 28 22:55:50 Note dnsmasq[6069]: ignoring nameserver 192.168.0.1 - local interface
Apr 28 22:55:50 Note dnsmasq[6069]: using nameserver 8.8.8.8#53 for domain www.google.com
~> cat /proc/'pidof dnsmasq'/status
cat: /proc/pidof dnsmasq/status: Нет такого файла или каталога
~> cat /var/run/dnsmasq/dnamasq.pid
cat: /var/run/dnsmasq/dnamasq.pid: Нет такого файла или каталога

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Valrav, похоже DNSMASQ не запущен. Кстати, используйте не одинарные кавычки, а апострофы (клавиша Ё, английская раскладка) в команде



cat /proc/`pidof dnsmasq`/status

И попытайтесь найти dnamasq.pid. Нужно знать, где он, так как по этому файлу приложение проверяет, запущен ли DNSMASQ.
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Hantim

  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
~> cat /proc/`pidof dnsmasq`/status
Name:   dnsmasq
State:  S (sleeping)
Tgid:   6069
Pid:    6069
PPid:   1
TracerPid:      0
Uid:    105     105     105     105
Gid:    65534   65534   65534   65534
FDSize: 64
Groups:
VmPeak:    23320 kB
VmSize:    23196 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      1668 kB
VmRSS:      1668 kB
VmData:      204 kB
VmStk:       136 kB
VmExe:       232 kB
VmLib:      2568 kB
VmPTE:        64 kB
VmSwap:        0 kB
Threads:        1
SigQ:   0/23952
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000180016a01
CapInh: 0000000000000000
CapPrm: 0000000000003000
CapEff: 0000000000003000
CapBnd: ffffffffffffffff
Cpus_allowed:   f
Cpus_allowed_list:      0-3
Mems_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:      0
voluntary_ctxt_switches:        192
nonvoluntary_ctxt_switches:     26
~> cat /run/dnsmasq.pid
6069

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
~> cat /run/dnsmasq.pid
6069


Вот это и есть корень проблемы! В Debian/Ubuntu этот файл лежит по адресу /var/run/dnsmasq/dnsmasq.pid. Программа не может его найти и считает, что DNSMASQ не запущен.


В классе CheckProcesses определен метод:

Код: (cpp) [Выделить]
    void getPIDWhichName() {
        QString path;
        QString PIDString;
    /////////////////////////////////////////////////////
        if(name == "hostapd") {
            path = "/var/run/hostapd.pid";
            if(debugThisClass) qDebug() << "Проверяем Hostapd";
        }
        else  {
            path = "/var/run/dnsmasq/dnsmasq.pid";
            if(debugThisClass) qDebug() << "Проверяем DNSMAQ";
        }
    ///////////////////////////////////////////////////
        QFile FileToRead(path);
        if(FileToRead.open(QFile::ReadOnly)) {
        PIDString = FileToRead.readAll();
        pidproc = PIDString.toInt();
        }
        else {
            Status = false;
            pidproc = -1;
        }
        FileToRead.close();
        if(debugThisClass) qDebug() << "PID  = " << pidproc;
    }


Если собирать для SUSE, то надо изменить эти пути для локальной переменной path. Когда я это писал, забыл вынести пути в другой файл. :(


PS, имя метода и меня теперь плакать заставляет, да...  ;D
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Hantim

  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
path = "/var/run/hostapd.pid";У меня файл hostapd. pid не появляется даже после запуска hostapd. Как с этим быть?
# hostapd
hostapd v1.0
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> and contributors

usage: hostapd [-hdBKtv] [-P <PID file>] [-e <entropy file>] <configuration file(s)>

options:
   -h   show this usage
   -d   show more debug messages (-dd for even more)
   -B   run daemon in the background
   -e   entropy file
   -P   PID file
   -K   include key data in debug messages
   -t   include timestamps in some debug messages
   -v   show hostapd version
# hostapd status
Configuration file: status
Could not open configuration file 'status' for reading.
# service hostapd status
hostapd.service - LSB: hostap deamon
          Loaded: loaded (/etc/init.d/hostapd)
          Active: failed (Result: exit-code) since Mon, 29 Apr 2013 20:24:58 +0400; 6min ago
         Process: 5525 ExecStart=/etc/init.d/hostapd start (code=exited, status=1/FAILURE)
          CGroup: name=systemd:/system/hostapd.service

Apr 29 20:24:58 Note hostapd[5525]: Starting hostapd Configuration file: /etc/hostapd.conf
Apr 29 20:24:58 Note hostapd[5525]: Line 25: unknown configuration item ' driver'
Apr 29 20:24:58 Note hostapd[5525]: 1 errors found in configuration file '/etc/hostapd.conf'
Apr 29 20:24:58 Note hostapd[5525]: ..failed
« Последнее редактирование: 29 Апреля 2013, 20:28:46 от Valrav »

Оффлайн DarkneSS

  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
    • Персональная страничка Дмитрия DarkneSS Перлова
Приветствую всех. Пока пропатчил так: https://build.opensuse.org/package/view_file?expand=1&file=wifi-hostapd-ap-dnsmasq_pid.patch&package=wifi-hostapd-ap&project=home%3ADarkSS
Поскольку /var/run у нас тоже есть и с hostapd возникли проблемы, его переменную пока не трогал.
openSUSE 13.2 x64 | KDE 4

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Собственно, чтобы PID появился, надо его задавать при запуске Hostapd'a. В нашем случае скрипт /etc/init.d/hostapd выглядит так:

(Нажмите, чтобы показать/скрыть)


Запуск происходит тут:
Код: (bash) [Выделить]
  start)
log_daemon_msg "Starting $DESC" "$NAME"
start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \
--pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null
log_end_msg "$?"
;;


Проверьте, чтобы при запуске указывался параметр:
-P $PIDFILEили
-P /var/run/hostapd.pid

Либо придется искать другой способ проверки статуса Hostapd. Можно изменить класс, воспользовавшись QProcess и запускать
pidof hostapd

Так я хотел поступить во второй версии. :)
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн DarkneSS

  • Участник
  • *
  • Сообщений: 164
    • Просмотр профиля
    • Персональная страничка Дмитрия DarkneSS Перлова
Кровавый, благодарю. По идее всё должно работать, сам проверить не могу. Valrav вернётся и отпишется.
openSUSE 13.2 x64 | KDE 4

Оффлайн vitalinya

  • Любитель
  • *
  • Сообщений: 54
  • The laughing man
    • Просмотр профиля
Проясните пожалуйста. Программа в принципе работала без сбоев. Недавно (я раздаю на ноут и планшет) они перестали заходить на некоторые сайты: например gismeteo.ru vk.com odnoklassniki.ru, а некоторые работают норм: google.ru rutracker.org yandex.ru youtube.com и тп. Грешу на днс поэтому еще раз поменял DNSMASQ конфигурационный файл. Вначале помогло. А сейчас опять тоже самое.

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Проясните пожалуйста. Программа в принципе работала без сбоев. Недавно (я раздаю на ноут и планшет) они перестали заходить на некоторые сайты: например gismeteo.ru vk.com odnoklassniki.ru, а некоторые работают норм: google.ru rutracker.org yandex.ru youtube.com и тп. Грешу на днс поэтому еще раз поменял DNSMASQ конфигурационный файл. Вначале помогло. А сейчас опять тоже самое.


Честно, я не знаю, чем может быть вызвано такое поведение.
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Hantim

  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
Прога запускается, точку доступа создает, устройство на андроиде видит ее, но подключаться не хочет, висит на надписи "Получение IP-адреса..." и затем отключается.
# wifi-hostapd-ap
ROOT: ok. Begin ... 
Testing AP... 
DEVICE -  OFF
DNSMASQ -  OFF
HOSTAPD -  OFF
IP FORWARDING -  OFF
AP IS NOT RUNNING
 
Start activation.
 
Preparation device  ...  OK
Check device  ...  OK
Starting device  ...  OK
Enable IP Forwardng  ...  OK
Set rules to IPTABLES  ...  OK
redirecting to systemctl
Starting DNSMASQ  ...  OK
redirecting to systemctl
Warning: Unit file of created job changed on disk, 'systemctl --system daemon-reload' recommended.
iptables -t nat -A POSTROUTING -o  eth0  -j MASQUERADE  ...  OK
"Точка доступа успешно запущена!"
Testing AP... 
DEVICE -  ON
DNSMASQ -  ON
HOSTAPD -  ON
IP FORWARDING -  ON
AP IS RUNNING
hostapd.conf настроил так:
#Name:Default
#Type:Hostapd
interface=wlan0
driver=nl80211
ssid=WIFI_NAME
country_code=RU
hw_mode=g

channel=6
macaddr_acl=0

wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
wpa_passphrase=you_password
И самое неприятное это то что после запуска программы напрочь отваливается интернет.

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
И самое неприятное это то что после запуска программы напрочь отваливается интернет.


13.04?
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Hantim

  • Любитель
  • *
  • Сообщений: 93
    • Просмотр профиля
Нет. openSUSE 12.2

 

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