blob: f7be0e88b139d0483bca5624aa0cffb9243309b0 [file] [log] [blame]
Bjørn Morke3cfeefc2014-05-30 09:31:10 +02001What: /sys/class/net/<iface>/cdc_ncm/min_tx_pkt
2Date: May 2014
3KernelVersion: 3.16
4Contact: Bjørn Mork <bjorn@mork.no>
5Description:
6 The driver will pad NCM Transfer Blocks (NTBs) longer
7 than this to tx_max, allowing the device to receive
8 tx_max sized frames with no terminating short
9 packet. NTBs shorter than this limit are transmitted
10 as-is, without any padding, and are terminated with a
11 short USB packet.
12
13 Padding to tx_max allows the driver to transmit NTBs
14 back-to-back without any interleaving short USB
15 packets. This reduces the number of short packet
16 interrupts in the device, and represents a tradeoff
17 between USB bus bandwidth and device DMA optimization.
18
19 Set to 0 to pad all frames. Set greater than tx_max to
20 disable all padding.
21
Bjørn Mork404814a2015-12-06 22:47:15 +010022What: /sys/class/net/<iface>/cdc_ncm/ndp_to_end
23Date: Dec 2015
24KernelVersion: 4.5
25Contact: Bjørn Mork <bjorn@mork.no>
26Description:
27 Boolean attribute showing the status of the "NDP to
28 end" quirk. Defaults to 'N', except for devices
29 already known to need it enabled.
30
31 The "NDP to end" quirk makes the driver place the NDP
32 (the packet index table) after the payload. The NCM
33 specification does not mandate this, but some devices
34 are known to be more restrictive. Write 'Y' to this
35 attribute for temporary testing of a suspect device
36 failing to work with the default driver settings.
37
38 A device entry should be added to the driver if this
39 quirk is found to be required.
40
Bjørn Morke3cfeefc2014-05-30 09:31:10 +020041What: /sys/class/net/<iface>/cdc_ncm/rx_max
42Date: May 2014
43KernelVersion: 3.16
44Contact: Bjørn Mork <bjorn@mork.no>
45Description:
46 The maximum NTB size for RX. Cannot exceed the
47 maximum value supported by the device. Must allow at
48 least one max sized datagram plus headers.
49
50 The actual limits are device dependent. See
51 dwNtbInMaxSize.
52
53 Note: Some devices will silently ignore changes to
54 this value, resulting in oversized NTBs and
55 corresponding framing errors.
56
57What: /sys/class/net/<iface>/cdc_ncm/tx_max
58Date: May 2014
59KernelVersion: 3.16
60Contact: Bjørn Mork <bjorn@mork.no>
61Description:
62 The maximum NTB size for TX. Cannot exceed the
63 maximum value supported by the device. Must allow at
64 least one max sized datagram plus headers.
65
66 The actual limits are device dependent. See
67 dwNtbOutMaxSize.
68
69What: /sys/class/net/<iface>/cdc_ncm/tx_timer_usecs
70Date: May 2014
71KernelVersion: 3.16
72Contact: Bjørn Mork <bjorn@mork.no>
73Description:
74 Datagram aggregation timeout in µs. The driver will
75 wait up to 3 times this timeout for more datagrams to
76 aggregate before transmitting an NTB frame.
77
78 Valid range: 5 to 4000000
79
80 Set to 0 to disable aggregation.
81
82The following read-only attributes all represent fields of the
83structure defined in section 6.2.1 "GetNtbParameters" of "Universal
84Serial Bus Communications Class Subclass Specifications for Network
85Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November
8624, 2010 from USB Implementers Forum, Inc. The descriptions are
87quoted from table 6-3 of CDC NCM: "NTB Parameter Structure".
88
89What: /sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported
90Date: May 2014
91KernelVersion: 3.16
92Contact: Bjørn Mork <bjorn@mork.no>
93Description:
94 Bit 0: 16-bit NTB supported (set to 1)
95 Bit 1: 32-bit NTB supported
96 Bits 2 15: reserved (reset to zero; must be ignored by host)
97
98What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize
99Date: May 2014
100KernelVersion: 3.16
101Contact: Bjørn Mork <bjorn@mork.no>
102Description:
103 IN NTB Maximum Size in bytes
104
105What: /sys/class/net/<iface>/cdc_ncm/wNdpInDivisor
106Date: May 2014
107KernelVersion: 3.16
108Contact: Bjørn Mork <bjorn@mork.no>
109Description:
110 Divisor used for IN NTB Datagram payload alignment
111
112What: /sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder
113Date: May 2014
114KernelVersion: 3.16
115Contact: Bjørn Mork <bjorn@mork.no>
116Description:
117 Remainder used to align input datagram payload within
118 the NTB: (Payload Offset) mod (wNdpInDivisor) =
119 wNdpInPayloadRemainder
120
121What: /sys/class/net/<iface>/cdc_ncm/wNdpInAlignment
122Date: May 2014
123KernelVersion: 3.16
124Contact: Bjørn Mork <bjorn@mork.no>
125Description:
126 NDP alignment modulus for NTBs on the IN pipe. Shall
127 be a power of 2, and shall be at least 4.
128
129What: /sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize
130Date: May 2014
131KernelVersion: 3.16
132Contact: Bjørn Mork <bjorn@mork.no>
133Description:
134 OUT NTB Maximum Size
135
136What: /sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor
137Date: May 2014
138KernelVersion: 3.16
139Contact: Bjørn Mork <bjorn@mork.no>
140Description:
141 OUT NTB Datagram alignment modulus
142
143What: /sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder
144Date: May 2014
145KernelVersion: 3.16
146Contact: Bjørn Mork <bjorn@mork.no>
147Description:
148 Remainder used to align output datagram payload
149 offsets within the NTB: Padding, shall be transmitted
150 as zero by function, and ignored by host. (Payload
151 Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder
152
153What: /sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment
154Date: May 2014
155KernelVersion: 3.16
156Contact: Bjørn Mork <bjorn@mork.no>
157Description:
158 NDP alignment modulus for use in NTBs on the OUT
159 pipe. Shall be a power of 2, and shall be at least 4.
160
161What: /sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams
162Date: May 2014
163KernelVersion: 3.16
164Contact: Bjørn Mork <bjorn@mork.no>
165Description:
166 Maximum number of datagrams that the host may pack
167 into a single OUT NTB. Zero means that the device
168 imposes no limit.