LinuxForum.Fans
Тема

Настройка netif.wlan0 в Funtoo

Автор: SidER 13 сообщений 4396 просмотров
#252663

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

text
/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"-в этой строчке не совсем уверен

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

#252666

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

text

 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_Networking#Wireless_Configuration

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

#252829
"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.

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

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

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

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

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

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

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

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

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

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

Показать
text
#!/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 }

#254720

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

Показать

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

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

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

text

# 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
...вводим в консоли

text

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

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

text

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

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

text

rc-update add wpa_supplicant default

4. Проверяем

text

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 ]
text

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. Все явки и пароли вымышлены ;)

#254729

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

text
netif_post_down() {
        /etc/init.d/wpa_supplicant stop>/var/log/wpa_supplicant_down.log 2>&1
}
#254730
"SidER" написал:
т.к. wifi пользуюсь не всегда

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

#254732

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

#254737
"Lupo Alberto" написал:
...то я использую net-misc/wicd.

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

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

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

#254744

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

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

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

#254751
"SidER" написал:
Может с консольным интерфейсом wicd получиться подружиться.

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

Войдите или зарегистрируйтесь, чтобы ответить.