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