ModemManager: mmcli получает уровень сигнала

Я не могу определить уровень сигнала на Sierre Wireless MC7304.
Также кажется, что отправка команды AT через mmcli не работает.

:~ $ sudo mmcli -m /org/freedesktop/ModemManager1/Modem/0 --signal-get
 error: modem has no extended signal capabilities

:~ $ sudo mmcli -m /org/freedesktop/ModemManager1/Modem/0 --command=AT+CSQ
error: command failed: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Unauthorized: Cannot send AT command to modem: operation only allowed in debug mode'


/org/freedesktop/ModemManager1/Modem/0 (device id 
'dd26a5483d051c6e25a7ca10f4d36a94791c7ebf')
-------------------------
Hardware |   manufacturer: 'Sierra Wireless, Incorporated'
       |          model: 'MC7304'
       |       revision: 'SWI9X15C_05.05.16.02 r21040 carmd-fwbuild1 
2014/03/17 23:49:48'
       |      supported: 'gsm-umts, lte'
       |        current: 'gsm-umts, lte'
       |   equipment id: 'unknown'
 -------------------------
  System   |         device: 
'/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5'
       |        drivers: 'qmi_wwan, qcserial'
       |         plugin: 'Gobi'
       |   primary port: 'ttyUSB2'
       |          ports: 'ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net), 
wwan1 (net)'
-------------------------
 Numbers  |           own : 'unknown'
 -------------------------
 Status   |           lock: 'none'
       | unlock retries: 'unknown'
       |          state: 'connected'
       |    power state: 'on'
       |    access tech: 'lte'
       | signal quality: '0' (recent)
 -------------------------
 Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
       |        current: 'allowed: 2g, 3g, 4g; preferred: none'
 -------------------------
 Bands    |      supported: 'unknown'
       |        current: 'unknown'
 -------------------------
 IP       |      supported: 'ipv4, ipv6, ipv4v6'
 -------------------------
 3GPP     |           imei: 'unknown'
       |  enabled locks: 'none'
       |    operator id: 'hidden'
       |  operator name: 'hidden'
       |   subscription: 'unknown'
       |   registration: 'home'
 -------------------------
 SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

 -------------------------
  Bearers  |          paths: '/org/freedesktop/ModemManager1/Bearer/0'

Когда я использую модем внутри, например, карты Mikrotik 922, мне кажется, что уровень сигнала очень хороший.
Я использую версию mmcli: 1.4.0-1 и Kernel 4.450 на Raspberry Pi.

2 ответа

Несколько вопросов здесь:

Модем не был должным образом определен модемом QMI в ModemManager (обратите внимание, что в выводе раздела " Порты" mmcli нет порта cdc-wdm). Поскольку это пользовательская система, вам необходимо убедиться, что драйвер USB cdc-wdm для ядра собран и установлен, в противном случае вы не сможете использовать режим QMI, поскольку не будет никаких /dev/cdc-wdm порт для исследования

Вы не смогли запустить AT-команды через mmcli --command потому что эта операция разрешена только тогда, когда демон ModemManager работает в --debug Режим. Это команда, используемая разработчиками для запуска быстрых проверок модема во время разработки, не поддерживается обычными пользователями.

Вы видите качество сигнала, равное 0, на выходе mmcli, потому что ModemManager имел только один AT-порт для использования (ttyUSB2), и если он был подключен (с PPP), не было никакого способа обновить качество. Если вы используете модем в режиме QMI, вы не будете использовать PPP на всем протяжении TTY.

Отвечая на другой ответ в этом вопросе: ModemManager, конечно, поддерживает поиск качества сигнала в модемах QMI! На самом деле, специальный интерфейс Сигнала (который обеспечивает более подробные значения качества сигнала, такие как специфические элементы технологии доступа) изначально разрабатывался только для самих модемов QMI.

Модем MC7304 использует QMI, Modemmanager не поддерживает уровень сигнала через QMI.

Вместо этого используйте libqmi:

sudo qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
Другие вопросы по тегам