Bjørn Mork | e3cfeefc | 2014-05-30 09:31:10 +0200 | [diff] [blame] | 1 | What: /sys/class/net/<iface>/cdc_ncm/min_tx_pkt |
| 2 | Date: May 2014 |
| 3 | KernelVersion: 3.16 |
| 4 | Contact: Bjørn Mork <bjorn@mork.no> |
| 5 | Description: |
| 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 Mork | 404814a | 2015-12-06 22:47:15 +0100 | [diff] [blame] | 22 | What: /sys/class/net/<iface>/cdc_ncm/ndp_to_end |
| 23 | Date: Dec 2015 |
| 24 | KernelVersion: 4.5 |
| 25 | Contact: Bjørn Mork <bjorn@mork.no> |
| 26 | Description: |
| 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 Mork | e3cfeefc | 2014-05-30 09:31:10 +0200 | [diff] [blame] | 41 | What: /sys/class/net/<iface>/cdc_ncm/rx_max |
| 42 | Date: May 2014 |
| 43 | KernelVersion: 3.16 |
| 44 | Contact: Bjørn Mork <bjorn@mork.no> |
| 45 | Description: |
| 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 | |
| 57 | What: /sys/class/net/<iface>/cdc_ncm/tx_max |
| 58 | Date: May 2014 |
| 59 | KernelVersion: 3.16 |
| 60 | Contact: Bjørn Mork <bjorn@mork.no> |
| 61 | Description: |
| 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 | |
| 69 | What: /sys/class/net/<iface>/cdc_ncm/tx_timer_usecs |
| 70 | Date: May 2014 |
| 71 | KernelVersion: 3.16 |
| 72 | Contact: Bjørn Mork <bjorn@mork.no> |
| 73 | Description: |
| 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 | |
| 82 | The following read-only attributes all represent fields of the |
| 83 | structure defined in section 6.2.1 "GetNtbParameters" of "Universal |
| 84 | Serial Bus Communications Class Subclass Specifications for Network |
| 85 | Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November |
| 86 | 24, 2010 from USB Implementers Forum, Inc. The descriptions are |
| 87 | quoted from table 6-3 of CDC NCM: "NTB Parameter Structure". |
| 88 | |
| 89 | What: /sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported |
| 90 | Date: May 2014 |
| 91 | KernelVersion: 3.16 |
| 92 | Contact: Bjørn Mork <bjorn@mork.no> |
| 93 | Description: |
| 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 | |
| 98 | What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize |
| 99 | Date: May 2014 |
| 100 | KernelVersion: 3.16 |
| 101 | Contact: Bjørn Mork <bjorn@mork.no> |
| 102 | Description: |
| 103 | IN NTB Maximum Size in bytes |
| 104 | |
| 105 | What: /sys/class/net/<iface>/cdc_ncm/wNdpInDivisor |
| 106 | Date: May 2014 |
| 107 | KernelVersion: 3.16 |
| 108 | Contact: Bjørn Mork <bjorn@mork.no> |
| 109 | Description: |
| 110 | Divisor used for IN NTB Datagram payload alignment |
| 111 | |
| 112 | What: /sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder |
| 113 | Date: May 2014 |
| 114 | KernelVersion: 3.16 |
| 115 | Contact: Bjørn Mork <bjorn@mork.no> |
| 116 | Description: |
| 117 | Remainder used to align input datagram payload within |
| 118 | the NTB: (Payload Offset) mod (wNdpInDivisor) = |
| 119 | wNdpInPayloadRemainder |
| 120 | |
| 121 | What: /sys/class/net/<iface>/cdc_ncm/wNdpInAlignment |
| 122 | Date: May 2014 |
| 123 | KernelVersion: 3.16 |
| 124 | Contact: Bjørn Mork <bjorn@mork.no> |
| 125 | Description: |
| 126 | NDP alignment modulus for NTBs on the IN pipe. Shall |
| 127 | be a power of 2, and shall be at least 4. |
| 128 | |
| 129 | What: /sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize |
| 130 | Date: May 2014 |
| 131 | KernelVersion: 3.16 |
| 132 | Contact: Bjørn Mork <bjorn@mork.no> |
| 133 | Description: |
| 134 | OUT NTB Maximum Size |
| 135 | |
| 136 | What: /sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor |
| 137 | Date: May 2014 |
| 138 | KernelVersion: 3.16 |
| 139 | Contact: Bjørn Mork <bjorn@mork.no> |
| 140 | Description: |
| 141 | OUT NTB Datagram alignment modulus |
| 142 | |
| 143 | What: /sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder |
| 144 | Date: May 2014 |
| 145 | KernelVersion: 3.16 |
| 146 | Contact: Bjørn Mork <bjorn@mork.no> |
| 147 | Description: |
| 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 | |
| 153 | What: /sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment |
| 154 | Date: May 2014 |
| 155 | KernelVersion: 3.16 |
| 156 | Contact: Bjørn Mork <bjorn@mork.no> |
| 157 | Description: |
| 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 | |
| 161 | What: /sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams |
| 162 | Date: May 2014 |
| 163 | KernelVersion: 3.16 |
| 164 | Contact: Bjørn Mork <bjorn@mork.no> |
| 165 | Description: |
| 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. |