mbim-proxy кушает CPU на 100%

Может кто-то сталкивался с проблемой?
ноутбук LIFEBOOK S935.
В ноутбуке есть слот для sim карты. Использую фичу 3G модема, но довольно редко, в основном когда нужно работать вне офиса или далеко от дома. Каждый раз после перезагрузки процесс mbim-proxу загружает одно ядро процессора на 100%.
Собственно, что такое mbim-proxy, понятно это библиотека для работы модуля (https://www.freedesktop.org/wiki/Software/libmbim/). Как сделать так, чтобы сей процесс не топил во всю.
Сейчас вопрос решается килянием процесса через bashtop. Хотелось бы адекватного решения.
Mind your head
На вскидку виду два пути, но нужно проверять и читать:
1. Используя AT команды для данного модема, перевести его в другой режим, в котором не функционирует данная фича или, если возможно, просто отключить данную фичу.
2. Выяснить какой модуль необходим для работы данной фичи и запретить его загрузку. .... предположу, что это модуль cdc_mbim

PS - интересно, что посоветоваои на форуме manjaro
Ошибки не исчезают с опытом - они просто умнеют
AUR предлагает альтернативные пакеты. Но они не собираются по разным причинам, судя по датам они заброшены. При этом, они просят пакет mbim с зависимостями удалить. Гуглы мне толком ничего не дали. Искал по форумам, увидел, что да, таки есть такая проблема.
Что характерно, mbim-proxy /usr/lib/mbim-proxy не всегда юзает под 100%. Я включаю ноут, смотрю на процесс он 0%, работаю и внезапно начинается шум кулера и я понимаю, что что-то толкает модуль модема. Хотя в гноме в гуях я вижу что фича отключена. Т.е. чтобы она работала ее надо енейбл.
Отключить службу как таковую, не вариант, есть редкие случаи когда таки нужно работать, например по пути на работу или обратно. Разве что написать скрипт, который будет килять или запусать процесс. Но костыльные методы, имхо, это плохо.
Форум manjaro молчит как рыба об лёд.
Mind your head
Attention_Deficit, предложено два варианта, дерзай ... и, главное, готовое решение никто тебе не выложит - предложат только пути решения, а дальше нужно будет много читать, как это сделать.

PS - и информации все-таки нужно предоставлять побольше.
Ошибки не исчезают с опытом - они просто умнеют
to Attention_Deficit
Уже давно не занимался USB 3G модемом в части подключения/отключения разных фич, решил вспомнить, а заодно и проверить кое что другое для себя … пишу подробнее - может тебе и пригодится.
Мой модем - huawei MegaFon M21-4 (E3531)
1. Смотрим в каком режиме он подключен
AT^SETPORT?
^SETPORT:FF;1,2,16
где, 1 - режим модем, 2 - порт управления, 16 - NDIS-сетевая карта
2. Смотрим вывод lsusb
|__ Port 1: Dev 8, If 0, Class=Vendor Specific Class, Driver=option, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/008
    |__ Port 1: Dev 8, If 1, Class=Vendor Specific Class, Driver=option, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/008
    |__ Port 1: Dev 8, If 2, Class=Vendor Specific Class, Driver=huawei_cdc_ncm, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/008
и видим, что NDIS-сетевая карта использует модуль (Driver) huawei_cdc_ncm … и можно предположить, что если выгрузить этот модуль, то NDIS работать не будет.
3. Проверим, выгрузим модуль huawei_cdc_ncm
sudo modprobe -r huawei_cdc_ncm
и смотрим вывод lsusb
|__ Port 1: Dev 8, If 0, Class=Vendor Specific Class, Driver=option, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/008
    |__ Port 1: Dev 8, If 1, Class=Vendor Specific Class, Driver=option, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/008
    |__ Port 1: Dev 8, If 2, Class=Vendor Specific Class, Driver=, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/008
Модуля не видно, а значит NDIS работать не должен (проверять не буду).
4. А сейчас попробуем изменить рабочую конфигурацию модема, - отключим NDIS, оставим один режим, только модем
AT^SETPORT="FF;1,2"
Проверим
AT^SETPORT?
^SETPORT:FF;1,2
Ну и смотрим вывод lsusb
|__ Port 1: Dev 9, If 0, Class=Vendor Specific Class, Driver=option, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/009
    |__ Port 1: Dev 9, If 1, Class=Vendor Specific Class, Driver=option, 480M
        ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
        /sys/bus/usb/devices/2-1  /dev/bus/usb/002/009
И видим, что режим NDIS исчез … и, имхо, это наиболее подходящий вариант.

Конечно, нужно знать конкретно используемый USB 3G modem и AT-команды к нему. В принципе, используя AT-команды всегда можно посмотреть возможные режимы работы модема, в том числе и посмотреть есть ли режимы, в которых отключен mbim-proxy … а потому и писал выше, что для решения проблемы нужно много читать и знать … не все так просто.

PS - кстати, используя AT-команды можно многое узнать о своем модеме, например, IMEI девайса, версию железа, прошивки, изменить PIN … и многое другое.
Ошибки не исчезают с опытом - они просто умнеют
Спасибо за небезразличие и участие. Редкость в наше время.
У меня модем Sierra Wireless, Inc. EM8805.
Функционал AT так понимаю это для usb huawei модема.
Заметил одну закономерность. После того как я выключу, т.е. полностью павероффну, и после включаю ноут, процесс не шалит. Я могу в гуях увидеть, прописанные мною, параметры подключения Kiyvstar3G и всё работает без запредельной нагрузки на ядро.
Но стоит мне захлопнуть крышку ноута, а потом разбудить ось, в гуях не работает функция коннекта и моих наименований коннекта нет. Судя по всему, модуль пытается безуспешно загрузить конфиг. Тут возможно, либо некорректно в спящий режим впадает, либо с правами на конфиг загвоздка.

Сам mbim в терминале имеет две функции mbimcli и mbim-network, нужно покурить мануалы по этим командам, благо маны там есть. Или на крайний случай запустить в вербоуз режиме, посмотреть логи.
Крансоглазие наше всьо.
Mind your head
Attention_Deficit
Но стоит мне захлопнуть крышку ноута, а потом разбудить ось, в гуях не работает функция коннекта и моих наименований коннекта нет.
Как правило основной причиной ошибок в этом случае явлется модуль, если проблема в модуле, то это можно отловить ... и если действительно виноват модуль, то можно попробовать перед уходом в suspend выгрузить модуль, а при выходе из suspend загрузить его, возможно придется, наверное, поднимать снова и сеть, здесь я ничего сказать не могу, практически с этой фичей mbim-proxy не знаком.
Вообщем по идее нужно отловить виновника и делать с ним соответсвующие действия при уходе/выходе в/из suspend. Как можно отловить, описывал не однократно в блогах.

Attention_Deficit
У меня встроенный модем Sierra Wireless, Inc. EM8805.
Функционал AT так понимаю это для usb huawei модема.
Есть AT команды и для других модемов, посмотри, например, это и это - может что найдешь и для своего модема.
Или можешь пробовать не загружать модуль (какой, определи - будет что то типа ххх_cdc_mbim или просто cdc_mbim - не знаю, смотри вывод lsmod | grep mbim)
Ошибки не исчезают с опытом - они просто умнеют
lsmod | grep mbim

Таки да

lsmod | grep mbim
cdc_mbim               20480  0
cdc_wdm                28672  2 cdc_mbim
cdc_ncm                49152  1 cdc_mbim
usbnet                 53248  2 cdc_mbim,cdc_ncm

Сейчас буду копать в эту сторону.
Mind your head
Попробуй выгрузи модуль cdc_mbim (sudo modprobe -r cdc_mbim) и закрой крышку ноута (вход в suspend) .... и выйди из suspend - нагрузка на cpu будет???
Ошибки не исчезают с опытом - они просто умнеют
Хотя поступил не разумно, доверившись человеческим эмоциям и суждениям. Лучше в этих случаях начинать хотя бы с простейшего анализа.
- выяснить процесс, грузящий cpu, например, так (или по другому, смотри этот блог)
ps -eo pid,pcpu,pmem,comm | sort -r -k2 | head -5
- посмотреть вывод lsusb и lspci - и обязательно до ухода в suspend и после выхода из suspend (когда идет нагрузка на cpu) - не зная точно в каком выводе что будет, лучше применить и lsusb и lspci:
lsusb -t -vv  и  lspci -v
найти в этих выводах свои устройства, какие задействованы модули, а также определить наличие отличий в выводах до входа в suspend и после выхода из suspend. Не забываем, что данный девайс определяется как несколько устройств. Для удобства определения что есть что в выводах, можно посмотреть эти же выводы до вставки девайса в слот и после вставки в слот, если, конечно, это возможно.
Это минимум, дальше действуй по обстоятельствам.

EDIT 1 - команды и используемые опции в них на свой вкус и в зависимости от обстоятельств ....
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.