Как разрешить NetworkManager управлять интерфейсом WLAN после обновления?
Я обновил систему Ubuntu с 11.04 до 11.10 через do-release-uprade,
Теперь некоторые вещи не работают, как раньше.
Например, теперь мой пользователь должен быть частью scanner группа, чтобы иметь возможность использовать xsane и т. д. - с < 11.10 это, видимо, не было необходимости.
Чтобы иметь возможность использовать nm-applet снова (для проводной сети) мне нужно было добавить пользователя в группу netdev после обновления.
Но управление WLAN по-прежнему не работает через NetworkManager - nm-applet просто не отображает никаких беспроводных устройств.
В логах есть:
NetworkManager wlan0 deactivating device reason managed
(пунктуация удалена)
Но почему это вдруг удалось?
Я проверил /etc/network/interfaces и он не содержит никаких wlan0 записей.
А также /etc/NetworkManager/NetworkManager.conf просто содержит:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
Есть ли какая-то другая группа, в которую должен войти пользователь? Или что еще может быть испорчено после обновления?
Подключение к WLAN-AP вручную через wpasupplicant и dhclient (после остановки NetworkManager) работает отлично.
Редактировать: Кстати, эта система Ubuntu немного нестандартна:
wdmнастроен как дисплей менеджер вместоlightdm- в качестве оконного менеджера я использую
awesomewm
2 ответа
Пожалуйста, сделайте резервную копию, прежде чем использовать команды ниже, я не знаю, будет ли у вас интернет потом.
Подключите с помощью кабеля Ethernet.
Загрузите пакеты, чтобы иметь возможность переустановить их даже без интернета:
cd apt-get download network-manager-gnome network-managerТогда я бы предложил очистить конфигурацию вашего сетевого менеджера:
sudo apt-get purge network-manager-gnome network-manager sudo rm -rf /etc/NetworkManager sudo rm -rf /usr/lib/NetworkManager sudo rm -rf /var/lib/NetworkManagerИ переустановите сетевой менеджер:
sudo apt-get install network-manager-gnome network-managerЕсли у вас больше нет интернета, попробуйте установить локальные пакеты, которые мы скачали, с помощью первой команды:
cd sudo dpkg -i network-manager*.debПерезагрузите компьютер.
Если приведенные выше команды не исправили интернет, нам нужно больше информации:
Запустите эти команды и предоставьте вывод (отредактируйте свой вопрос):
sudo apt-get dist-upgrade cat /etc/network/interfaces iwconfig ifconfig lspci -nn lsusb nm-tool sudo lshw -C network rfkill list allУбедитесь, что все зависимости установлены правильно, переустановите метапакеты ubuntu:
sudo dpkg -P --force-all ubuntu-desktop ubuntu-standard ubuntu-minimal sudo apt-get install ubuntu-desktop ubuntu-standard ubuntu-minimalВы никогда не упоминали, какую версию Ubuntu вы использовали до обновления до 11.10.
Примечание: кстати, AFAIK do-release-uprade Команда должна использоваться при обновлении установок сервера, а не рабочего стола. Вы должны предпочесть загрузку альтернативного компакт-диска через менеджер обновлений.
Лог-сообщение
NetworkManager wlan0 deactivating device reason managed
отправил меня по неправильному маршруту. Управляемые или неуправляемые устройства не являются проблемой.
Еще одна вещь, которая может пойти не так (помимо того, что она не является частью нужной группы или проблем с управляемым устройством), это проблема с разрешением DBus.
Это можно проверить, запустив nm-applet из xterm, в случае проблем с разрешением вы получаете много Rejected send messageвот так:
$ nm-applet
** (nm-applet:25178): WARNING **: _nm_object_get_property: Error getting 'WirelessHardwareEnabled' for /org/freedesktop/NetworkManager: (9) Rejected send message, 2 matched rules; type="method_call", sender=":1.1698" (uid=SOMEUID pid=SOMEPID comm="nm-applet ") interface="org.freedesktop.DBus.Properties" member="Get" error name="(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager" (uid=0 pid=OTHERPID comm="NetworkManager ")
Что ж, nm-applet Кажется, он действительно хорош в сообщении таких ошибок пользователю... через графический интерфейс... НЕТ!
(Хорошо, nm-applet также не может сообщить, что пользователь не является частью netdev группа...)
Похоже, что-то связано с ConsoleKit. Кажется, что nm-applet нужен ConsoleKit-Session, который имеет active = TRUE,
Вы можете проверить свою сессию ConsoleKit через:
$ ck-list-sessions
На моей системе вывод был:
$ ck-list-sessions | grep active
active = FALSE
active = FALSE
active = FALSE
Чтобы проверить, действительно ли это проблема, вы можете позвонить nm-applet как это из xterm:
$ ck-launch-session nm-applet
Тогда вы не должны получить Rejected send "Предупреждающие" сообщения больше и nm-applet должен работать как ожидалось.
Этот обходной путь, вероятно, ломает другие вещи, связанные с ConsoleKit - реальное исправление, вероятно, состояло бы в том, чтобы исправить ConsoleKit-session-setup через менеджер отображения или что-то в этом роде.
Обратите внимание, что ConsoleKit также не поддерживается и, вероятно, будет заменен в ближайшем будущем решением на базе Systemd...
Изменить: см. Также мой ответ на проблему с настройкой связанного комплекта консоли. В зависимости от метода запуска X11 вам нужно обойти изменения ConsoleKit, чтобы получить активный сеанс - в зависимости от версии ConsoleKit и системы, которая просто вызывает ck-launch-session может быть недостаточно.