packages
Skip
to content
» Ubuntu
» Packages
» kinetic (22.10)
» net
» libmbim-utils
- NAME¶
- SYNOPSIS¶
- DESCRIPTION¶
- Commands:¶
- OPTIONS¶
- COPYRIGHT¶
- SEE ALSO¶
- Synopsis
- Description
- Commands
- Options
- Copyright
- See Also
- Info
- Description
- Usage
- Help Options
- Basic Connect options
- Phonebook options
- Device Service Stream options
- Microsoft Firmware ID options
- Microsoft Host Shutdown options
- Microsoft SAR options
- AT&T Device Service options
- Intel Firmware Update Service options
- Microsoft Basic Connect Extensions options
- Quectel options
- Link management options
- Intel Thermal RF Service options
- Microsoft Voice Extensions Service options
- Microsoft UICC Low Level Access Service options
- Intel mutual authentication Service options
- Application Options
- Copyright
- See Also
- Info
- Booting into arch
- Compiling qualcomm gobi drivers
- Configure usb interface
- Connect to your modem
- Connecting using mbim
- Frequencies and antennas
- Inspect the current carrier configuration
- Locking to specific channel/frequency
- Manually configuring using umbim
- Mbim basic types
- Mbim message types
- Removing incompatible drivers
- Setting up linux live environment
- Usb errors when mbim mode is enabled in linux
- Verify your carrier once more
- What is mbim?
- Where do i get it?
- Utilities to use the MBIM protocol from the command line
- Links for libmbim-utils
- Ubuntu Resources:
- Maintainer:
- Original Maintainers (usually from Debian):
- External Resources:
- Similar packages:
- Другие пакеты, относящиеся к libmbim-utils
- MBIM – MBIM – DSD / ScanForce Multi-Bin Basic
- Узнайте больше о Huawei
NAME¶
mbim-network – Simple network management of MBIM devices
SYNOPSIS¶
DESCRIPTION¶
Simple network management of MBIM devices
Commands:¶
- start
- Start network connection
- stop
- Stop network connection
- status
- Query network connection status
OPTIONS¶
- –profile=[PATH]
- Use the profile in the specified path
- –help,
-h - Show help options
- –version
- Show version
- 1) [DEVICE] is given as the full path to the cdc-wdm character device,
e.g.: - /dev/cdc-wdm0
- 2) The mbim-network script requires a profile to work. Unless explicitly
specified with `–profile’, the file is assumed to be available in the
following path: - /etc/mbim-network.conf
- 3) The APN to use should be configured in the profile, in the following
way (e.g. assuming APN is called ‘internet’): - APN=internet
- 4) Optional APN user/password strings may be given in the following
way: - APN_USER=user APN_PASS=password
- 5) If APN user/password is specified, the authentication protocol to use
(one of PAP, CHAP or MSCHAPV2) must also be specified in the following
way: - APN_AUTH=protocol
- 6) If you want to instruct the mbim-network script to use the mbim-proxy
setup, you can do so by configuring the following line in the
profile: - PROXY=yes
- 7) Once the mbim-network script reports a successful connection you still
need to run a DHCP client on the associated WWAN network interface.
COPYRIGHT¶
SEE ALSO¶
The full documentation for mbim-network is maintained as a
Texinfo manual. If the info and mbim-network programs are
properly installed at your site, the command
- info mbim-network
should give you access to the complete manual.
Simple network management of MBIM devices
Synopsis
Description
Simple network management of MBIM devices
Commands
- start
Start network connection
- stop
Stop network connection
- status
Query network connection status
Options
- –profile=[PATH]
Use the profile in the specified path
- –help, -h
Show help options
- –version
7) Once the mbim-network script reports a successful connection you still need to run a DHCP client on the associated WWAN network interface.
Copyright
See Also
The full documentation for mbim-network is maintained as a Texinfo manual. If the info and mbim-network programs are properly installed at your site, the command
should give you access to the complete manual.
Info
January 2023 mbim-network 1.28.2
mbimcli -d /dev/cdc-wdm0 -p --query-subscriber-ready-status [/dev/cdc-wdm0] Subscriber ready status retrieved: Ready state: 'initialized' Subscriber ID: '4600120896123456' SIM ICCID: '89860112345678' Ready info: 'none' Telephone numbers: (1) '+86166'
mbimcli -d /dev/cdc-wdm0 -p --query-radio-state [/dev/cdc-wdm0] Radio state retrieved: Hardware radio state: 'on' Software radio state: 'on'
# mbimcli -d /dev/cdc-wdm0 -p --query-signal-state [/dev/cdc-wdm0] Signal state: RSSI [0-31,99]: '14' Error rate [0-7,99]: '99' Signal strength interval: '5' RSSI threshold: '2' Error rate threshold: 'unspecified'
mbimcli -d /dev/cdc-wdm0 -p --query-registration-state [/dev/cdc-wdm0] Registration status: Network error: 'unknown' Register state: 'home' Register mode: 'automatic' Available data classes: 'custom' Current cellular class: 'gsm' Provider ID: '46001' Provider name: 'CHN-UNICOM' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach'
mbimcli -d /dev/cdc-wdm0 -p --query-ip-configuration [/dev/cdc-wdm0] IPv4 configuration available: 'address, gateway, dns, mtu' IP [0]: '10.2.72.180/29' Gateway: '10.2.72.181' DNS [0]: '218.104.111.122' DNS [1]: '218.106.127.114' MTU: '1400' [/dev/cdc-wdm0] IPv6 configuration available: 'address, gateway, dns, mtu' IP [0]: '2408:843f:ba26:5ab:312a:3c4c:b513:c98e/64' Gateway: '2408:843f:ba26:5ab:3dbc:7e6e:c2b7:3019' DNS [0]: '2408:8888::8' DNS [1]: '2408:8899::8' MTU: '1432'
mbimcli -d /dev/cdc-wdm0 -p --query-packet-service-state [/dev/cdc-wdm0] Packet service status: Network error: 'unknown' Packet service state: 'attached' Available data classes: 'custom' Uplink speed: '1200000000 bps' Downlink speed: '3200000000 bps'
–attach-packet-service Attach to the packet service
–detach-packet-service Detach from the packet service
–connect=
mbimcli -d /dev/cdc-wdm0 -p --query-connection-state [/dev/cdc-wdm0] Connection status: Session ID: '0' Activation state: 'activated' Voice call state: 'none' IP type: 'ipv4v6' Context type: 'internet' Network error: 'unknown'
mbimcli -d /dev/cdc-wdm0 -p --query-packet-statistics [/dev/cdc-wdm0] Packet statistics: Octets (in): '131250057' Packets (in): '184155' Discards (in): '0' Errors (in): '0' Octets (out): '11459167' Packets (out): '111663' Discards (out): '0' Errors (out): '0'
mbim-network /dev/cdc-wdm0 start mbimcli --device=/dev/cdc-wdm0 --device-open-proxy --set-radio-state=on ip addr flush dev wwan0 ip -6 addr flush dev wwan0 ip link set wwan0 up ip addr add 10.2.72.180/29 dev wwan0 broadcast + ip route add default via 10.2.72.181 dev wwan0 ip link set mtu 1400 dev wwan0
断开连接
mmcli -m 0 –simple-disconnect
列出收到的短信
mmcli -m 0 –messaging-list-sms
导出短信
mmcli -s 0 –create-file-with-data=/tmp/sms0.txt
mmcli -m 0 –enable
mmcli -m 0 –simple-disconnect
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-ids 也就是 qmicli -d /dev/cdc-wdm0 -p --dms-get-ids qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-manufacturer qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-model qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wds-get-packet-service-status qmicli --device=/dev/cdc-wdm0 --device-open-proxy --uim-get-card-status
В чём их отличие?
ЕР это с мини писиай, ЕМ это с М.2
Попробовал тут трех операторов моей “домашней” БС на предмет скорости с модулем 7455 (картинок не будет – лень)))
Т2 В3 15 МГц sinr около 20 – скорость нестабильна – в среднем около 30 Мбит, но это плохо для максимальной возможной скорости в 112
агрегации нет – на “домашней” БС нет В7
МТС В7+В3 (10+10) sinr в В3 25дБ, в В7 ниже – около 17, скорость более менее стабильна и доходит до 90 Мбит.
Вариант был бы неплох, но безлимита от МТС у меня нет (и не будет – отношения с этим оператором у меня не сложились.)
Заодно попробовал поймать их В38. Вроде кто то где то ловил их В38 на смарты с В41, и даже скриншоты показывал – но мне с этим модулем не удалось – вообще сигнал от В38 в моей локации очень слабый. Если у кого есть интерес попробовать поймать их В38, то вот такой индекс нужен для создания этого В41 only на 7455
и соответственно, надо его подключить
Би – теста не было. но знаю, что на домашней БС есть только В3 10 Мгц, и на “простом” модеме мне удавалось выжать до 70 Мбит
МФ 7СА 20+20 МГц sinr около 25 дБ – скорость под потолок моего 100 Мбит роутера (90-95 Мбит) держится стабильно. Безусловный лидер. В моей локации :rolleyes:
Так что, результат ожидаем (по крайней мере для меня) – если есть на БС 7+7 от МФ – смело вставляем их симку в модуль, и начинаем выжимать любыми путями качество сигнала в В7 на максимум.
andrew.woronkov,
Нет, первая цифра frequency band У меня на каком-то из опсосов отображается 5,3,3
В пдфке ЕР06, в строке поиска ввести servingcell, там есть расшифровка
Хотя щас посмотрел пдфку и задумался. мож и вправду это номар банда. Завтра буду дома пересмотрю, мож действительно ошибся, если чё звиняйте.
в 3Г тоже работают.
У меня в 3G работают. Если модем работает в диапазоне LTE, то при выполнении USSD команды происходит переключение на 3G.
Вооооообщем так :
Завелся модем в режиме MBIM на компе(В QMI режиме почему-то винда видит сеть но написано “Turned OFF” и кнопки коннект нету). В OpenWRT в режиме MBIM определяет интерфейс и ручками через командную строку смог добиться конекта а вот создать интерфейс который прокидывает IP и создает wwan не получилось. Еще у меня OpenWRT последняя, вроде говорят там QMI поломали, мож из-за этого не получилось в режиме QMI с подсовыванием дров законектить? Ну да ладно, разберемся. А пока тестирование и сравнение скорости HP и 7455 при одинаковых условиях в одинаковых режимах:
Одна симка, один режим, положение модема и антенны одинаковое, агрегация 7+7 (других нет у меня в локации). качество сигнала не очень, да и в винде 3 паки из 5 показывает
7455: Скорость примерно 70-85, скринов не делал, не интересно 🙂
А вот HP:
Скорость 85-105. :clap: Работает QAM256 походу. Плюс чипы новее стоят, возможно чувствительность лучше (хотя на 7455 я увеличил мощность на Band_7):) Вот она 9-ая категория что делает. Прям как по калькулятору прирост процентов 25(если не изменяет память, если ошибся поправьте)
Походу на МТС который под боком агрегацию не завезли, но теперь точно известно что B3 работает. Так что не смотрите на алике описание, все частоты какие есть в ln940 поддерживаются.
Сообщение отредактировал Sankysys – 09.08.20, 01:27
mbim интерфейс завелся автоматом, а вот драйвера на COM-порты не встали, придется ручками(либо в скрипт добавлять), но там одна команда всего так что все норм.
Update: Ну вот и выжал 111, и это на ноутбучные антенны который валяются. Жду конекторы и обжимку, буду антенну делать нормально.
Сообщение отредактировал Sankysys – 09.08.20, 14:51
JekaPDA,
Я натыкался на иностранном форуме где-то. Но там после перезагрузки всё слетало. На микротике там скрипты писали.
Сообщение отредактировал JekaPDA – 09.08.20, 10:08
___Red___, в бэкапе поправил winhex’ом. Причем бэкап определенной прогой. В комплекте программ qpst есть две проги которые бэкап делают, так вот только одна из них срабатывает.
Sankysys,
Первопроходец! :thank_you: Респект и уважуха!!! (ввел во искушение – сижу и ищу на Али LT4220 :yes2: )
По поводу кам256:
Эта технология включается базовой станцией только при условиях:
– при поддержке этой технологии на конкретной БС/диапазоне (тут у МФ лучше всех – практически везде, где есть на БС 7+7 – есть кам256. С другими операторами сложнее – на одной БС может быть, на соседней – нет);
– при определенном уровне качества сигнала – на практике, если sinr > 20 , то можно ожидать включения кам256;
– при активном скачивании большого объема инфо (то есть БС еще подумает, а давать ли тебе кам256 здесь или сейчас)
По поводу qmicli :
Вчера только доставил пару пакетов qmi-utils libqmi и получил возможности qmicli (по умолчанию в openwrt установлена сильно урезанная версия uqmi) и оставил на утро изучение этой утилиты. В итоге, ничего сногсшибательного – практически все можно делать АТ командами.
Сделал себе такую выборку команд
qmicli -d /dev/cdc-wdm0 -p // “префикс” команды
–nas-get-operator-name // тоже в принципе не очень надо – только если забыли, какую симку вставили )))
–nas-get-system-selection-preference // только здесь видно заданные сейчас в модуле диапазоны LTE band preference: ‘3, 7’
–nas-network-scan // сканирование наличия сотовых операторов в эфире
–nas-get-cell-location-info // самая полная инфо по текущему подключению, аналогична AT!LTEINFO? 7455
–nas-get-lte-cphy-ca-info // текущее состояние агрегации , аналогична AT!GSTATUS? 7455
–nas-swi-get-status // а здесь видна температура модуля
–wds-get-packet-statistics // можно снимать текущую инфо по скачанным пакетам/байтам
Сообщение отредактировал andrew.woronkov – 09.08.20, 10:01
Его лучше всего использовать для мониторинга состояния модема. Здоровье, сигнал.
Я уже говорил, что модем частые ат команды не любит.
Я сегодня ещё и ком порты завел, и at команды поотправлял. Такую же схему и на Rooter и OpenWRT делать нужно. Там всего одна команда и все порты находятся.
Снижать цену вряд-ли. А вот повышать категорию 😂😂😂
Сат16 за 3700руб.
Он на интеле, IMEI фиг знает как менять, инфы очень мало по интелам да прог. На Qualcomm хоть инфа разная есть, можно что-то сделать. А так если нормальная модемная симка, то почему бы и нет. Заводили на таком же чипсете только версией по младше . Да и у Sierra вроде есть на интеле из такой серии. Но проблема мне его тестировать не на чем. Мне HP модема сейчас за глаза, да и 3ой агрегации нет у меня.
Можно подробнее, как это делается?
Чуть позже накидаю инструкцию. А пока ищите как на Qualcomm имей меняют в qcn файле. В двух словах, нужно qcn слить с модема, нужный имей разбить на пары , перевернуть цифры местами, записать winhexом, залить обратно qcn. Но qcn сливается и заливается только через qfil. Другие проги которые могут заливать qcn не срабатывают.
Сообщение отредактировал Sankysys – 09.08.20, 12:03
Подскажите. Какой командой тормознуть работу интернета?
через qmi смотри параметр –wds-stop-network, а так интерфейс стопни на котором инет
А если интерфейс остановить, тогда его автоподключение нужно отключить. Попробуй все-таки просто интерфейс модема остановить.
Сообщение отредактировал JekaPDA – 09.08.20, 15:37
Нажал на это и модем пропал. Только перетекать вручную. Нафиг эксперименты. Удалите ваши советы плиз.
Сообщение отредактировал ipnev83 – 09.08.20, 15:47
его так-же и запустить можно
Не реагирует на connect. Вообще никак.
Control MBIM devices
Description
Usage
Help Options
- -h, –help
Show help options
- –help-all
Show all help options
- –help-basic-connect
Show Basic Connect Service options
- –help-phonebook
Show Phonebook Service options
- –help-dss
Show Device Service Stream options
- –help-ms-firmware-id
Show Microsoft Firmware ID Service options
- –help-ms-host-shutdown
Show Microsoft Host Shutdown Service options
- –help-ms-sar
Show Microsoft SAR Service options
- –help-atds
Show AT&T Device Service options
- –help-intel-firmware-update
Show Intel Firmware Update Service options
- –help-ms-basic-connect-extensions
Show Microsoft Basic Connect Extensions Service options
- –help-quectel
Show Quectel Service options
- –help-link-management
Show link management specific options
- –help-intel-thermal-rf
Show Intel Thermal RF Service options
- –help-ms-voice-extensions
Show Microsoft Voice Extensions Service options
- –help-ms-uicc-low-level-access
Show Microsoft UICC Low Level Access Service options
- –help-intel-mutual-authentication
Show Intel mutual authentication Service options
- –help-intel-tools
Show Intel 5G tools options
Basic Connect options
- –query-device-caps
Query device capabilities
- –query-subscriber-ready-status
Query subscriber ready status
- –query-radio-state
Query radio state
- –set-radio-state=[(on|off)]
Set radio state
- –query-device-services
Query device services
- –query-pin-state
Query PIN state
- –enter-pin=[(PIN type),(current PIN)]
Enter PIN (PIN type is optional, defaults to PIN1, allowed options: (pin1,network-pin,network-subset-pin,service-provider-pin,corporate-pin)
- –change-pin=[(current PIN),(new PIN)]
- –enable-pin=[(current PIN)]
- –disable-pin=[(PIN type),(current PIN)]
Disable PIN (PIN type is optional, see enter-pin for details)
- –enter-puk=[(PUK type),(PUK),(new PIN)]
Enter PUK (PUK type is optional, defaults to PUK1, allowed options: (puk1,network-puk,network-subset-puk,service-provider-puk,corporate-puk)
- –query-pin-list
Query PIN list
- –query-home-provider
Query home provider
- –query-preferred-providers
Query preferred providers
- –query-visible-providers
Query visible providers
- –query-registration-state
Query registration state
- –register-automatic
Launch automatic registration
- –query-signal-state
Query signal state
- –query-packet-service-state
Query packet service state
- –attach-packet-service
Attach to the packet service
- –detach-packet-service
Detach from the packet service
- –query-connection-state=[SessionID]
Query connection state (SessionID is optional, defaults to 0)
- –connect=[“key=value,…”]
- –query-ip-configuration=[SessionID]
Query IP configuration (SessionID is optional, defaults to 0)
- –disconnect=[SessionID]
Disconnect (SessionID is optional, defaults to 0)
- –query-packet-statistics
Query packet statistics
- –query-ip-packet-filters=[SessionID]
Query IP packet filters (SessionID is optional, defaults to 0)
- –set-ip-packet-filters=[“key=value,…”]
Set IP packet filters (allowed keys: session-id, packet-filter, packet-mask, filter-id)
- –query-provisioned-contexts
Query provisioned contexts
- –set-provisioned-contexts=[“key=value,…”]
- –set-signal-state=[“key=value,…”]
Set signal state (allowed keys: signal-strength-interval, rssi-threshold, error-rate-threshold)
- –set-network-idle-hint=[(enabled|disabled)]
Set network idle hint
- –query-network-idle-hint
Query network idle hint
- –set-emergency-mode=[(on|off)]
Set emergency mode
- –query-emergency-mode
Query emergency mode
- –set-service-activation=[Data]
Set service activation
Phonebook options
- –phonebook-query-configuration
Query the phonebook configuration
- –phonebook-read=[(Phonebook index)]
Read phonebook entry with given index
- –phonebook-read-all
Read all phonebook entries
- –phonebook-write=[(Name),(Number)[,(Index)]]
Add new phonebook entry or update an existing one
- –phonebook-delete=[(Phonebook index)]
Delete phonebook entry with given index
- –phonebook-delete-all
Delete all phonebook entries
Device Service Stream options
- –dss-connect=[(UUID),(Session ID)]
Connect DSS session
- –dss-disconnect=[(UUID),(Session ID)]
Disconnect DSS session
Microsoft Firmware ID options
- –ms-query-firmware-id
Query firmware ID
Microsoft Host Shutdown options
- –ms-notify-host-shutdown
Notify that host is shutting down
Microsoft SAR options
- –ms-set-sar-config=[(device|os),(enabled|disabled)[,[{antenna_index,backoff_index}…]]]
Set SAR config
- –ms-query-sar-config
Query SAR config
- –ms-set-transmission-status=[(enabled|disabled),(timer)]
Set transmission status and hysteresis timer (in seconds)
- –ms-query-transmission-status
Query transmission status
AT&T Device Service options
- –atds-query-signal
Query signal info
- –atds-query-location
Query cell location
Intel Firmware Update Service options
- –intel-modem-reboot=[(Boot Mode),(Timeout)]
Reboot modem. Boot mode and timeout arguments only required if MBIMEx >= 2.0.
Microsoft Basic Connect Extensions options
- –ms-query-pco=[SessionID]
Query PCO value (SessionID is optional, defaults to 0)
- –ms-query-lte-attach-configuration
Query LTE attach configuration
- –ms-query-lte-attach-info
Query LTE attach status information
- –ms-query-sys-caps
Query system capabilities
- –ms-query-device-caps
Query device capabilities
- –ms-query-slot-info-status=[SlotIndex]
Query slot information status
- –ms-set-device-slot-mappings=[(SlotIndex)[,(SlotIndex)[,…]]]
Set device slot mappings for each executor
- –ms-query-device-slot-mappings
Query device slot mappings
- –ms-query-location-info-status
Query location info status
- –ms-set-provisioned-contexts=[“key=value,…”]
- –ms-query-provisioned-contexts
Query provisioned contexts
- –ms-query-base-stations-info
Query base stations info
- –ms-query-version=[(MBIM version),(MBIM extended version)]
Exchange supported version information. Since MBIMEx v2.0.
- –ms-query-registration-parameters
Query registration parameters. Since MBIMEx v3.0.
- –ms-set-registration-parameters=[“key=value,…”]
Set registration parameters (required keys: mico-mode, drx-cycle, ladn-info, default-pdu-activation-hint, re-register-if-needed). Since MBIMEx v3.0.
- –ms-query-modem-configuration
Query modem configuration. Since MBIMEx v3.0.
- –ms-query-wake-reason
Query wake reason. Since MBIMEx v3.0.
Quectel options
- –quectel-query-radio-state
Query radio state
- –quectel-set-radio-state=[(on)]
Set radio state
Link management options
- –link-list=[IFACE]
List links created from a given interface
- –link-add=[iface=IFACE,prefix=PREFIX[,session-id=N]]
Create new network interface link
- –link-delete=IFACE
Delete a given network interface link
- –link-delete-all=[IFACE]
Delete all network interface links from the given interface
Intel Thermal RF Service options
- –intel-query-rfim
Query RFIM frequency information
- –intel-set-rfim=[(on|off)]
Enable or disable RFIM (disabled by default)
Microsoft Voice Extensions Service options
- –ms-query-nitz
Query network identity and time zone
Microsoft UICC Low Level Access Service options
- –ms-query-uicc-application-list
Query UICC application list
- –ms-query-uicc-file-status=[“key=value,…”]
Query UICC file status (allowed keys: application-id, file-path)
- –ms-query-uicc-read-binary=[“key=value,…”]
Read UICC binary file (allowed keys: application-id, file-path, read-offset, read-size, local-pin and data)
- –ms-query-uicc-read-record=[“key=value,…”]
Read UICC record file (allowed keys: application-id, file-path, record-number, local-pin and data)
- –ms-set-uicc-open-channel=[“key=value,…”]
Set UICC open channel (allowed keys: application-id, selectp2arg, channel-group)
- –ms-set-uicc-close-channel=[“key=value,…”]
Set UICC close channel (allowed keys: channel, channel-group)
- –ms-query-uicc-atr
Query UICC atr
- –ms-set-uicc-apdu=[“key=value,…”]
Set UICC apdu (allowed keys: channel, secure-message, classbyte-type, command)
- –ms-set-uicc-reset=[(Pass Through Action)]
Set UICC reset
- –ms-query-uicc-reset
Query UICC reset
- –ms-set-uicc-terminal-capability=[“key=value,…”]
Set UICC terminal capability (allowed keys: terminal-capability)
- –ms-query-uicc-terminal-capability
Query UICC terminal capability
Intel mutual authentication Service options
- –query-fcc-lock
Query FCC lock information
- –set-fcc-lock=[(ResponsePresent),(Response)]
Set FCC lock information
Intel 5G tools options
- –set-trace-config=[(TraceCmd)|(TraceValue)]
Set trace configuration
- –query-trace-config=[(TraceCmd)]
Query trace configuration
Application Options
- -d, –device=[PATH]
Specify device path
- -p, –device-open-proxy
Request to use the ‘mbim-proxy’ proxy
- –device-open-ms-mbimex-v2
Request to enable Microsoft MBIMEx v2.0 support
- –device-open-ms-mbimex-v3
Request to enable Microsoft MBIMEx v3.0 support
- –no-open=[Transaction ID]
Do not explicitly open the MBIM device before running the command
- –no-close
Do not close the MBIM device after running the command
- –noop
Don’t run any command
- -v, –verbose
Run action with verbose logs, including the debug ones
- –verbose-full
Run action with verbose logs, including the debug ones and personal info
- –silent
Run action with no logs; not even the error/warning ones
- -V, –version
Copyright
See Also
The full documentation for mbimcli is maintained as a Texinfo manual. If the info and mbimcli programs are properly installed at your site, the command
should give you access to the complete manual.
Info
January 2023 mbimcli 1.28.2
Booting into arch
Arch’s Grub uses port speed 38400 so switch your terminal emulator accordingly
To boot into the live environment, at the Grub boot prompt press TAB and append console=ttyS0,38400 to the kernel commandline as described in the Arch wiki articleWorking with the serial console. Log in as root
Compiling qualcomm gobi drivers
The software provided by Sierra for flashing this modem requires the Qualcomm Gobi drivers. Sierra calls these the Linux Drivers QMI Software
First, download and unpack the drivers:
Configure usb interface
We need to ensure no MBIM interface is enabled for Linux to see our modem correctly. First, check the current setting:
AT!UDUSBCOMP?
!UDUSBCOMP: 14
OK
List the settings to see what this maps to:
AT!UDUSBCOMP=?
0 - reserved NOT SUPPORTED
1 - DM AT SUPPORTED
2 - reserved NOT SUPPORTED
3 - reserved NOT SUPPORTED
4 - reserved NOT SUPPORTED
5 - reserved NOT SUPPORTED
6 - DM NMEA AT QMI SUPPORTED
7 - DM NMEA AT RMNET1 RMNET2 RMNET3 SUPPORTED
8 - DM NMEA AT MBIM SUPPORTED
9 - MBIM SUPPORTED
10 - NMEA MBIM SUPPORTED
11 - DM MBIM SUPPORTED
12 - DM NMEA MBIM SUPPORTED
13 - Config1: comp6 Config2: comp8 NOT SUPPORTED
14 - Config1: comp6 Config2: comp9 SUPPORTED
15 - Config1: comp6 Config2: comp10 NOT SUPPORTED
16 - Config1: comp6 Config2: comp11 NOT SUPPORTED
17 - Config1: comp6 Config2: comp12 NOT SUPPORTED
18 - Config1: comp7 Config2: comp8 NOT SUPPORTED
19 - Config1: comp7 Config2: comp9 SUPPORTED
20 - Config1: comp7 Config2: comp10 NOT SUPPORTED
21 - Config1: comp7 Config2: comp11 NOT SUPPORTED
22 - Config1: comp7 Config2: comp12 NOT SUPPORTED
OK
In the case above, 14 maps to configs 6 and 9. To do the flash in Linux, we need the AT and QMI interfaces which is 6 but we dont want the MBIM interface in 9.
Caution: ensure you do not set this to an interface without AT – this may lock you out of the modem
Set the USB interface to config number 6:
AT!UDUSBCOMP=6
OK
From here, we should be good to start with the Linux half
Connect to your modem
First, verify your modem was found:
# dmesg | less
Look for something like this:
u3g0: <vendor 0x1199 MC7355, class 0/0, rev 2.00/0.06, addr 3> on usbus1
u3g0: Found 4 ports.
The driver will create four USB-serial ports
# ls /dev/cuaU*[0-9]
/dev/cuaU0.0 /dev/cuaU0.1 /dev/cuaU0.2 /dev/cuaU0.3
The port for AT commands is usually on cuaU0.1 or cuaU0.2. Try an AT command with each, pressing ~. to exit
the session
# cu -l /dev/cuaU0.1
Connected
AT
OK
Connecting using mbim
You should now be able to connect. For testing this on Debian/Ubuntu you can install libqmi-utils:
sudo apt install libmbim-utils
It seems that many people experience intermittent disconnections with the MC7455. I’ve seen this happen myself and the GoldenOrb ROOter firmware has a nice feature for detecting these disconnects and re-connecting automatically. You have to enable this feature using the web UI. Remember to specify the IP to ping, otherwise it won’t work.
For OpenWRT you could write a simple scripts that pings some server and then reboots or re-initializes the modem when pings begin failing. Or maybe you could look at how it’s done in GoldebOrb ROOter.
Some have reported that the newer and faster EM7565 modem doesn’t suffer from these disconnection issues but I have not tested this.
Here are some pasted errors to help Googlers to reach this page
Frequencies and antennas
You will also need two antennas, or a single MIMO antenna. The frequencies used by Sprint in my area are:
- 25: 1850 to 1995 MHz (FDD-LTE)
- 26: 814 to 894 MHz (FDD-LTE)
- 41: 2496 to 2690 MHz (TDD-LTE)
If you want to help, or sponsor further development in libmbim, mbimcli or the ModemManager integration, just let me know!
Inspect the current carrier configuration
Before proceeding, we need to check the current carrier to see whether we really need to do a flash
AT!GOBIIMPREF?
!GOBIIMPREF:
preferred fw version: 01.08.16.05
preferred carrier name: VZW
preferred config name: VZW_000.036_000
current fw version: 01.08.16.05
current carrier name: VZW
current config name: VZW_000.036_000
OK
In this case, I want Sprint. Let’s see if a Sprint config is loaded that we can choose:
AT!PRIID?
PRI Part Number: 9902812
Revision: 01.07
Carrier PRI: 9999999_9902266_SWI9X15C_01.08.16.05_00_VZW_000.036_000
If our preferred carrier appeared here, we could switch to it with this command (note how the string above maps to the
three fields):
AT!GOBIIMPREF="01.08.16.05","VZW","VZW_000.036_000"
Since it doesn’t map, we’ll need to continue
For this step, we need to access the modem’s USB Serial interface. This will allow us to use modem AT Commands to inspect
the current configuration and turn off MBIM mode which prevents the modem from being discovered in Linux. Since Linux wont
(AFAICT) recognize the modem in this state, we need to rely on FreeBSD’s u3g driver.
The ‘libmbim‘ library is an attempt to write a protocol support library, as previously done with ‘libqmi‘.
The current codebase, GLib/GObject/GIO based, is pretty similar to what libqmi provided, with a ‘MbimDevice‘ GObject to handle the communication through the /dev/cdc-wdm port, as well as ‘MbimMessage‘ types to handle the creation of commands.
Given that there is no need for client allocations in MBIM, there is no ‘MbimClient‘ object needed. Also, given that the contents of each message are pre-defined, it wasn’t considered the need of input and output ‘bundles’ to handle collections of TLVs, as done in libqmi.
Locking to specific channel/frequency
TODO There is a way to force the modem to only use specified channels using AT commands. This could be useful if some channels are more crowded than others or if you have an antenna which doesn’t work well for some channels.
Manually configuring using umbim
OpenWRT does have a utility for mbim called umbim. You can install it using:
opkg update
opkg install umbim
If you want to use it on a non-openwrt system you can compile it like so:
Mbim basic types
The protocol not only defines which action is supported in each command; it also defines the contents of the request, response and indication messages. The contents of each message are composed of collections of basic types defined by the protocol:
- Unsigned 32bit integers: Even for the most simple values (e.g. booleans), little-endian 32 bit unsigned integers are used.
- Strings: UTF-16LE encoded strings are always used.
- UUIDs: The protocol defines a special 16-byte-long UUID type, e.g. to define Service IDs
- Arrays: Collection of N values of a given basic type.
- Structs: Sequence of other basic types, given in a specific order.
As you can see, there is not much effort (none, actually) into making the protocol efficient in terms of overhead introduced; more than half of the bytes in each message will very likely end up being NUL bytes. Also, it is assured that each field within a message is aligned in a 32bit boundary, which makes it easier to read independent fields directly from the binary stream.
For each service, MBIM defines a set of Commands (CIDs); and each command can then be divided into 3 actions:
Not every action is supported by every command. For example, the “Device Caps” command in the “Basic Connect” service only supports the “Query” action, while the “Radio State” command of the same service supports all “Set“, “Query” and “Notification“.
But how does this match with the message types defined before?
- Host-created “” and “” requests are sent using ““.
- Modem-created “” and “” responses are sent using “Command Done Messages“.
- Modem-created “” are sent using ““.
Mbim message types
The protocol defines different message types with different formats.
Some of them are used to establish the channel of communication with the modem:
- (Host->Modem): Initialization request.
- Open Done Message (Host<-Modem): Initialization response.
- (Host->Modem): Close request.
- Close Done Message (Host<-Modem): Close response.
Some of the messages are used to report errors in the protocol; which may be sent either from the host or from the modem:
- Host Error Message (Host->Modem): Host-reported error.
- Modem Error Message (Host<-Modem): Modem-reported error.
And finally, some messages provide access to the different CIDs (Command IDs) defined in each Service.
The protocol defines a basic set of different Services:
- : Which provides the support for basic IP connectivity
- : SMS messaging
- : Unstructured Supplementary Service Data
- : Handling contacts and such
- : SIM toolkit
- Device Service Stream
Only the Basic Connect one is mandatory in every MBIM device; others are optional. Vendors or even Network Operators can also extend the functionality of the device with other services; for example to support other protocols embedded within MBIM (e.g. QMI or AT within MBIM); or just to provide specific new features.
The project comes with a command line utility (mbimcli), which allows (will allow) running “Get” or “Set” commands directly from the shell. There aren’t many supported commands yet, so I cannot show many more examples than this one:
$ sudo mbimcli -d /dev/cdc-wdm1 –basic-connect-query-subscriber-ready-status
Hint: Using –verbose will show you the raw binary message contents!
These procedures are specific to the setup I had to perform this on. Most notably, the only system I had with a mini-PCI-e
slot was the target pfSense system, a PCengines APU1d with no VGA port (serial console only). If you’re able to obtain a
USB-to-mini-PCI-e adapter, performing this flash will likely be much easier (perhaps even allowing you to use Windows in a VM).
System: PCenginesAPU1dLive USB: FreeBSD (i386 memstick installer)
Live USB: Arch linuxModem: Sierra MC7355, with Panasonic SKU (1101888)
Also used: Null modem adapter with USB-to-serial plugged into a spare machine
Two USB sticks
OpenWRT doesn’t seem to have complete official support for MBIM/QMI modems. An updated (as of late 2022) patch-set that uses ModemManager is available here. The problem with this solution (and why it will probably not get merged) is that it requires DBus rather than ubus.
The other option is to use the GoldenOrb ROOter firmware which automates everything via a nice web UI, but then you’re no longer running stock OpenWRT.
For now it just doesn’t seem that MBIM and QMI is well-integrated into OpenWRT, but I could be wrong. It could be that it’s simply not documented. The only mention seems to be here. For QMI, using the uqmi utility manually is documented here but it doesn’t seem to be integrated into uci or ubus.
The Sierra MC7355 can run configurations for several North American carriers. These cards are easy to find on eBay
and notable for their support for the Sprint LTE network. Unless you’re luck out, you may find you need to flash a new
carrier configuration onto the card you purchased before using it.
Removing incompatible drivers
- qcserial
- qmi_wwan
- usb_wwan
- cdc_mbim
- cdc_wdm
- cdc_ncm
- sierra
- sierra_net
Setting up linux live environment
To complete this we need a live linux environment with a serial console. For this I used an Arch installer. If using Arch, a second USB or system drive will be necessary as the live install’s root partition is not big enough for the compile dependencies. If another live distro is chosen, the requirements are:
- Boots with a serial console (minimum: grub configured on serial console)
- Ability to compile kernel modules (basic compiler tools, linux headers)
For troubleshooting modem configuration, I recommend this guide.
Usb errors when mbim mode is enabled in linux
Having an MBIM config (or maybe it’s just any multi-config UDUSBCOMP value?) makes Linux USB angry, causing the modem’s
Serial devices to not work
[ 484.038683] usb 3-1.3: config 1 has an invalid interface number: 8 but max is 3
[ 484.038693] usb 3-1.3: config 1 has no interface number 1
[ 484.039172] usb 3-1.3: config 2 has an invalid interface number: 12 but max is 1
[ 484.039181] usb 3-1.3: config 2 has an invalid interface number: 13 but max is 1
[ 484.039189] usb 3-1.3: config 2 has an invalid interface number: 13 but max is 1
[ 484.039196] usb 3-1.3: config 2 has no interface number 0
[ 484.039203] usb 3-1.3: config 2 has no interface number 1
Verify your carrier once more
# pacman -S uucp
# cu -l /dev/ttyUSB2 # or ttyUSB1, varies
Connected.
AT
OK
AT!ENTERCND="A710"
OK
AT!GOBIIMPREF?
!GOBIIMPREF:
preferred fw version: 05.05.63.01
preferred carrier name: SPRINT
preferred config name: SPRINT_005.037_000
current fw version: 05.05.63.01
current carrier name: SPRINT
current config name: SPRINT_005.037_000
OK
What is mbim?
The Mobile Interface Broadband Model (MBIM) is a new standard developed by the USB Implementers Forum, specifically designed for high speed mobile broadband modem devices.
This new USB networking subclass defines two separate new features:
- A new MBIM USB device model, providing multiple IP connections over a single USB interface, and without the need of 802.3 frames (as was the case with ECM and NCM)
- A new MBIM control protocol to talk to modem devices
Where do i get it?
The ‘libmbim’ library and the ‘mbimcli’ utility are managed in FreeDesktop.org:
Utilities to use the MBIM protocol from the command line
libmbim is a glib-based library for talking to WWAN modems and devices
which speak the Mobile Interface Broadband Model (MBIM) protocol.
This package contains the utilities that make it easier to use MBIM
functionality from the command line.
Links for libmbim-utils
Ubuntu Resources:
Download Source Package libmbim:
Maintainer:
- Ubuntu Developers
(Mail Archive)
Please consider filing a bug or asking a question via Launchpad before contacting the maintainer directly.
Original Maintainers (usually from Debian):
- DebianOnMobile Maintainers
- Arnaud Ferraris
- Guido Günther
- Henry-Nicolas Tourneur
- Martin
External Resources:
Similar packages:
Другие пакеты, относящиеся к libmbim-utils
- libc6
(>= 2.34)
[не alpha, ia64, sh4, sparc64] - библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый
- libc6
(>= 2.36)
[sh4]
- libc6
(>= 2.7)
[sparc64]
- libc6
- libc6.1
(>= 2.34)
[alpha] - библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый
- libc6.1
(>= 2.36)
[ia64]
- libc6.1
- libglib2.0-0
(>= 2.56) - библиотека С-функций
- libglib2.0-0
- libmbim-glib4
(>= 1.26.2)
[sparc64] - библиотека для работы с протоколом MBIM
- libmbim-glib4
(>= 1.28.0)
[не sparc64]
- libmbim-glib4
- libmbim-proxy
- прокси для работы с MBIM-портами
MBIM – MBIM – DSD / ScanForce Multi-Bin Basic
DSD/ScanForce Multi-Bin
Have questions about this module? We’re here to help.
Call (858) 550-5900
- Description
- All Versions
- PRICING
- VIDEOS
The DSD / ScanForce Multi-Bin Management Module provides advanced features for warehouse inventory management in Sage 100.
Multi-Bin Inventory Management features include:
- Enable Multi-Bin inventory by Warehouse Code, Product Line, or Item Code
- Set customer or item specific restrictions based on Bin Location
- Perform On-The-Fly bin location transfers
- Easily setup multi-bin inventory with initial bin transfer
- Maintain a structure and segments for bin locations
- Choose to sort bin locations alphabetically or based on an alternate sort method
- Auto-Generate Bin locations
- Define various location types for bin locations
- Set minimum and maximum location quantities for bins
NOTE: Work Order integration is not included with the Multi-Bin Basic Product. If the Work Order Module is activated and Multi-Bin is activated, you must purchase MBWO.
The DSD / ScanForce Multi-Bin Advanced Module provides advanced features for warehouse inventory management in Sage 100.
Multi-Bin Inventory Management features include:
- Enable Multi-Bin inventory by Warehouse Code, Product Line, or Item Code
- Set Allocation Options based on the data entry type
- Set customer or item specific restrictions based on Bin Location
- Perform On-The-Fly bin location transfers
- Perform auto-allocations during picking sheet printing
- Easily setup multi-bin inventory with initial bin transfer
- Maintain a structure and segments for bin locations
- Choose to sort bin locations alphabetically or based on an alternate sort method
- Maintain Lot/Serial Expiration Dates
- Auto-Generate Bin locations
- Define various location types for bin locations
- Set minimum and maximum location quantities for bins
- Perform auto-allocations during data entry
Multi-Bin Management Sage 100 ERP Enhancements Brochure – DOWNLOAD HERE
Download the installer below.