Saturday, March 3, 2012

Archlinux, Network Manager and Hotspot

    Ох, решил написать про то, как я мучался с запуском точки доступа на этом своём линуксе с помощью стандартного гномовского нетворкменеджера.
Отчасти от всеобъемлющего нубства, отчасти от недостаточно полной (или неактуальной) документации, я не смог "из коробки" (если это понятие применимо к таким операционным системам как мой Archlinux) запустить точку доступа, нажав кнопочку "Use as Hotspot..." в меню настроек сети в Gnome 3

    Поскольку, я так привык к гуям после венды и последующих своих проб более "дружелюбных" в этом плане линуксов, мне было довольно тяжело понять что делать, когда после нажатия на кнопочку, через какое-то время в области уведомлений появилось тревожное сообщение о том, что что-то пошло не так.
    Первым делом, я принялся курить ман. Не помогло. Тогда побижал донимать русскоязычное сообщество арчеводов, но там обнаружились только труъ гики, не признающие гном, нетворкменеджер и вообще гуи. Насоветовали мне обмазаться wireless_tools, hostapd и bridge-utils и убигать читать ман и править конфиги.
    Но я решил пойти своим путём...
    Поиском по файловой системе я обнаружил несколько мест где живут логи, а прибавив к этому слова network manager я легко нашел что в var/log/daemon.log он жалуется на жизнь.
    Не буду утомлять цепью логических заключений о том, как я понял о необходимости для нормального запуска точки доступа пакета dnsmasq, скажу лишь, что после его установки всё запустилось и заработало.

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

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

$ pactree networkmanager
|--networkmanager
   |--dbus-glib
      |--dbus-core
         |--expat
            |--glibc
               |--linux-api-headers
               |--tzdata
         |--coreutils
            |--glibc
            |--shadow
               |--bash
                  |--readline
                     |--glibc
                     |--ncurses
                        |--glibc
                  |--glibc
               |--pam
                  |--glibc
                  |--db
                     +--gcc-libs-multilib provides gcc-libs
                        |--glibc
                        |--lib32-gcc-libs
                           |--lib32-glibc
                              |--glibc
                           +--gcc-libs-multilib provides gcc-libs
                     +--bash provides sh
                  |--cracklib
                     |--glibc
                     |--zlib
                        |--glibc
                  |--libtirpc
                     |--libgssglue
                        |--glibc
               |--acl
                  |--attr
                     |--glibc
            |--pam
            |--acl
            |--gmp
               +--gcc-libs-multilib provides gcc-libs
               +--bash provides sh
            |--libcap
               |--glibc
               |--attr
         |--filesystem
            |--iana-etc
            |--bash
            |--coreutils
      |--glib2
         |--pcre
            +--gcc-libs-multilib provides gcc-libs
         |--libffi
            |--glibc
   |--iproute2
      |--glibc
      |--db
   |--libnl
      |--glibc
   |--nss
      |--nspr
         |--glibc
      |--sqlite3
         |--readline
      |--zlib
      +--bash provides sh
   |--polkit
      |--glib2
      |--pam
      |--expat
   |--udev
      |--util-linux
         |--filesystem
      |--libusb-compat
         |--libusb
            |--glibc
         +--bash provides sh
      |--glib2
      |--kmod
         |--glibc
         |--zlib
      |--pciutils
         |--glibc
      |--usbutils
         |--glibc
         |--libusb
      |--pciutils
   |--wireless_tools
   |--wpa_supplicant
      |--openssl
         |--perl
            |--gdbm
               |--glibc
               +--bash provides sh
            |--db
            |--coreutils
            |--glibc
            +--bash provides sh
      |--dbus-core
      |--readline
      |--libnl
   |--ppp
      |--glibc
      |--libpcap
         |--glibc
         |--libnl
         +--bash provides sh
   |--dhcpcd
      |--glibc
      +--bash provides sh


    Кто бы мог подумать, что дело окажется в отсутствии установленного и сконфигурированного и запущенного пакета iptables
   К этому выводу я пришел прочитав логи, по старой памяти.
   Теперь всё работает хорошо и гуйно :3

4 comments:

  1. не понял насчет добавления iptables в modules, может его в демоны лучше?)

    драйвер brcmsmac, карточка Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)


    у меня так и не завелся(
    вот лог http://pastebin.com/eCd35GSu

    ReplyDelete
  2. еще ядро ругается ADDRCONF(NETDEV_UP): wlan0: link is not ready
    так что днсмаск не виноват и айпитейблс еще не вступает в бой)

    ReplyDelete
  3. с драйвером wl все заработало как надо, может кто наткнется.)

    ReplyDelete