€•˜CŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ7/translations/zh_CN/networking/device_drivers/wwan/iosm”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/zh_TW/networking/device_drivers/wwan/iosm”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/it_IT/networking/device_drivers/wwan/iosm”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ja_JP/networking/device_drivers/wwan/iosm”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ko_KR/networking/device_drivers/wwan/iosm”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/sp_SP/networking/device_drivers/wwan/iosm”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ%SPDX-License-Identifier: GPL-2.0-only”h]”hŒ%SPDX-License-Identifier: GPL-2.0-only”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒQ/var/lib/git/docbuild/linux/Documentation/networking/device_drivers/wwan/iosm.rst”h Kubh¢)”}”(hŒ'Copyright (C) 2020-21 Intel Corporation”h]”hŒ'Copyright (C) 2020-21 Intel Corporation”…””}”hh´sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1h¡hhhžhhŸh³h KubhŒtarget”“”)”}”(hŒ.. _iosm_driver_doc:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œiosm-driver-doc”uh1hÂh KhhhžhhŸh³ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ+IOSM Driver for Intel M.2 PCIe based Modems”h]”hŒ+IOSM Driver for Intel M.2 PCIe based Modems”…””}”(hh×hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhhÒhžhhŸh³h K ubhŒ paragraph”“”)”}”(hX|The IOSM (IPC over Shared Memory) driver is a WWAN PCIe host driver developed for linux or chrome platform for data exchange over PCIe interface between Host platform & Intel M.2 Modem. The driver exposes interface conforming to the MBIM protocol [1]. Any front end application ( eg: Modem Manager) could easily manage the MBIM interface to enable data communication towards WWAN.”h]”hX|The IOSM (IPC over Shared Memory) driver is a WWAN PCIe host driver developed for linux or chrome platform for data exchange over PCIe interface between Host platform & Intel M.2 Modem. The driver exposes interface conforming to the MBIM protocol [1]. Any front end application ( eg: Modem Manager) could easily manage the MBIM interface to enable data communication towards WWAN.”…””}”(hhçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h K hhÒhžhubhÑ)”}”(hhh]”(hÖ)”}”(hŒ Basic usage”h]”hŒ Basic usage”…””}”(hhøhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhhõhžhhŸh³h Kubhæ)”}”(hX/MBIM functions are inactive when unmanaged. The IOSM driver only provides a userspace interface MBIM "WWAN PORT" representing MBIM control channel and does not play any role in managing the functionality. It is the job of a userspace application to detect port enumeration and enable MBIM functionality.”h]”hX3MBIM functions are inactive when unmanaged. The IOSM driver only provides a userspace interface MBIM “WWAN PORT†representing MBIM control channel and does not play any role in managing the functionality. It is the job of a userspace application to detect port enumeration and enable MBIM functionality.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h Khhõhžhubhæ)”}”(hŒzExamples of few such userspace application are: - mbimcli (included with the libmbim [2] library), and - Modem Manager [3]”h]”hŒzExamples of few such userspace application are: - mbimcli (included with the libmbim [2] library), and - Modem Manager [3]”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h Khhõhžhubhæ)”}”(hŒÛManagement Applications to carry out below required actions for establishing MBIM IP session: - open the MBIM control channel - configure network connection settings - connect to network - configure IP network interface”h]”hŒÛManagement Applications to carry out below required actions for establishing MBIM IP session: - open the MBIM control channel - configure network connection settings - connect to network - configure IP network interface”…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h Khhõhžhubeh}”(h]”Œ basic-usage”ah ]”h"]”Œ basic usage”ah$]”h&]”uh1hÐhhÒhžhhŸh³h KubhÑ)”}”(hhh]”(hÖ)”}”(hŒ"Management application development”h]”hŒ"Management application development”…””}”(hj;hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhj8hžhhŸh³h K#ubhæ)”}”(hŒŽThe driver and userspace interfaces are described below. The MBIM protocol is described in [1] Mobile Broadband Interface Model v1.0 Errata-1.”h]”hŒŽThe driver and userspace interfaces are described below. The MBIM protocol is described in [1] Mobile Broadband Interface Model v1.0 Errata-1.”…””}”(hjIhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h K$hj8hžhubhÑ)”}”(hhh]”(hÖ)”}”(hŒ"MBIM control channel userspace ABI”h]”hŒ"MBIM control channel userspace ABI”…””}”(hjZhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhjWhžhhŸh³h K(ubhÑ)”}”(hhh]”(hÖ)”}”(hŒ /dev/wwan0mbim0 character device”h]”hŒ /dev/wwan0mbim0 character device”…””}”(hjkhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhjhhžhhŸh³h K+ubhæ)”}”(hŒôThe driver exposes an MBIM interface to the MBIM function by implementing MBIM WWAN Port. The userspace end of the control channel pipe is a /dev/wwan0mbim0 character device. Application shall use this interface for MBIM protocol communication.”h]”hŒôThe driver exposes an MBIM interface to the MBIM function by implementing MBIM WWAN Port. The userspace end of the control channel pipe is a /dev/wwan0mbim0 character device. Application shall use this interface for MBIM protocol communication.”…””}”(hjyhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h K,hjhhžhubeh}”(h]”Œdev-wwan0mbim0-character-device”ah ]”h"]”Œ /dev/wwan0mbim0 character device”ah$]”h&]”uh1hÐhjWhžhhŸh³h K+ubhÑ)”}”(hhh]”(hÖ)”}”(hŒ Fragmentation”h]”hŒ Fragmentation”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhjhžhhŸh³h K2ubhæ)”}”(hŒ}The userspace application is responsible for all control message fragmentation and defragmentation as per MBIM specification.”h]”hŒ}The userspace application is responsible for all control message fragmentation and defragmentation as per MBIM specification.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h K3hjhžhubeh}”(h]”Œ fragmentation”ah ]”h"]”Œ fragmentation”ah$]”h&]”uh1hÐhjWhžhhŸh³h K2ubhÑ)”}”(hhh]”(hÖ)”}”(hŒ/dev/wwan0mbim0 write()”h]”hŒ/dev/wwan0mbim0 write()”…””}”(hj¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhj¶hžhhŸh³h K7ubhæ)”}”(hŒnThe MBIM control messages from the management application must not exceed the negotiated control message size.”h]”hŒnThe MBIM control messages from the management application must not exceed the negotiated control message size.”…””}”(hjÇhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1håhŸh³h K8hj¶hžhubeh}”(h]”Œdev-wwan0mbim0-write”ah ]”h"]”Œ/dev/wwan0mbim0 write()”ah$]”h&]”uh1hÐhjWhžhhŸh³h K7ubhÑ)”}”(hhh]”(hÖ)”}”(hŒ/dev/wwan0mbim0 read()”h]”hŒ/dev/wwan0mbim0 read()”…””}”(hjàhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÕhjÝhžhhŸh³h K