Contents |
У деяких дистрибутивах Linux для надання користувачеві доступу до керування мережевими з’єднаннями використовується фонова служба NetworkManager. У KDE основними графічними інтерфейсами до NetworkManager є KNetworkManager (KDE3 і KDE4) та Керування з’єднаннями (плазмоїд KDE4).
Щоб створити корисне повідомлення про ваду у Керуванні мережею, вкажіть такі дані:
І дуже важливі дані: чи можете ви встановити з’єднання за допомогою іншої клієнтської програми? Наприклад, nm-applet у GNOME або cnetworkmanager у консолі. Якщо з’єднання можна встановити, будь ласка, спробуйте додати порівняльні відомості, описані наприкінці цієї статті.
Керування мережею у більшості стільничних систем Linux є вершиною великого та дуже нестійкого стосу компонентів. Причиною цього є потреба у роботі у багатьох різних системах. Якщо спроба з’єднання зазнає невдачі, причиною цього може бути один або декілька елементів стосу, але повідомлення про невдачу, зазвичай, є подібними до «З’єднання встановлено на 28%, після чого спроба зазнала невдачі». Обробка повідомлень про вади на bugs.kde.org полягатиме у пошуках шару, на якому сталася помилка, так, щоб точно визначити відповідальний за помилку компонент.
У обладнанні для бездротового зв’язку є неочікувано багато вад. Якщо вам поталанить, ці вади можна виправити на наступному рівні.
На цьому рівні працює справжній драйвер, що керує обладнанням. Тут також є багато доволі цікавих вад. З часу впровадження шару стандартного бездротового зв’язку MAC у ядро Linux ситуація з вадами покращується. Для частини обладнання не існує драйвера для Linux, користувачі керують ним за допомогою програми ndiswrapper, яка завантажує драйвери Windows і всі вади з ними пов’язані. Повідомлення драйвера можна знайти у журналі системи, обмінюватися даними з драйвером можна за допомогою набору програм iwtools.
wpa_supplicant — низькорівнева програма для обміну даними з драйвером, яка забезпечує роботу можливостей розпізнавання та шифрування. Код цієї програми є відкритим і, загалом, досить високої якості. До створення NetworkManager користувачам доводилося налаштовувати програму вручну за допомогою файлів керування у каталозі /etc. Недосвідченим користувачам важко було налаштувати програму. Журнал програми можна, зазвичай, знайти за адресою /var/log/wpa_supplicant.log. У сучасних системах програмою віддалено керує...
NetworkManager — фонова служба системи, яка перебуває у центрі підсистеми керування мережею у більшості стільничних системах Linux. Служба працює від імені адміністратора системи (користувача root), що потрібно для керування нижчими рівнями, і надає можливості керування з боку клієнта за допомогою системи D-Bus. Журнал служби записується до /var/log. Крім того, NM керує клієнтами DHCP за потреби і перезаписує файл /etc/resolv.conf власними даними щодо серверів DNS. Крім того, NetworkManager надає у розпорядження користувача модуль Системних параметрів, призначеним для читання (загальносистемних) файлів налаштування мережі вашого дистрибутива і надання отриманих даних NetworkManager.
KNetworkManager — аплет KDE 4, Плазмоїд керування мережею у KDE 4, KNetworkManager у KDE 3, nm-applet у GNOME і cnetworkmanager, як остання надія. Ці програми відповідальні за
Хоча ці програми є найпомітнішими частинами системи, вони є малозначущими для успішного встановлення з’єднання. Оскільки всі ці програми користуються стандартним інтерфейсом NetworkManager, вони є взаємозамінними.
Дуже просто. Почніть з вершити стосу і спускайтеся вниз. Якщо вам вдасться знайти щось, що працює, вам вдасться знайти джерело проблеми. Якщо всі внесені вами зміни не дадуть результату, передайте проблему на розгляд експерат (ймовірно, учасника відповідальної команди вашого дистрибутива Linux).
Якщо ви читаєте ці рядки, вам вдалося встановити з’єднання за допомогою іншої клієнтської програми NetworkManager.
Спочатку переконайтеся, що у системі не працює інша клієнтська частина, не пов’язана з Керуванням мережею. Одночасна робота двох систем може призвести до непередбачуваних результатів. Якщо таку систему було запущено, вилучіть і перезапустіть Керування мережею. Якщо бажаєте, можете запустити систему з Плазми за допомогою командиplasmoidviewer networkmanagement
Вам слід спробувати визначити, чим з’єднання, яке намагається встановити Керування мережею, відрізняється від з’єднання, яке встановлюється іншою клієнтською програмою. Якщо Керування мережею було зібрано з початкових кодів, ви можете скористатися програмою qdbusfornm, різновидом qdbus, можливості якого розширено для обробки типів даних NM.
Якщо програму не було зібрано з початкових кодів, просто замініть./qdbusfornm --systemна
qdbus --system --literalу командному рядку, наведеному нижче. Дані буде трошки важче читати, але їхня змістовність залишиться незмінною. Якщо ви скористалися командою
qdbus --system --literalбудь ласка, виправте форматування даних так, щоб у одному рядку було одне повідомлення, подібно до наведених нижче даних, виведених qdbusfornm. Виконати форматування дуже просто, крім того, ви зекономите час розробника.
Наведене нижче значення 0 відповідає з’єднанню. Змінюйте його, якщо у вашій системі декілька з’єднань, доки не буде виведено дані щодо потрібного вам з’єднання.
./qdbusfornm --system org.freedesktop.NetworkManagerUserSettings /org/freedesktop/NetworkManagerSettings/0 org.freedesktop.NetworkManagerSettings.Connection.GetSettings
виведе щось таке:
a{sa{sv}}(==802-11-wireless==
band: bg
mode: infrastructure
security: 802-11-wireless-security
ssid: opensuse-guest
==802-11-wireless-security==
auth-alg: open
key-mgmt: wpa-psk
wep-tx-keyidx: 0
==connection==
autoconnect: true
id: openSUSE
type: 802-11-wireless
uuid: {951cc7d9-1fa0-4525-9ab7-7199849e1b19}
==ipv4==
dns-search:
method: auto
)
Тепер спробу з’єднання слід повторити за допомогою іншої клієнтської програми, яка є працездатною, потім скопіювати обидва набори виведених даних і долучити їх до звіту щодо вади на bugs.kde.org. На основі цих даних ваду буде швидко виправлено.
Якщо програма аварійно завершує роботу, встановіть пакунки символів для зневаджування і отримайте дані зворотного трасування. У Kubuntu вам слід додати сховище debug і встановити пакунок plasma-widget-networkmanagement-dbgsym.