0001 What: /sys/class/net/<iface>/cdc_ncm/min_tx_pkt
0002 Date: May 2014
0003 KernelVersion: 3.16
0004 Contact: Bjørn Mork <bjorn@mork.no>
0005 Description:
0006 The driver will pad NCM Transfer Blocks (NTBs) longer
0007 than this to tx_max, allowing the device to receive
0008 tx_max sized frames with no terminating short
0009 packet. NTBs shorter than this limit are transmitted
0010 as-is, without any padding, and are terminated with a
0011 short USB packet.
0012
0013 Padding to tx_max allows the driver to transmit NTBs
0014 back-to-back without any interleaving short USB
0015 packets. This reduces the number of short packet
0016 interrupts in the device, and represents a tradeoff
0017 between USB bus bandwidth and device DMA optimization.
0018
0019 Set to 0 to pad all frames. Set greater than tx_max to
0020 disable all padding.
0021
0022 What: /sys/class/net/<iface>/cdc_ncm/ndp_to_end
0023 Date: Dec 2015
0024 KernelVersion: 4.5
0025 Contact: Bjørn Mork <bjorn@mork.no>
0026 Description:
0027 Boolean attribute showing the status of the "NDP to
0028 end" quirk. Defaults to 'N', except for devices
0029 already known to need it enabled.
0030
0031 The "NDP to end" quirk makes the driver place the NDP
0032 (the packet index table) after the payload. The NCM
0033 specification does not mandate this, but some devices
0034 are known to be more restrictive. Write 'Y' to this
0035 attribute for temporary testing of a suspect device
0036 failing to work with the default driver settings.
0037
0038 A device entry should be added to the driver if this
0039 quirk is found to be required.
0040
0041 What: /sys/class/net/<iface>/cdc_ncm/rx_max
0042 Date: May 2014
0043 KernelVersion: 3.16
0044 Contact: Bjørn Mork <bjorn@mork.no>
0045 Description:
0046 The maximum NTB size for RX. Cannot exceed the
0047 maximum value supported by the device. Must allow at
0048 least one max sized datagram plus headers.
0049
0050 The actual limits are device dependent. See
0051 dwNtbInMaxSize.
0052
0053 Note: Some devices will silently ignore changes to
0054 this value, resulting in oversized NTBs and
0055 corresponding framing errors.
0056
0057 What: /sys/class/net/<iface>/cdc_ncm/tx_max
0058 Date: May 2014
0059 KernelVersion: 3.16
0060 Contact: Bjørn Mork <bjorn@mork.no>
0061 Description:
0062 The maximum NTB size for TX. Cannot exceed the
0063 maximum value supported by the device. Must allow at
0064 least one max sized datagram plus headers.
0065
0066 The actual limits are device dependent. See
0067 dwNtbOutMaxSize.
0068
0069 What: /sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
0070 Date: May 2014
0071 KernelVersion: 3.16
0072 Contact: Bjørn Mork <bjorn@mork.no>
0073 Description:
0074 Datagram aggregation timeout in µs. The driver will
0075 wait up to 3 times this timeout for more datagrams to
0076 aggregate before transmitting an NTB frame.
0077
0078 Valid range: 5 to 4000000
0079
0080 Set to 0 to disable aggregation.
0081
0082 The following read-only attributes all represent fields of the
0083 structure defined in section 6.2.1 "GetNtbParameters" of "Universal
0084 Serial Bus Communications Class Subclass Specifications for Network
0085 Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
0086 24, 2010 from USB Implementers Forum, Inc. The descriptions are
0087 quoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
0088
0089 What: /sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
0090 Date: May 2014
0091 KernelVersion: 3.16
0092 Contact: Bjørn Mork <bjorn@mork.no>
0093 Description:
0094 - Bit 0: 16-bit NTB supported (set to 1)
0095 - Bit 1: 32-bit NTB supported
0096 - Bits 2 – 15: reserved (reset to zero; must be ignored by host)
0097
0098 What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
0099 Date: May 2014
0100 KernelVersion: 3.16
0101 Contact: Bjørn Mork <bjorn@mork.no>
0102 Description:
0103 IN NTB Maximum Size in bytes
0104
0105 What: /sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
0106 Date: May 2014
0107 KernelVersion: 3.16
0108 Contact: Bjørn Mork <bjorn@mork.no>
0109 Description:
0110 Divisor used for IN NTB Datagram payload alignment
0111
0112 What: /sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
0113 Date: May 2014
0114 KernelVersion: 3.16
0115 Contact: Bjørn Mork <bjorn@mork.no>
0116 Description:
0117 Remainder used to align input datagram payload within
0118 the NTB: (Payload Offset) mod (wNdpInDivisor) =
0119 wNdpInPayloadRemainder
0120
0121 What: /sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
0122 Date: May 2014
0123 KernelVersion: 3.16
0124 Contact: Bjørn Mork <bjorn@mork.no>
0125 Description:
0126 NDP alignment modulus for NTBs on the IN pipe. Shall
0127 be a power of 2, and shall be at least 4.
0128
0129 What: /sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
0130 Date: May 2014
0131 KernelVersion: 3.16
0132 Contact: Bjørn Mork <bjorn@mork.no>
0133 Description:
0134 OUT NTB Maximum Size
0135
0136 What: /sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
0137 Date: May 2014
0138 KernelVersion: 3.16
0139 Contact: Bjørn Mork <bjorn@mork.no>
0140 Description:
0141 OUT NTB Datagram alignment modulus
0142
0143 What: /sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
0144 Date: May 2014
0145 KernelVersion: 3.16
0146 Contact: Bjørn Mork <bjorn@mork.no>
0147 Description:
0148 Remainder used to align output datagram payload
0149 offsets within the NTB: Padding, shall be transmitted
0150 as zero by function, and ignored by host. (Payload
0151 Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
0152
0153 What: /sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
0154 Date: May 2014
0155 KernelVersion: 3.16
0156 Contact: Bjørn Mork <bjorn@mork.no>
0157 Description:
0158 NDP alignment modulus for use in NTBs on the OUT
0159 pipe. Shall be a power of 2, and shall be at least 4.
0160
0161 What: /sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
0162 Date: May 2014
0163 KernelVersion: 3.16
0164 Contact: Bjørn Mork <bjorn@mork.no>
0165 Description:
0166 Maximum number of datagrams that the host may pack
0167 into a single OUT NTB. Zero means that the device
0168 imposes no limit.