Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Поднять br0 после спящего режима  (Прочитано 614 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн back2egg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Поднять br0 после спящего режима
« : 22 Ноября 2012, 19:18:48 »
День добрый
Установлена 12.04.1 LTS, Precise Pangolin
3.2.0-33-generic #52-Ubuntu SMP Thu Oct 18 16:29:15 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Имеется интерфейс br0:

auto eth1
iface eth1 inet manual

auto wlan0
iface wlan0 inet manual

auto br0
iface br0 inet static
    address 192.168.255.1
    network 192.168.255.0
    netmask 255.255.255.0
    broadcast 192.168.255.255
    bridge-ports eth1 wlan0

wlan0 настроен как точка доступа.
Беспроводной адаптер подключен через usb, используется драйвер rt2800usb.
На br0 слушает dhcpd.
Все работает прекрасно.

После выхода из гибернации или ожидания br0 перестает работать в принципе.
Т.е. с виду никаких проблем нет. Интерфейсы wlan0, eth1, br0 подняты, адреса назначены, dhcpd и hostapd работают. Однако фактически ни по езернету ни по wifi доступа нет.
Хотелось бы понять в какую сторону копать?
Пробовал ронять интерфейсы перед входом в гибернацию и поднимать после выхода из нее - не помогает. Хотя все остальные интерфейсы благополучно поднимаются включая pppoe.
/etc/pm/sleep.d/10_network:
#!/bin/sh
. "${PM_FUNCTIONS}"

case "$1" in
    hibernate|suspend)
        ifdown tun0
        ifdown tun1
        poff dsl-provider
        ifdown br0
        ifdown wlan0
        ifdown eth1
        ifdown eth0
        exit 0
        ;;
    thaw|resume)
        ifup eth0
        ifup eth1
        ifup wlan0
        ifup br0
        pon dsl-provider
        ifup tun0
        ifup tun1
        exit 0
        ;;
    *) exit $NA
        ;;
esac


Оффлайн back2egg

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: Поднять br0 после спящего режима
« Ответ #1 : 24 Ноября 2012, 06:46:54 »
Раз никто не отвечает - отвечу сам себе :)
Может кому-то пригодится?

Wlan в режиме hostap невозможно добавить в бридж вручную командой brctl. Добавление происходит автоматически процессом hostapd (конечно если в его конфиге прописан bridge).
Таким образом, если после выхода из гибернации перезапустить hostapd, то wlan добавится в бридж.
Но этого недостаточно. Недаром бридж недоступен и со стороны езернета. Почему? Потому-что dhcpd "потерял" интерфейс. Т.е. нужно еще и dhcpd перезапустить. В результате скрипт выхода из гибернации и ожидания приобрел такой вот вид: /etc/pm/sleep.d/10_network
#!/bin/sh
. "${PM_FUNCTIONS}"

case "$1" in
    hibernate|suspend)
        ifdown tun0
        ifdown tun1
        poff dsl-provider
        /etc/init.d/hostapd stop
        /etc/init.d/isc-dhcp-server stop
        exit 0
        ;;
    thaw|resume)
        /etc/init.d/hostapd start
        /etc/init.d/isc-dhcp-server start
        /etc/init.d/mediatomb restart
        pon dsl-provider
        ifup tun0
        ifup tun1
        exit 0
        ;;
    *) exit $NA
        ;;
esac
У меня еще mediatomb на машине установлен, так вот его тоже приходится перезапускать.
А с апачем и самбой никаких проблем не возникает.
Вот теперь вход и выход из гибернации работают нормально.

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.