1

В данный момент подключаюсь с помошью команд

/etc/init.d/wpa_supplicant start && /etc/init.d/dhcpcd start

Соответственно wpa_supplicant настроен, так вот вводить каждый раз вводить не совсем удобно. Поэтому назрел вопрос об автоматизации. Посмотрел оф.вики Funtoo Linux Networking + вики gentoo,но на ум ни чего не приходит кроме следующего:
# cd /etc/init.d
# ln -s netif.tmpl netif.wlan0
в netif.wlan0 добавляем

config_wlan0=( "dhcpcd" )
modules_wlan0=( "wpa_supplicant" )
wpa_supplicant_wlan0=( "-Dwext" )
dhcp_wlan0="nonis nontp"-в этой строчке не совсем уверен

Так вопрос, будет ли это работать? Или в чём-то я не прав.

2

Во-первых, вы используете старый синтаксис openrc — круглых скобок быть не должно.
Во-вторых, в приведённой вами ссылке всё расписано несколько иначе, т.е. должно быть примерно так:

 cd /etc/init.d
# ln -s netif.tmpl netif.wlan0
# rc-update add netif.wlan0 default
# echo template=dhcpcd > /etc/conf.d/netif.wlan0
# rc-update add wpa_supplicant default

Ну и далее так — http://www.funtoo.org/wiki/Funtoo_Linux … figuration

Если мне память не изменяет, у нас на форуме newzenon описывал настройку WiFi под Funtoo.

Был, был и весь вышел...

3

Lupo Alberto пишет:

Во-первых, вы используете старый синтаксис openrc — круглых скобок быть не должно.

Понял, в дальнейшем учту.

Lupo Alberto пишет:

Во-вторых, в приведённой вами ссылке всё расписано несколько иначе, т.е. должно быть примерно так:

cd /etc/init.d
# ln -s netif.tmpl netif.wlan0
# rc-update add netif.wlan0 default
# echo template=dhcpcd > /etc/conf.d/netif.wlan0
# rc-update add wpa_supplicant default

Просто тогда не имеет смысла мне создавать netif.wlan0, так как это равносильно тому, что сейчас имею, только в немного измененном виде. Изначально я думал, что возможно dhcpcd и wpa_supplicant реализовать в виде одного скрипта (netif.wlan0), т.е. обойтись без добавления в runlevel wpa_supplicant.

4

SidER пишет:

Просто тогда не имеет смысла мне создавать netif.wlan0, так как это равносильно тому, что сейчас имею, только в немного измененном виде.

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

Был, был и весь вышел...

5 (27.05.2012 16:38:26 отредактировано SidER)

Lupo Alberto пишет:

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

Ок.
Решил свою проблему, следующим образом:
1)Приводим файл /etc/conf.d/netif.wlan0 к виду

template="custom"
ipaddr="192.168.10.160/24"
gateway="192.168.10.1"
nameservers="192.168.10.1"
mtu="1500"

2) Выполняю команду:

#cd /etc/netif.d && cp interface custom

3) Правим файл  /etc/netif.d/custom, добавляя в фигурные скобки

/etc/init.d/wpa_supplicant start>/var/log/wpa_supplicant.log 2>&1 &

Весь /etc/netif.d/custom:

+ открыть спойлер
#!/bin/sh

netif_pre_up() {
    /etc/init.d/wpa_supplicant start>/var/log/wpa_supplicant.log 2>&1 &
    local count=-1
    local label
    local bcast
    for ipnm in $ipaddr $ipaddrs; do
        if [ $count -ge 0 ]
        then
            label=$interface:$count
        else
            label=""
        fi
        if [ -n "$(if_ipv4 $ipnm)" ]
        then
            bcast="broadcast $(get_option "$ipnm" broadcast +)"
        else
            bcast=""
        fi
        if [ -z "$label" ]
        then
            ip addr add $(get_ipnm_part "$ipnm") $bcast \
                dev $interface || die "Couldn't add $ipnm to $interface"
        else
            ip addr add $(get_ipnm_part "$ipnm") $bcast \
                label $label dev $interface || die "Couldn't add $ipnm to $interface"
        fi
        count=$(( $count + 1 ))    
    done
}
netif_post_down() {
        /etc/init.d/wpa_supplicant stop>/var/log/wpa_supplicant_down.log 2>&1
}

6

Только что проверил подключение к WiFi указанным на официальном сайте Funtoo способом:

+ открыть спойлер

1. Устанавливаем необходимые программы:

emerge net-misc/dhcpcd net-wireless/wireless-tools net-wireless/wpa_supplicant

2. Создаём настройки для интерфейса wlan0 и добавляем его в уровень запуска:

# cd /etc/init.d
# ln -s netif.tmpl netif.wlan0
# rc-update add netif.wlan0 default
# echo template=dhcpcd > /etc/conf.d/netif.wlan0

3. Конфигурируем wpa_supplicant
...вводим в консоли

wpa_passphrase Lupo_WiFi >> /etc/wpa_supplicant/wpa_supplicant.conf

...нажимаем [Enter]
...вводим пароль, нажимаем [Enter]
...проверяем созданный файл конфигурации

gentoo-laptop lupo # cat /etc/wpa_supplicant/wpa_supplicant.conf
# reading passphrase from stdin
network={
    ssid="Lupo_WiFi"
    #psk="z3g0r1got5%"
    psk=6e64eb884f2cb2a4wc4fc0c6dcebe4b29f9i6812ecb5dfbgh21c32b2c7bb15cd
}

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

rc-update add wpa_supplicant default

4. Проверяем

gentoo-laptop lupo # rc
wpa_supplicant     | * Starting WPA Supplicant Daemon ...
netif.wlan0        | * Network dhcpcd wlan0 up ...
netif.wlan0        |dhcpcd[4352]: version 5.5.6 starting                                                                 [ ok ]
netif.wlan0        |dhcpcd[4352]: wlan0: waiting for carrier
netif.wlan0        |dhcpcd[4352]: wlan0: carrier acquired
netif.wlan0        |dhcpcd[4352]: wlan0: sending IPv6 Router Solicitation
netif.wlan0        |dhcpcd[4352]: wlan0: sendmsg: Cannot assign requested address
netif.wlan0        |dhcpcd[4352]: wlan0: broadcasting for a lease
netif.wlan0        |dhcpcd[4352]: wlan0: offered 192.168.1.100 from 192.168.1.1
netif.wlan0        |dhcpcd[4352]: wlan0: acknowledged 192.168.1.100 from 192.168.1.1
netif.wlan0        |dhcpcd[4352]: wlan0: checking for 192.168.1.100
netif.wlan0        |dhcpcd[4352]: wlan0: sending IPv6 Router Solicitation
netif.wlan0        |dhcpcd[4352]: wlan0: leased 192.168.1.100 for 86400 seconds
netif.wlan0        |dhcpcd[4352]: forked to background, child pid 4480                                                   [ ok ]
gentoo-laptop lupo # ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3110 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:173726 (169.6 KiB)  TX bytes:173726 (169.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:16:ee:78:6d:7e  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::218:deff:fe78:637e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1007 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1045 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:604273 (590.1 KiB)  TX bytes:168082 (164.1 KiB)

P.S. Все явки и пароли вымышлены bx

Был, был и весь вышел...

7

Lupo Alberto, в принципе раньше именно так и делал, работало на ура bx. Суть первоначального топика в том, чтобы отказаться от wpa_supplicant в runlevel (т.к. wifi пользуюсь не всегда, а если оставить его там, то при загрузке будут сыпаться ошибки) и объединение всех настроек в единственном  файле netif.wlan0. Сейчас подумал и решил, что впринципе логично было бы добавить в /etc/netif.d/custom ещё следующие строки:

netif_post_down() {
        /etc/init.d/wpa_supplicant stop>/var/log/wpa_supplicant_down.log 2>&1
}

8

SidER пишет:

т.к. wifi пользуюсь не всегда

...то я использую net-misc/wicd.

Был, был и весь вышел...

9

В принципе, можно создать пользовательский уровень запуска, в котором и будет запускаться wpa_supplicant, создать соответствующий пункт в меню Grub'а и выбирать его при загрузке, но, IMHO, проще использовать wicd.

Был, был и весь вышел...

10

Lupo Alberto пишет:

...то я использую net-misc/wicd.

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

В принципе, можно создать пользовательский уровень запуска, в котором и будет запускаться wpa_supplicant, создать соответствующий пункт в меню Grub'а и выбирать его при загрузке, но, IMHO, проще использовать wicd.

Эт очень сложно...
Два дня работает, ни каких проблем пока не возникало. Можно наверное ставить [Решено].

11

У wicd есть псевдографический (ncurses)  и консольный интерфейсы.

Был, был и весь вышел...

12

Lupo Alberto пишет:

У wicd есть псевдографический (ncurses)  и консольный интерфейсы.

Ок, попробую. Может с консольным интерфейсом wicd получиться подружиться.

13

SidER пишет:

Может с консольным интерфейсом wicd получиться подружиться.

Скажу больше — если соединение одно и настроено, вы этого интерфейса и не увидите, всё стартует и соединяется автоматом. bx
...или не соединяется, если нет WiFi-сети.

Был, был и весь вышел...