Lines Matching +full:control +full:- +full:channel

1 .. SPDX-License-Identifier: GPL-2.0
4 cdc_mbim - Driver for CDC MBIM Mobile Broadband modems
11 Network Control Model Devices" [2] optimized for Mobile Broadband
24 -----------
26 :Valid Range: N/Y (0-1)
44 provides a userspace interface to the MBIM control channel, and will
51 - mbimcli (included with the libmbim [3] library), and
52 - ModemManager [4]
57 - open the control channel
58 - configure network connection settings
59 - connect to network
60 - configure IP interface
63 ----------------------------------
64 The driver <-> userspace interfaces are described below. The MBIM
65 control channel protocol is described in [1].
68 MBIM control channel userspace ABI
71 /dev/cdc-wdmX character device
72 ------------------------------
73 The driver creates a two-way pipe to the MBIM function control channel
74 using the cdc-wdm driver as a subdriver. The userspace end of the
75 control channel pipe is a /dev/cdc-wdmX character device.
77 The cdc_mbim driver does not process or police messages on the control
78 channel. The channel is fully delegated to the userspace management
80 complies with all the control channel requirements in [1].
82 The cdc-wdmX device is created as a child of the MBIM control
86 bjorn@nemi:~$ ls /sys/bus/usb/drivers/cdc_mbim/2-4:2.12/usbmisc
87 cdc-wdm0
89 bjorn@nemi:~$ grep . /sys/bus/usb/drivers/cdc_mbim/2-4:2.12/usbmisc/cdc-wdm0/dev
94 -----------------------------
96 limits the maximum control message size. The management application is
97 responsible for negotiating a control message size complying with the
109 -------------
110 The userspace application is responsible for all control message
114 /dev/cdc-wdmX write()
115 ---------------------
116 The MBIM control messages from the management application *must not*
117 exceed the negotiated control message size.
120 /dev/cdc-wdmX read()
121 --------------------
122 The management application *must* accept control messages of up the
123 negotiated control message size.
126 /dev/cdc-wdmX ioctl()
127 ---------------------
140 #include <linux/usb/cdc-wdm.h>
144 int fd = open("/dev/cdc-wdm0", O_RDWR);
151 ----------------------
156 implemented entirely in userspace, like the rest of the MBIM control
163 MBIM data channel userspace ABI
167 --------------------
168 The cdc_mbim driver represents the MBIM data channel as a single
174 -----------------------------
176 channel. The cdc_mbim driver models such IP sessions as 802.1q VLAN
197 ----------------------------
198 MBIM also allows up to 256 non-IP data streams to be multiplexed over
199 the same shared USB data channel. The cdc_mbim driver models these
208 shared MBIM data channel and a MBIM DSS aware userspace application.
209 It is not intended to be presented as-is to an end user. The
218 - TX frames using an IP protocol (0x0800 or 0x86dd) will be dropped
219 - RX frames will have the protocol field set to ETH_P_802_3 (but will
221 - RX frames will have the destination address set to the hardware
263 BPF_STMT(BPF_RET|BPF_K, (u_int)-1), /* accept */
270 ------------------------
278 - no IPS or DSS session can use a frame size greater than the MTU on
280 - no IPS or DSS session can be in the up state unless the network
298 ------------
302 sessions on the shared USB data channel::
305 ---------------------------------------------------------
307 1 - 255 IPS 1 - 255 <VLANID>
308 256 - 511 DSS 0 - 255 <VLANID - 256>
309 512 - 4093 b)
322 1) USB Implementers Forum, Inc. - "Universal Serial Bus
326 - http://www.usb.org/developers/docs/devclass_docs/
328 2) USB Implementers Forum, Inc. - "Universal Serial Bus
329 Communications Class Subclass Specifications for Network Control
332 - http://www.usb.org/developers/docs/devclass_docs/
334 3) libmbim - "a glib-based library for talking to WWAN modems and
338 - http://www.freedesktop.org/wiki/Software/libmbim/
340 4) ModemManager - "a DBus-activated daemon which controls mobile
343 - http://www.freedesktop.org/wiki/Software/ModemManager/
347 - http://compliance.usb.org/mbim/
351 - Documentation/driver-api/usb/usb.rst
355 - Documentation/ABI/stable/sysfs-bus-usb