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