sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget7/translations/zh_CN/networking/device_drivers/wwan/t7xxmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/zh_TW/networking/device_drivers/wwan/t7xxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/it_IT/networking/device_drivers/wwan/t7xxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ja_JP/networking/device_drivers/wwan/t7xxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ko_KR/networking/device_drivers/wwan/t7xxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/sp_SP/networking/device_drivers/wwan/t7xxmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h%SPDX-License-Identifier: GPL-2.0-onlyh]h%SPDX-License-Identifier: GPL-2.0-only}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhQ/var/lib/git/docbuild/linux/Documentation/networking/device_drivers/wwan/t7xx.rsthKubh)}(h'Copyright (C) 2020-21 Intel Corporationh]h'Copyright (C) 2020-21 Intel Corporation}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhtarget)}(h.. _t7xx_driver_doc:h]h}(h]h ]h"]h$]h&]refidt7xx-driver-docuh1hhKhhhhhhubhsection)}(hhh](htitle)}(h,t7xx driver for MTK PCIe based T700 5G modemh]h,t7xx driver for MTK PCIe based T700 5G modem}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hXThe t7xx driver is a WWAN PCIe host driver developed for linux or Chrome OS platforms for data exchange over PCIe interface between Host platform & MediaTek's T700 5G modem. The driver exposes an interface conforming to the MBIM protocol [1]. Any front end application (e.g. Modem Manager) could easily manage the MBIM interface to enable data communication towards WWAN. The driver also provides an interface to interact with the MediaTek's modem via AT commands.h]hXThe t7xx driver is a WWAN PCIe host driver developed for linux or Chrome OS platforms for data exchange over PCIe interface between Host platform & MediaTek’s T700 5G modem. The driver exposes an interface conforming to the MBIM protocol [1]. Any front end application (e.g. Modem Manager) could easily manage the MBIM interface to enable data communication towards WWAN. The driver also provides an interface to interact with the MediaTek’s modem via AT commands.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hhh](h)}(h Basic usageh]h Basic usage}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hX6MBIM & AT functions are inactive when unmanaged. The t7xx driver provides WWAN port userspace interfaces representing MBIM & AT control channels and does not play any role in managing their functionality. It is the job of a userspace application to detect port enumeration and enable MBIM & AT functionalities.h]hX6MBIM & AT functions are inactive when unmanaged. The t7xx driver provides WWAN port userspace interfaces representing MBIM & AT control channels and does not play any role in managing their functionality. It is the job of a userspace application to detect port enumeration and enable MBIM & AT functionalities.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h0Examples of few such userspace applications are:h]h0Examples of few such userspace applications are:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh bullet_list)}(hhh](h list_item)}(h4mbimcli (included with the libmbim [2] library), andh]h)}(hj+h]h4mbimcli (included with the libmbim [2] library), and}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj)ubah}(h]h ]h"]h$]h&]uh1j'hj$hhhhhNubj()}(hModem Manager [3] h]h)}(hModem Manager [3]h]hModem Manager [3]}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1j'hj$hhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1j"hhhKhhhhubh)}(h]Management Applications to carry out below required actions for establishing MBIM IP session:h]h]Management Applications to carry out below required actions for establishing MBIM IP session:}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubj#)}(hhh](j()}(hopen the MBIM control channelh]h)}(hjsh]hopen the MBIM control channel}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjqubah}(h]h ]h"]h$]h&]uh1j'hjnhhhhhNubj()}(h%configure network connection settingsh]h)}(hjh]h%configure network connection settings}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1j'hjnhhhhhNubj()}(hconnect to networkh]h)}(hjh]hconnect to network}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1j'hjnhhhhhNubj()}(hconfigure IP network interface h]h)}(hconfigure IP network interfaceh]hconfigure IP network interface}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1j'hjnhhhhhNubeh}(h]h ]h"]h$]h&]j^j_uh1j"hhhK!hhhhubh)}(hhManagement Applications to carry out below required actions for send an AT command and receive response:h]hhManagement Applications to carry out below required actions for send an AT command and receive response:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hhhhubj#)}(hhh]j()}(hEopen the AT control channel using a UART tool or a special user tool h]h)}(hDopen the AT control channel using a UART tool or a special user toolh]hDopen the AT control channel using a UART tool or a special user tool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j'hjhhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhK)hhhhubeh}(h] basic-usageah ]h"] basic usageah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hSysfsh]hSysfs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK,ubh)}(h2The driver provides sysfs interfaces to userspace.h]h2The driver provides sysfs interfaces to userspace.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hj hhubh)}(hhh](h)}(h t7xx_modeh]h t7xx_mode}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj*hhhhhK0ubh)}(hyThe sysfs interface provides userspace with access to the device mode, this interface supports read and write operations.h]hyThe sysfs interface provides userspace with access to the device mode, this interface supports read and write operations.}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hj*hhubh)}(h Device mode:h]h Device mode:}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK4hj*hhubj#)}(hhh](j()}(h4``unknown`` represents that device in unknown statush]h)}(hj\h](hliteral)}(h ``unknown``h]hunknown}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jahj^ubh) represents that device in unknown status}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK6hjZubah}(h]h ]h"]h$]h&]uh1j'hjWhhhhhNubj()}(h0``ready`` represents that device in ready statush]h)}(hjh](jb)}(h ``ready``h]hready}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh' represents that device in ready status}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1j'hjWhhhhhNubj()}(h0``reset`` represents that device in reset statush]h)}(hjh](jb)}(h ``reset``h]hreset}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh' represents that device in reset status}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK8hjubah}(h]h ]h"]h$]h&]uh1j'hjWhhhhhNubj()}(hJ``fastboot_switching`` represents that device in fastboot switching statush]h)}(hjh](jb)}(h``fastboot_switching``h]hfastboot_switching}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh4 represents that device in fastboot switching status}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1j'hjWhhhhhNubj()}(hH``fastboot_download`` represents that device in fastboot download statush]h)}(hjh](jb)}(h``fastboot_download``h]hfastboot_download}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh3 represents that device in fastboot download status}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1j'hjWhhhhhNubj()}(hA``fastboot_dump`` represents that device in fastboot dump status h]h)}(h@``fastboot_dump`` represents that device in fastboot dump statush](jb)}(h``fastboot_dump``h]h fastboot_dump}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh/ represents that device in fastboot dump status}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1j'hjWhhhhhNubeh}(h]h ]h"]h$]h&]j^j_uh1j"hhhK6hj*hhubh)}(h3Read from userspace to get the current device mode.h]h3Read from userspace to get the current device mode.}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hj*hhubhdefinition_list)}(hhh]hdefinition_list_item)}(h/:: $ cat /sys/bus/pci/devices/${bdf}/t7xx_mode h](hterm)}(h::h]h::}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jZhhhK@hjVubh definition)}(hhh]h)}(h+$ cat /sys/bus/pci/devices/${bdf}/t7xx_modeh]h+$ cat /sys/bus/pci/devices/${bdf}/t7xx_mode}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjlubah}(h]h ]h"]h$]h&]uh1jjhjVubeh}(h]h ]h"]h$]h&]uh1jThhhK@hjQubah}(h]h ]h"]h$]h&]uh1jOhj*hhhhhNubh)}(h,Write from userspace to set the device mode.h]h,Write from userspace to set the device mode.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj*hhubjP)}(hhh]jU)}(hE:: $ echo fastboot_switching > /sys/bus/pci/devices/${bdf}/t7xx_mode h](j[)}(h::h]h::}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhhhKEhjubjk)}(hhh]h)}(hA$ echo fastboot_switching > /sys/bus/pci/devices/${bdf}/t7xx_modeh]hA$ echo fastboot_switching > /sys/bus/pci/devices/${bdf}/t7xx_mode}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jjhjubeh}(h]h ]h"]h$]h&]uh1jThhhKEhjubah}(h]h ]h"]h$]h&]uh1jOhj*hhhhhNubeh}(h] t7xx-modeah ]h"] t7xx_modeah$]h&]uh1hhj hhhhhK0ubh)}(hhh](h)}(ht7xx_debug_portsh]ht7xx_debug_ports}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKHubh)}(hThe sysfs interface provides userspace with access to enable/disable the debug ports, this interface supports read and write operations.h]hThe sysfs interface provides userspace with access to enable/disable the debug ports, this interface supports read and write operations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhjhhubh)}(hDebug port status:h]hDebug port status:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjhhubj#)}(hhh](j()}(h#``1`` represents enable debug portsh]h)}(hjh](jb)}(h``1``h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh represents enable debug ports}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKNhj ubah}(h]h ]h"]h$]h&]uh1j'hj hhhhhNubj()}(h%``0`` represents disable debug ports h]h)}(h$``0`` represents disable debug portsh](jb)}(h``0``h]h0}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jahj6ubh represents disable debug ports}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKOhj2ubah}(h]h ]h"]h$]h&]uh1j'hj hhhhhNubeh}(h]h ]h"]h$]h&]j^j_uh1j"hhhKNhjhhubh)}(h+Currently supported debug ports (ADB/MIPC).h]h+Currently supported debug ports (ADB/MIPC).}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjhhubh)}(h:Read from userspace to get the current debug ports status.h]h:Read from userspace to get the current debug ports status.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjhhubjP)}(hhh]jU)}(h6:: $ cat /sys/bus/pci/devices/${bdf}/t7xx_debug_ports h](j[)}(h::h]h::}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhhhKVhj}ubjk)}(hhh]h)}(h2$ cat /sys/bus/pci/devices/${bdf}/t7xx_debug_portsh]h2$ cat /sys/bus/pci/devices/${bdf}/t7xx_debug_ports}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1jjhj}ubeh}(h]h ]h"]h$]h&]uh1jThhhKVhjzubah}(h]h ]h"]h$]h&]uh1jOhjhhhhhNubh)}(h3Write from userspace to set the debug ports status.h]h3Write from userspace to set the debug ports status.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjhhubjP)}(hhh]jU)}(h;:: $ echo 1 > /sys/bus/pci/devices/${bdf}/t7xx_debug_ports h](j[)}(h::h]h::}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jZhhhK[hjubjk)}(hhh]h)}(h7$ echo 1 > /sys/bus/pci/devices/${bdf}/t7xx_debug_portsh]h7$ echo 1 > /sys/bus/pci/devices/${bdf}/t7xx_debug_ports}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jjhjubeh}(h]h ]h"]h$]h&]uh1jThhhK[hjubah}(h]h ]h"]h$]h&]uh1jOhjhhhhhNubeh}(h]t7xx-debug-portsah ]h"]t7xx_debug_portsah$]h&]uh1hhj hhhhhKHubeh}(h]sysfsah ]h"]sysfsah$]h&]uh1hhhhhhhhK,ubh)}(hhh](h)}(h"Management application developmenth]h"Management application development}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK^ubh)}(hThe driver and userspace interfaces are described below. The MBIM protocol is described in [1] Mobile Broadband Interface Model v1.0 Errata-1.h]hThe driver and userspace interfaces are described below. The MBIM protocol is described in [1] Mobile Broadband Interface Model v1.0 Errata-1.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjhhubh)}(hhh](h)}(h"MBIM control channel userspace ABIh]h"MBIM control channel userspace ABI}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'hhhhhKcubh)}(hhh](h)}(h /dev/wwan0mbim0 character deviceh]h /dev/wwan0mbim0 character device}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hhhhhKfubh)}(hThe 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]hThe 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.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj8hhubeh}(h]dev-wwan0mbim0-character-deviceah ]h"] /dev/wwan0mbim0 character deviceah$]h&]uh1hhj'hhhhhKfubh)}(hhh](h)}(h Fragmentationh]h Fragmentation}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hhhhhKmubh)}(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.}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhj_hhubeh}(h] fragmentationah ]h"] fragmentationah$]h&]uh1hhj'hhhhhKmubh)}(hhh](h)}(h/dev/wwan0mbim0 write()h]h/dev/wwan0mbim0 write()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKrubh)}(hnThe MBIM control messages from the management application must not exceed the negotiated control message size.h]hnThe MBIM control messages from the management application must not exceed the negotiated control message size.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshjhhubeh}(h]dev-wwan0mbim0-writeah ]h"]/dev/wwan0mbim0 write()ah$]h&]uh1hhj'hhhhhKrubh)}(hhh](h)}(h/dev/wwan0mbim0 read()h]h/dev/wwan0mbim0 read()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKwubh)}(hbThe management application must accept control messages of up the negotiated control message size.h]hbThe management application must accept control messages of up the negotiated control message size.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjhhubeh}(h]dev-wwan0mbim0-readah ]h"]/dev/wwan0mbim0 read()ah$]h&]uh1hhj'hhhhhKwubeh}(h]"mbim-control-channel-userspace-abiah ]h"]"mbim control channel userspace abiah$]h&]uh1hhjhhhhhKcubh)}(hhh](h)}(hMBIM data channel userspace ABIh]hMBIM data channel userspace ABI}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK|ubh)}(hhh](h)}(hwwan0-X network deviceh]hwwan0-X network device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hThe t7xx driver exposes IP link interface "wwan0-X" of type "wwan" for IP traffic. Iproute network utility is used for creating "wwan0-X" network interface and for associating it with MBIM IP session.h]hThe t7xx driver exposes IP link interface “wwan0-X” of type “wwan” for IP traffic. Iproute network utility is used for creating “wwan0-X” network interface and for associating it with MBIM IP session.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hThe userspace management application is responsible for creating new IP link prior to establishing MBIM IP session where the SessionId is greater than 0.h]hThe userspace management application is responsible for creating new IP link prior to establishing MBIM IP session where the SessionId is greater than 0.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hIFor example, creating new IP link for a MBIM IP session with SessionId 1:h]hIFor example, creating new IP link for a MBIM IP session with SessionId 1:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh block_quote)}(h;ip link add dev wwan0-1 parentdev wwan0 type wwan linkid 1 h]h)}(h:ip link add dev wwan0-1 parentdev wwan0 type wwan linkid 1h]h:ip link add dev wwan0-1 parentdev wwan0 type wwan linkid 1}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1j(hhhKhjhhubh)}(hTThe driver will automatically map the "wwan0-1" network device to MBIM IP session 1.h]hXThe driver will automatically map the “wwan0-1” network device to MBIM IP session 1.}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]wwan0-x-network-deviceah ]h"]wwan0-x network deviceah$]h&]uh1hhjhhhhhKubeh}(h]mbim-data-channel-userspace-abiah ]h"]mbim data channel userspace abiah$]h&]uh1hhjhhhhhK|ubh)}(hhh](h)}(hAT port userspace ABIh]hAT port userspace ABI}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`hhhhhKubh)}(hhh](h)}(h/dev/wwan0at0 character deviceh]h/dev/wwan0at0 character device}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjqhhhhhKubh)}(hThe driver exposes an AT port by implementing AT WWAN Port. The userspace end of the control port is a /dev/wwan0at0 character device. Application shall use this interface to issue AT commands.h]hThe driver exposes an AT port by implementing AT WWAN Port. The userspace end of the control port is a /dev/wwan0at0 character device. Application shall use this interface to issue AT commands.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjqhhubeh}(h]dev-wwan0at0-character-deviceah ]h"]/dev/wwan0at0 character deviceah$]h&]uh1hhj`hhhhhKubeh}(h]at-port-userspace-abiah ]h"]at port userspace abiah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(hfastboot port userspace ABIh]hfastboot port userspace ABI}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h$/dev/wwan0fastboot0 character deviceh]h$/dev/wwan0fastboot0 character device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hThe driver exposes a fastboot protocol interface by implementing fastboot WWAN Port. The userspace end of the fastboot channel pipe is a /dev/wwan0fastboot0 character device. Application shall use this interface for fastboot protocol communication.h]hThe driver exposes a fastboot protocol interface by implementing fastboot WWAN Port. The userspace end of the fastboot channel pipe is a /dev/wwan0fastboot0 character device. Application shall use this interface for fastboot protocol communication.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hPlease note that driver needs to be reloaded to export /dev/wwan0fastboot0 port, because device needs a cold reset after enter ``fastboot_switching`` mode.h](hPlease note that driver needs to be reloaded to export /dev/wwan0fastboot0 port, because device needs a cold reset after enter }(hjhhhNhNubjb)}(h``fastboot_switching``h]hfastboot_switching}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jahjubh mode.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]#dev-wwan0fastboot0-character-deviceah ]h"]$/dev/wwan0fastboot0 character deviceah$]h&]uh1hhjhhhhhKubeh}(h]fastboot-port-userspace-abiah ]h"]fastboot port userspace abiah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(hADB port userspace ABIh]hADB port userspace ABI}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h/dev/wwan0adb0 character deviceh]h/dev/wwan0adb0 character device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hThe driver exposes a ADB protocol interface by implementing ADB WWAN Port. The userspace end of the ADB channel pipe is a /dev/wwan0adb0 character device. Application shall use this interface for ADB protocol communication.h]hThe driver exposes a ADB protocol interface by implementing ADB WWAN Port. The userspace end of the ADB channel pipe is a /dev/wwan0adb0 character device. Application shall use this interface for ADB protocol communication.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]dev-wwan0adb0-character-deviceah ]h"]/dev/wwan0adb0 character deviceah$]h&]uh1hhjhhhhhKubeh}(h]adb-port-userspace-abiah ]h"]adb port userspace abiah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(hMIPC port userspace ABIh]hMIPC port userspace ABI}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hhhhhKubh)}(hhh](h)}(h /dev/wwan0mipc0 character deviceh]h /dev/wwan0mipc0 character device}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQhhhhhKubh)}(hX The driver exposes a diagnostic interface by implementing MIPC (Modem Information Process Center) WWAN Port. The userspace end of the MIPC channel pipe is a /dev/wwan0mipc0 character device. Application shall use this interface for MTK modem diagnostic communication.h]hX The driver exposes a diagnostic interface by implementing MIPC (Modem Information Process Center) WWAN Port. The userspace end of the MIPC channel pipe is a /dev/wwan0mipc0 character device. Application shall use this interface for MTK modem diagnostic communication.}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQhhubh)}(hHThe MediaTek's T700 modem supports the 3GPP TS 27.007 [4] specification.h]hJThe MediaTek’s T700 modem supports the 3GPP TS 27.007 [4] specification.}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjQhhubeh}(h]dev-wwan0mipc0-character-deviceah ]h"] /dev/wwan0mipc0 character deviceah$]h&]uh1hhj@hhhhhKubeh}(h]mipc-port-userspace-abiah ]h"]mipc port userspace abiah$]h&]uh1hhjhhhhhKubeh}(h]"management-application-developmentah ]h"]"management application developmentah$]h&]uh1hhhhhhhhK^ubh)}(hhh](h)}(h Referencesh]h References}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(h6[1] *MBIM (Mobile Broadband Interface Model) Errata-1*h](h[1] }(hjhhhNhNubhemphasis)}(h2*MBIM (Mobile Broadband Interface Model) Errata-1*h]h0MBIM (Mobile Broadband Interface Model) Errata-1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj#)}(hhh]j()}(h&https://www.usb.org/document-library/ h]h)}(h%https://www.usb.org/document-library/h]h reference)}(hjh]h%https://www.usb.org/document-library/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjhhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhKhjhhubh)}(h[2] *libmbim "a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"*h](h[2] }(hjhhhNhNubj)}(h*libmbim "a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"*h]hlibmbim “a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj#)}(hhh]j()}(h2http://www.freedesktop.org/wiki/Software/libmbim/ h]h)}(h1http://www.freedesktop.org/wiki/Software/libmbim/h]j)}(hjh]h1http://www.freedesktop.org/wiki/Software/libmbim/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjhhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhKhjhhubh)}(hs[3] *Modem Manager "a DBus-activated daemon which controls mobile broadband (2G/3G/4G/5G) devices and connections"*h](h[3] }(hj9hhhNhNubj)}(ho*Modem Manager "a DBus-activated daemon which controls mobile broadband (2G/3G/4G/5G) devices and connections"*h]hqModem Manager “a DBus-activated daemon which controls mobile broadband (2G/3G/4G/5G) devices and connections”}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj#)}(hhh]j()}(h7http://www.freedesktop.org/wiki/Software/ModemManager/ h]h)}(h6http://www.freedesktop.org/wiki/Software/ModemManager/h]j)}(hj^h]h6http://www.freedesktop.org/wiki/Software/ModemManager/}(hj`hhhNhNubah}(h]h ]h"]h$]h&]refurij^uh1jhj\ubah}(h]h ]h"]h$]h&]uh1hhhhKhjXubah}(h]h ]h"]h$]h&]uh1j'hjUhhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhKhjhhubh)}(h#[4] *Specification # 27.007 - 3GPP*h](h[4] }(hjhhhNhNubj)}(h*Specification # 27.007 - 3GPP*h]hSpecification # 27.007 - 3GPP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj#)}(hhh]j()}(h*https://www.3gpp.org/DynaReport/27007.htm h]h)}(h)https://www.3gpp.org/DynaReport/27007.htmh]j)}(hjh]h)https://www.3gpp.org/DynaReport/27007.htm}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjhhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhKhjhhubh)}(h?[5] *fastboot "a mechanism for communicating with bootloaders"*h](h[5] }(hjhhhNhNubj)}(h;*fastboot "a mechanism for communicating with bootloaders"*h]h=fastboot “a mechanism for communicating with bootloaders”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj#)}(hhh]j()}(h[https://android.googlesource.com/platform/system/core/+/refs/heads/main/fastboot/README.md h]h)}(hZhttps://android.googlesource.com/platform/system/core/+/refs/heads/main/fastboot/README.mdh]j)}(hjh]hZhttps://android.googlesource.com/platform/system/core/+/refs/heads/main/fastboot/README.md}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1j'hjhhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhKhjhhubh)}(h[6] *ADB (Android Debug Bridge) "a mechanism to keep track of Android devices and emulators instances connected to or running on a given host developer machine with ADB protocol"*h](h[6] }(hj hhhNhNubj)}(h*ADB (Android Debug Bridge) "a mechanism to keep track of Android devices and emulators instances connected to or running on a given host developer machine with ADB protocol"*h]hADB (Android Debug Bridge) “a mechanism to keep track of Android devices and emulators instances connected to or running on a given host developer machine with ADB protocol”}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj#)}(hhh]j()}(hZhttps://android.googlesource.com/platform/packages/modules/adb/+/refs/heads/main/README.mdh]h)}(hj/ h]j)}(hj/ h]hZhttps://android.googlesource.com/platform/packages/modules/adb/+/refs/heads/main/README.md}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]refurij/ uh1jhj1 ubah}(h]h ]h"]h$]h&]uh1hhhhKhj- ubah}(h]h ]h"]h$]h&]uh1j'hj* hhhhhNubah}(h]h ]h"]h$]h&]j^j_uh1j"hhhKhjhhubeh}(h] referencesah ]h"] referencesah$]h&]uh1hhhhhhhhKubeh}(h](,t7xx-driver-for-mtk-pcie-based-t700-5g-modemheh ]h"](,t7xx driver for mtk pcie based t700 5g modemt7xx_driver_doceh$]h&]uh1hhhhhhhhK expect_referenced_by_name}jb hsexpect_referenced_by_id}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}h]hasnameids}(jb hja j^ jjjjjjjjjjjjj\jYjjjjjjj]jZjUjRjjjjjjjjj=j:j5j2jjjjjY jV u nametypes}(jb ja jjjjjjj\jjjj]jUjjjjj=j5jjjY uh}(hhj^ hjhjj jj*jjjjjj'jYj8jj_jjjjjZjjRjjj`jjqjjjjj:jj2jjj@jjQjV ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages](hsystem_message)}(hhh]h)}(h`Possible incomplete section title. Treating the overline as ordinary text because it's so short.h]hbPossible incomplete section title. Treating the overline as ordinary text because it’s so short.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOlineK?sourcehuh1j hj*hhhhhKAubj )}(hhh]h)}(h`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.h]hdBlank line missing before literal block (after the “::”)? Interpreted as a definition list item.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKAsourcehuh1j hjlubj )}(hhh]h)}(h`Possible incomplete section title. Treating the overline as ordinary text because it's so short.h]hbPossible incomplete section title. Treating the overline as ordinary text because it’s so short.}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj( ubah}(h]h ]h"]h$]h&]levelKtypej lineKDsourcehuh1j hj*hhhhhKFubj )}(hhh]h)}(h`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.h]hdBlank line missing before literal block (after the “::”)? Interpreted as a definition list item.}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjC ubah}(h]h ]h"]h$]h&]levelKtypej lineKFsourcehuh1j hjubj )}(hhh]h)}(h`Possible incomplete section title. Treating the overline as ordinary text because it's so short.h]hbPossible incomplete section title. Treating the overline as ordinary text because it’s so short.}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj^ ubah}(h]h ]h"]h$]h&]levelKtypej lineKUsourcehuh1j hjhhhhhKWubj )}(hhh]h)}(h`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.h]hdBlank line missing before literal block (after the “::”)? Interpreted as a definition list item.}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjy ubah}(h]h ]h"]h$]h&]levelKtypej lineKWsourcehuh1j hjubj )}(hhh]h)}(h`Possible incomplete section title. Treating the overline as ordinary text because it's so short.h]hbPossible incomplete section title. Treating the overline as ordinary text because it’s so short.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineKZsourcehuh1j hjhhhhhK\ubj )}(hhh]h)}(h`Blank line missing before literal block (after the "::")? Interpreted as a definition list item.h]hdBlank line missing before literal block (after the “::”)? Interpreted as a definition list item.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej lineK\sourcehuh1j hjubetransform_messages]j )}(hhh]h)}(hhh]h5Hyperlink target "t7xx-driver-doc" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1j uba transformerN include_log] decorationNhhub.