• Bjørn Mork's avatar
    net: cdc_mbim: Device Service Stream support · 9f651cac
    Bjørn Mork authored
    MBIM devices can support up to 256 generic streams called
    Device Service Streams (DSS). The MBIM spec says
    
       The format of the Device Service Stream payload depends
       on the device service (as identified by the corresponding
       UUID) that is used when opening the data stream.
    
    Example use cases are serial AT command interfaces and NMEA
    data streams. We cannot make any assumptions about these
    device services.
    
    Adding support for Device Service Stream by extending
    the MBIM session to VLAN mapping scheme, allocating
    VLAN IDs 256 to 511 for DSS, using the DSS SessionID
    as the lower 8bit of the VLAN ID.
    
    Using a netdev for DSS keeps the device framing intact and
    allows userspace to do whatever it want with the streams.
    For example, exporting an AT command interface using DSS
    session #0 to a PTY for use with a terminal application like
    minicom:
    
      vconfig add wwan0 256
      ip link set dev wwan0 up
      ip link set dev wwan0.256 up
      socat INTERFACE:wwan0.256,type=2 PTY:,echo=0,link=/tmp/modem
    
    Device configuration must be done using MBIM control commands
    over the /dev/cdc-wdmx device. The userspace management
    application should coordinate host VLAN configuration and the
    device MBIM configuration using the device capabilities to
    find out if it needs to set up PTY mappings etc.
    Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9f651cac
cdc_mbim.c 10.3 KB