1What: /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 22What: /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 41What: /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. 169