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