У меня есть маленькая беспроводная встроенная система на основе Ubuntu 16.04. Если беспроводной интерфейс неправильно настроен, или точка доступа снижается, ifup wlan0
никогда не будет заканчиваться потому что dhclient
не делает самого daemonize, пока он не получит арендный договор. Это - проблема потому что ifdown wlan0
зависает из-за блокировки ifup
все еще содержит:
ifdown: waiting for lock on /run/network/ifstate.wlan0
Как я решаю это?
pkill -f 'ifup .*wlan0'; ifdown wlan0
Это сыро, но если я должен сделать это, я буду. У меня было бы лучшее решение.
dhclient
поддержки a -nw
, nowait, опция, которая говорит это daemonize сразу, но ifup
не использует его, и кажется что dhclient
команда трудно кодируется в ifup
через названный исходный файл inet.defn
:.
$ apt-get source ifupdown
$ grep -n 'dhclient -1' ifupdown-*/inet.defn | head -1
97: /sbin/dhclient -1 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
Дополнительная информация:
/etc/network/interfaces
:
auto lo
iface lo inet loopback
# ifplugd configuration
mapping hotplug
script grep
map eth0
map wlan0
auto eth0
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
/etc/wpa_supplicant.conf
:
ctrl_interface=DIR=/var/run/wpa_supplicant
network={
ssid="AccessPoint"
scan_ssid=1
proto=WPA RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="passphrase"
priority=10
}
network={
key_mgmt=NONE
priority=0
disabled=1
}
У меня были та же проблема некоторое время и выполнение простого:
$ systemctl enable netctl.service
$ systemctl start netctl.service
Закрепил все на моей ubuntu 17.04.
Hope, которой это помогает.