Сетевой интерфейс перестал получать адрес по dhcp (после непредвиденной перезагрузки ноутбука)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

dru
Сообщения: 25
ОС: Gentoo

Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

Беспроводной интерфейс wlan0 при загрузке системы не получает адрес по dhcp. При этом соединяется с точкой доступа нормально. При вводе команды
dhcpcd wlan0
все становится нормально, получает айпишник, адрес шлюза и днс, короче интернет начинает работать. Это случилось после того, как ноутбук выключился, когда сели аккумуляторы. В результате была повреждена файловая система на разделах /var и /tmp (ext2), но потом починена.

Вот так выглядят конфигурационные файлы:

/etc/conf.d/net
modules=("wpa_supplicant")

wpa_supplicant_wlan0="-Dwext"

modules_wlan0=("dhcpcd")
config_wlan0=("dhcp")
mode_wlan0="auto"


/etc/dhcpcd.conf
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# dhcpcd-run-hooks uses these options.
option domain_name_servers, domain_name, domain_search, host_name

# Most distros have ntp support.
option ntp_servers

# We should behave nicely on networks and respect their MTU.
# However, a lot of buggy DHCP servers set invalid MTUs so this is not
# enabled by default.
#option interface_mtu


/etc/wpa_supplicant/wpa_supplucant.conf
# This is a network block that connects to any unsecured access point.
# We give it a low priority so any defined blocks are preferred.
#network={
# key_mgmt=NONE
# priority=-9999999
#}
network={
ssid="asus"
key_mgmt=WPA-PSK
proto=WPA2
psk="пароль"
}


Если вручную остановить, а потом запустить интерфейс, то результат такой:
urzha urzha # /etc/init.d/net.wlan0 stop
* Service net.wlan0 stopping
* Service net.wlan0 stopped
urzha urzha # /etc/init.d/net.wlan0 start
* Service net.wlan0 starting
SIOCSIFFLAGS: Unknown error 132
SIOCSIFFLAGS: Unknown error 132
* WARNING: net.wlan0 has started but is inactive
urzha urzha #

по dhcp ничего не получает.
Замена dhcpcd на dhclient не помогает.
В /var/log/messages по поводу этих команд написано следующее:
Jan 26 23:09:07 urzha dhcpcd[12604]: wlan0: received SIGTERM, stopping
Jan 26 23:09:07 urzha b43-phy0 debug: Disabling hardware based encryption for keyidx: 0, mac: 00:1e:8c:5e:be:c1
Jan 26 23:09:07 urzha wlan0: deauthenticating from 00:1e:8c:5e:be:c1 by local choice (reason=3)
Jan 26 23:09:07 urzha b43-phy0 debug: Disabling hardware based encryption for keyidx: 2, mac: ff:ff:ff:ff:ff:ff
Jan 26 23:09:07 urzha b43-phy0 debug: Removing Interface type 2
Jan 26 23:09:07 urzha b43-phy0 debug: Wireless interface stopped
Jan 26 23:09:07 urzha b43-phy0 debug: DMA-32 rx_ring: Used slots 1/64, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 26 23:09:07 urzha b43-phy0 debug: DMA-32 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 26 23:09:07 urzha b43-phy0 debug: DMA-32 tx_ring_AC_BE: Used slots 14/256, Failed frames 0/225 = 0.0%, Average tries 1.02
Jan 26 23:09:07 urzha b43-phy0 debug: DMA-32 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 26 23:09:07 urzha b43-phy0 debug: DMA-32 tx_ring_AC_VO: Used slots 4/256, Failed frames 0/19 = 0.0%, Average tries 1.00
Jan 26 23:09:07 urzha b43-phy0 debug: DMA-32 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 26 23:09:07 urzha dhclient: receive_packet failed on wlan0: Network is down
Jan 26 23:09:07 urzha dhclient: receive_packet failed on wlan0: Network is down
Jan 26 23:09:07 urzha dhclient: receive_packet failed on wlan0: Network is down
Jan 26 23:09:07 urzha wpa_cli: I don't know what to do with this distro!
Jan 26 23:09:12 urzha b43-phy0: Loading firmware version 351.126 (2006-07-29 05:54:02)
Jan 26 23:09:12 urzha b43-phy0 warning: You are using an old firmware image. Support for old firmware will be removed soon (official deadline was July 2008).
Jan 26 23:09:12 urzha b43-phy0 warning: You must go to http://wireless.kernel.org/en/users/Driver...#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
Jan 26 23:09:12 urzha b43-phy0 debug: Chip initialized
Jan 26 23:09:12 urzha b43-phy0 debug: 32-bit DMA initialized
Jan 26 23:09:12 urzha b43-phy0 debug: QoS enabled
Jan 26 23:09:12 urzha b43-phy0 debug: Wireless interface started
Jan 26 23:09:12 urzha b43-phy0 debug: Adding Interface type 2
Jan 26 23:09:12 urzha ADDRCONF(NETDEV_UP): wlan0: link is not ready
Jan 26 23:09:12 urzha rc-scripts: WARNING: net.wlan0 has started but is inactive
Jan 26 23:09:13 urzha wlan0: deauthenticating from 00:1e:8c:5e:be:c1 by local choice (reason=3)
Jan 26 23:09:13 urzha wlan0: direct probe to AP 00:1e:8c:5e:be:c1 (try 1)
Jan 26 23:09:13 urzha wlan0: direct probe responded
Jan 26 23:09:13 urzha wlan0: authenticate with AP 00:1e:8c:5e:be:c1 (try 1)
Jan 26 23:09:13 urzha wlan0: authenticated
Jan 26 23:09:13 urzha wlan0: associate with AP 00:1e:8c:5e:be:c1 (try 1)
Jan 26 23:09:13 urzha wlan0: RX AssocResp from 00:1e:8c:5e:be:c1 (capab=0x411 status=0 aid=1)
Jan 26 23:09:13 urzha wlan0: associated
Jan 26 23:09:13 urzha ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Jan 26 23:09:13 urzha b43-phy0 debug: Using hardware based encryption for keyidx: 0, mac: 00:1e:8c:5e:be:c1
Jan 26 23:09:13 urzha b43-phy0 debug: Using hardware based encryption for keyidx: 2, mac: ff:ff:ff:ff:ff:ff
Jan 26 23:09:13 urzha wpa_cli: I don't know what to do with this distro!
Jan 26 23:09:24 urzha wlan0: no IPv6 routers present


В чем может быть проблема? Почему валятся клиенты dhcp при запуске интерфейса?
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение megabaks »

с dhcpcd не сталкивался.но он не ДО wlan0 стартовать должен?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение /dev/random »

Что-то мне подсказывает, что важные сообщения были выше приведённого фрагмента лога. На самом верху видно, что wlan0 останавливается. Но не видно, почему.
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

Приведенный лог - это лог выполнения последовательности команд
/etc/init.d/net.wlan0 stop
/etc/init.d/net.wlan0 start
а не старта системы.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение vr13 »

если предположить, что раньше все работало и проблемы начались после порчи /var, то такая вам идея: может быть что-нить поломалось в /var/init.d/* и соответственно, теперь стартовая последовательность для [hot|cold]plug работает криво?

ведь, если бы firmware вашего broadcom грузилось вовремя, то проблем скорее всего бы не было (dhcpcd - это не причина, а следствие): поковыряйтесь на предмет, когда должна прорабатывать net-wireless/b43-fwcutter - может быть станет понятнее
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

хм... а у мене нету каталога /var/init.d
:(
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение vr13 »

пардон: /var/lib/init.d
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

честно говоря, не знаю, что там смотреть... Единственное, что нашел подозрительного - это ссылка на /etc/init.d/net.wlan0 в каталоге /var/lib/init.d/inactive. Похоже, что ссылка туда попадает при загрузке системы, судя по времени создания файла. Но у меня dhcp не подхватывается также и при ручном перезапуске интерфейса:
urzha init.d # /etc/init.d/net.wlan0 restart
* Service net.wlan0 stopping
* Stopping wlan0
* Loading networking modules for wlan0
* modules: apipa arping ccwgroup macchanger macnet rename iwconfig wpa_supplicant essidnet iptunnel ifconfig system dhclient dhcpcd ip6to4
* Bringing down wlan0
* Stopping dhcpcd on wlan0 ... [ ok ]
* Shutting down wlan0 ... [ ok ]
* Stopping wpa_cli on wlan0 ... [ ok ]
* Stopping wpa_supplicant on wlan0 ... [ ok ]
* Service net.wlan0 stopped
* Service net.wlan0 starting
* Starting wlan0
* Loading networking modules for wlan0
* modules: apipa arping ccwgroup macchanger macnet rename wpa_supplicant essidnet iptunnel ifconfig system dhcpcd ip6to4
* wpa_supplicant provides wireless
* ifconfig provides interface
* dhcpcd provides dhcp
SIOCSIFFLAGS: Unknown error 132
SIOCSIFFLAGS: Unknown error 132
* Configuring wlan0 for MAC address 00:1C:26:17:41:37 ... [ ok ]
* Starting wpa_supplicant on wlan0 ... [ ok ]
* Starting wpa_cli on wlan0 ... [ ok ]
* Waiting for association [ ok ]
* Backgrounding ...
* WARNING: net.wlan0 has started but is inactive

После этого у интерфейса адреса нет - приходится вручную запускать dhcpcd wlan0. Смущают строки "SIOCSIFFLAGS: Unknown error 132" как раз после сообщения о том, что dhcpcd пытается связаться с dhcp-сервером. Скорее всего дело в них. Но что это за ошибка - непонятно. Гуголь ничего внятного по этому поводу не говорит. Может быть это действительно связано с тем, что firmware не успевает закачаться в адаптер до попыток воспользоваться им, но где это можно отследить - я затрудняюсь сказать. Еще раз приведу лог рестарта (до этого я еще обновил firmware, чтоб не ругалось на старую версию):
Jan 27 23:29:38 urzha b43-phy0 debug: Disabling hardware based encryption for keyidx: 0, mac: 00:1e:8c:5e:be:c1
Jan 27 23:29:38 urzha wlan0: deauthenticating from 00:1e:8c:5e:be:c1 by local choice (reason=3)
Jan 27 23:29:38 urzha b43-phy0 debug: Disabling hardware based encryption for keyidx: 1, mac: ff:ff:ff:ff:ff:ff
Jan 27 23:29:38 urzha b43-phy0 debug: Disabling hardware based encryption for keyidx: 2, mac: ff:ff:ff:ff:ff:ff
Jan 27 23:29:38 urzha b43-phy0 debug: Removing Interface type 2
Jan 27 23:29:38 urzha b43-phy0 debug: Wireless interface stopped
Jan 27 23:29:38 urzha b43-phy0 debug: DMA-32 rx_ring: Used slots 1/64, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 27 23:29:38 urzha b43-phy0 debug: DMA-32 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 27 23:29:38 urzha b43-phy0 debug: DMA-32 tx_ring_AC_BE: Used slots 2/256, Failed frames 0/9 = 0.0%, Average tries 2.33
Jan 27 23:29:38 urzha b43-phy0 debug: DMA-32 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 27 23:29:38 urzha b43-phy0 debug: DMA-32 tx_ring_AC_VO: Used slots 2/256, Failed frames 1/11 = 9.0%, Average tries 1.36
Jan 27 23:29:38 urzha b43-phy0 debug: DMA-32 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 = 0.0%, Average tries 0.00
Jan 27 23:29:38 urzha wpa_cli: I don't know what to do with this distro!
Jan 27 23:29:39 urzha b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)
Jan 27 23:29:39 urzha b43-phy0 debug: Chip initialized
Jan 27 23:29:39 urzha b43-phy0 debug: 32-bit DMA initialized
Jan 27 23:29:39 urzha b43-phy0 debug: QoS enabled
Jan 27 23:29:39 urzha b43-phy0 debug: Wireless interface started
Jan 27 23:29:39 urzha b43-phy0 debug: Adding Interface type 2
Jan 27 23:29:39 urzha ADDRCONF(NETDEV_UP): wlan0: link is not ready
Jan 27 23:29:39 urzha rc-scripts: WARNING: net.wlan0 has started but is inactive
Jan 27 23:29:40 urzha wlan0: direct probe to AP 00:1e:8c:5e:be:c1 (try 1)
Jan 27 23:29:40 urzha wlan0: direct probe responded
Jan 27 23:29:40 urzha wlan0: authenticate with AP 00:1e:8c:5e:be:c1 (try 1)
Jan 27 23:29:40 urzha wlan0: authenticated
Jan 27 23:29:40 urzha wlan0: associate with AP 00:1e:8c:5e:be:c1 (try 1)
Jan 27 23:29:40 urzha wlan0: RX AssocResp from 00:1e:8c:5e:be:c1 (capab=0x411 status=0 aid=1)
Jan 27 23:29:40 urzha wlan0: associated
Jan 27 23:29:40 urzha ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Jan 27 23:29:40 urzha b43-phy0 debug: Using hardware based encryption for keyidx: 0, mac: 00:1e:8c:5e:be:c1
Jan 27 23:29:40 urzha b43-phy0 debug: Using hardware based encryption for keyidx: 1, mac: ff:ff:ff:ff:ff:ff
Jan 27 23:29:40 urzha wpa_cli: I don't know what to do with this distro!

Как видно, здесь firmware закачивается удачно, но про dhcp ни слова. Одно из двух: либо dhcpcd никак не проявляет себя в логах, либо до него и дело не доходит. Но что самое интересное, команда dhcpcd wlan0 в логе оставляет такой след:
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: dhcpcd 4.0.15 starting
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: broadcasting for a lease
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: offered 192.168.1.191 from 192.168.1.1
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: acknowledged 192.168.1.191 from 192.168.1.1
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: checking 192.168.1.191 is available on attached networks
Jan 27 23:34:56 urzha dhcpcd[11752]: wlan0: leased 192.168.1.191 for 86400 seconds
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение vr13 »

dru писал(а):
27.01.2010 23:36
честно говоря, не знаю, что там смотреть... Единственное, что нашел подозрительного - это ссылка на /etc/init.d/net.wlan0 в каталоге /var/lib/init.d/inactive. Похоже, что ссылка туда попадает при загрузке системы, судя по времени создания файла. Но у меня dhcp не подхватывается также и при ручном перезапуске интерфейса:

в /var/lib/* грубо говоря - текущее состояние системы. /var/lib/init.d - состояние baselayout: там можно много интересного найти, что объясняет поведение системы. все содержимое - временное и в основном - символические ссылки. я имел в виду, что после вашего сбоя могла попортиться структура директорий, и это вызывает не адекватное поведение hotplug. "за одно" вопрос: а кем хотплаггится dhcpcd и вообще все, что касается сетевых интерфейсов?
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: dhcpcd 4.0.15 starting
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: broadcasting for a lease
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: offered 192.168.1.191 from 192.168.1.1
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: acknowledged 192.168.1.191 from 192.168.1.1
Jan 27 23:34:51 urzha dhcpcd[11752]: wlan0: checking 192.168.1.191 is available on attached networks
Jan 27 23:34:56 urzha dhcpcd[11752]: wlan0: leased 192.168.1.191 for 86400 seconds

а это как раз то, что пишет в syslog dhcpcd, буквально: попросил, получил, проверил, начал пользоваться указанное количество секунд. непонятно, из вашего рассказа - когда это появляется и почему у вас на wlan0 нет адреса, если он-таки получен - 192.168.1.191
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

При старте системы wlan0 поднимается, но адрес по dhcp не получает. При рестарте интерфейса также адрес не получает, при этом выводя непонятную ошибку SIOCSIFFLAGS: Unknown error 132. Адрес получает только при выполнении в консоли команды dhcpcd wlan0, и вышеприведенный лог - это и есть лог успешного выполнения этой команды.
По поводу /var/lib/init.d - для "чистоты" эксперимента я переименовывал каталог /var/lib/init.d и перезапускал систему. Он создался заново точно такой же с такой же структурой.

"за одно" вопрос: а кем хотплаггится dhcpcd и вообще все, что касается сетевых интерфейсов?


А где об этом можно узнать? Конфиги описаны мной в первом сообщении темы или еще что-то надо посмотреть?
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение vr13 »

имелось в виду, как работает wlan - сама по себе или под управлением networkmanager, wicp итд?

А где об этом можно узнать? Конфиги описаны мной в первом сообщении темы или еще что-то надо посмотреть?


на самом деле, в ваших логах есть одно странное сообщение, которое, если разобраться почему происходит - можно найти причину всего остального:
Jan 27 23:29:38 urzha wpa_cli: I don't know what to do with this distro!

это пишется скриптом /etc/wpa_supplicant/wpa_cli.sh, который кем-то запускается (вопрос выше) и, среди прочего, содержит следующее:

Код: Выделить всё

if [ -f /etc/gentoo-release ]; then
        EXEC="/etc/init.d/net.${INTERFACE} --quiet"
else
        logger -t wpa_cli "I don't know what to do with this distro!"
        exit 1
fi

посмотрите на это сначала. я повторю свое мнение - что испортилось что-то в скриптах/конфигурации baselayout
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

Ясно. Ни network_manager, ни wicd не использую. Сеть настраивал по хендбуку. Использование wpa_supplicant указывается в /etc/conf.d/net.
Наверное вызов wpa_cli.sh инициируется в скрипте /etc/init.d/net.wlan0, или я не прав?
И еще - что значит условие [ -f /etc/gentoo-release ] в скрипте wpa_cli.sh? Если это проверка наличия файла, то его у меня нет. Похоже у меня еще и корневой раздел пострадал...
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение vr13 »

dru писал(а):
28.01.2010 11:05
И еще - что значит условие [ -f /etc/gentoo-release ] в скрипте wpa_cli.sh? Если это проверка наличия файла, то его у меня нет. Похоже у меня еще и корневой раздел пострадал...

да, это значит "проверить наличие обычного файла". /etc/gentoo-release - принадлежит sys-apps/baselayout
думаю, что проблема решится remerge'м этого пакета (очень внимательно, с последующим revdep-rebuild'ом и проч проверкой зависимостей)
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

Спасибо, попробую
Спасибо сказали:
dru
Сообщения: 25
ОС: Gentoo

Re: Сетевой интерфейс перестал получать адрес по dhcp

Сообщение dru »

Пересборка baselayout помогла! Спасибо большое!!!
Спасибо сказали: