Вопрос или проблема
Странная проблема с wifi здесь на Ubuntu 19.10 на Dell XPS 15 с картой Intel AC 9260. Обычно связь очень стабильная, и остается подключенной в течение нескольких дней. Это включает многогигабайтные передачи вверх и вниз по http, ftp, smb и т.д.
Однако когда я запускаю mbsync (http://isync.sourceforge.net/mbsync.html), связь часто (несколько раз в день) обрывается. Под “обрывом” я понимаю, что все передачи прекращаются из-за тайм-аута. Wifi все еще кажется подключенным к базе, но я могу продолжать передачу только отключив и заново подключив его.
В логах в это время нет ничего особо познавательного:
Apr 16 14:21:08 bamboo mbsync[22095]: Socket error on imap.purelymail.com (18.204.123.63:993): timeout.
Apr 16 14:21:08 bamboo systemd[3322]: mbsync.service: Main process exited, code=exited, status=1/FAILURE
Apr 16 14:21:08 bamboo systemd[3322]: mbsync.service: Failed with result 'exit-code'.
Dmesg показывает следующее, но я не уверен, что это произошло одновременно с вышесказанным:
wlp59s0: deauthenticating from 10:b1:f8:b4:57:be by local choice (Reason: 3=DEAUTH_LEAVING)
На первый взгляд, я не представляю, что mbsync может вызывать эту проблему (или может?). Она работает как пользовательская служба под systemd. Я на 100% уверен, что mbsync по крайней мере вызывает проблему (потому что она не возникает в других случаях, независимо от нагрузки на сеть).
Буду признателен за любые советы или направления для исследования, так как я в тупике.
Я нашел решение, если не ответ.
Учитывая, что mbsync, казалось бы, выявлял некоторую скрытую нестабильность в моем wifi соединении, я решил поэтапно пройтись по всем источникам потенциальной нестабильности, которые я мог придумать.
Первое, что я попробовал, было переключить мою wifi базовую станцию с широкого на узкий (20 МГц) канал, просто чтобы уменьшить вероятность помех (это радио на 2.4ГГц).
Я мог сказать через пару часов, что это решило проблему, так как mbsync часто прерывал соединение.
Мне все еще было бы интересно узнать, если кто-то вдруг прочитает это и знает об этом, почему mbsync вызывает эту проблему, когда никакое другое использование сети ее не вызывает.
Ответ или решение
Теория
Проблемы с беспроводной сетью могут возникать по разным причинам, начиная от аппаратных неисправностей и заканчивая конфликтами программного обеспечения. В данном случае проблема заключается в нестабильности Wi-Fi соединения на ноутбуке Dell XPS 15 с сетевой картой Intel AC 9260, работающем под управлением Ubuntu 19.10. Хотя Wi-Fi обычно стабилен, при использовании mbsync, наблюдаются разрывы соединения. mbsync – это утилита для синхронизации почтовых ящиков, которая часто отправляет и получает большие объемы данных.
Сетевые карты Intel, особенно в сочетании с Linux, известны некоторыми проблемами совместимости и нестабильности, связанными с драйверами и конфигурацией сети. Поскольку Wi-Fi соединение работает стабильно при других типах загрузки, можно предположить, что проблема может быть не в железе, а в программной стороне.
Основная проблема, описанная пользователем, заключается в том, что mbsync вызывает разрывы сети, которые требуют ручного переподключения. Из анализа доступных логов видно, что происходит ошибка сокета и локальное деавторизование соединения, что указывает на то, что mbsync вызывает ситуацию, когда исходящий трафик слишком велик или возникают конфликты протоколов.
Пример
Многим пользователям Linux известны проблемы с драйверами сетевых карт Intel, особенно в отношении эффективной обработки больших объемов трафика и утилизации устройства в режимах высокой нагрузки. В некоторых случаях это может быть связано с конфликтами в использовании ресурсов ядра или сетевой стек, особенно при включении служб, сильно нагружающих сеть, таких как mbsync.
Рассмотрим пример, когда утилита для синхронизации почты может вызвать разрыв Wi-Fi. mbsync может открывать множество подключений одновременно, чтобы быстрее синхронизировать данные. Это может стать причиной агрессивной конкуренции за сетевые ресурсы между разными задачами, выполняемыми на вашего устройстве, что может привести к перегрузкам сетевого драйвера и вызывать проблемы в формировании сетевых пакетов.
Применение
В данном случае вы уже нашли временное решение проблемы, уменьшив ширину канала до 20 МГц. Это показало эффективность, так как уменьшение ширины канала снижает интерференцию и повышает стабильность соединения. Это связано с тем, что узкий канал менее подвержен влиянию помех от других устройств, работающих на аналогичных частотах.
Ниже приведены несколько рекомендаций, которые можно применить для дальнейшего исследования и улучшения ситуации:
-
Обновление драйверов: Убедитесь, что установлены последние драйверы для сетевой карты. Посетите сайт поддержки Intel, чтобы найти и выполнить установку последней версии драйверов.
-
Анализ MTU: Проверьте размер MTU (Maximum Transmission Unit). Некорректный размер MTU может вызвать проблемы с сегментацией пакетов. В Ubuntu это можно проверить и изменить, используя команды терминала для изменения конфигурации сети.
-
Ограничение сетевой загрузки: Попробуйте настроить mbsync так, чтобы уменьшить количество одновременных соединений. Это может снизить нагрузку на драйвер и предотвратить перегрузки.
-
Проверка настроек энергосбережения: Убедитесь, что настройки энергосбережения для вашей сетевой карты не конфликтуют с использованием сети. Агрессивные настройки энергосбережения могут приводить к случайному деавторизованию.
-
Исследование системных логов: Используйте
journalctl
для детального просмотра логов работы системы в период разрыва соединения. Это может дать больше информации о том, что происходит с системой во время сбоя. -
Обсуждение с сообществом: Платформы, такие как Ubuntu Forums или Stack Exchange, могут предоставить дополнительную помощь и информацию от пользователей, сталкивавшихся с подобными проблемами и нашедших уникальные решения.
Часто при решении таких проблем требуется комплексный подход, включающий обновление системного программного обеспечения, мониторинг сетевой активности и анализ работы драйверов. Хотя mbsync напрямую не является причиной проблем с Wi-Fi, его использование как триггер помогает выявить слабые места в конфигурации системы.