| What: /sys/class/net/<iface>/cdc_ncm/min_tx_pkt |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| The driver will pad NCM Transfer Blocks (NTBs) longer |
| than this to tx_max, allowing the device to receive |
| tx_max sized frames with no terminating short |
| packet. NTBs shorter than this limit are transmitted |
| as-is, without any padding, and are terminated with a |
| short USB packet. |
| |
| Padding to tx_max allows the driver to transmit NTBs |
| back-to-back without any interleaving short USB |
| packets. This reduces the number of short packet |
| interrupts in the device, and represents a tradeoff |
| between USB bus bandwidth and device DMA optimization. |
| |
| Set to 0 to pad all frames. Set greater than tx_max to |
| disable all padding. |
| |
| What: /sys/class/net/<iface>/cdc_ncm/ndp_to_end |
| Date: Dec 2015 |
| KernelVersion: 4.5 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| Boolean attribute showing the status of the "NDP to |
| end" quirk. Defaults to 'N', except for devices |
| already known to need it enabled. |
| |
| The "NDP to end" quirk makes the driver place the NDP |
| (the packet index table) after the payload. The NCM |
| specification does not mandate this, but some devices |
| are known to be more restrictive. Write 'Y' to this |
| attribute for temporary testing of a suspect device |
| failing to work with the default driver settings. |
| |
| A device entry should be added to the driver if this |
| quirk is found to be required. |
| |
| What: /sys/class/net/<iface>/cdc_ncm/rx_max |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| The maximum NTB size for RX. Cannot exceed the |
| maximum value supported by the device. Must allow at |
| least one max sized datagram plus headers. |
| |
| The actual limits are device dependent. See |
| dwNtbInMaxSize. |
| |
| Note: Some devices will silently ignore changes to |
| this value, resulting in oversized NTBs and |
| corresponding framing errors. |
| |
| What: /sys/class/net/<iface>/cdc_ncm/tx_max |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| The maximum NTB size for TX. Cannot exceed the |
| maximum value supported by the device. Must allow at |
| least one max sized datagram plus headers. |
| |
| The actual limits are device dependent. See |
| dwNtbOutMaxSize. |
| |
| What: /sys/class/net/<iface>/cdc_ncm/tx_timer_usecs |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| Datagram aggregation timeout in µs. The driver will |
| wait up to 3 times this timeout for more datagrams to |
| aggregate before transmitting an NTB frame. |
| |
| Valid range: 5 to 4000000 |
| |
| Set to 0 to disable aggregation. |
| |
| The following read-only attributes all represent fields of the |
| structure defined in section 6.2.1 "GetNtbParameters" of "Universal |
| Serial Bus Communications Class Subclass Specifications for Network |
| Control Model Devices" (CDC NCM), Revision 1.0 (Errata 1), November |
| 24, 2010 from USB Implementers Forum, Inc. The descriptions are |
| quoted from table 6-3 of CDC NCM: "NTB Parameter Structure". |
| |
| What: /sys/class/net/<iface>/cdc_ncm/bmNtbFormatsSupported |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| - Bit 0: 16-bit NTB supported (set to 1) |
| - Bit 1: 32-bit NTB supported |
| - Bits 2 – 15: reserved (reset to zero; must be ignored by host) |
| |
| What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| IN NTB Maximum Size in bytes |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNdpInDivisor |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| Divisor used for IN NTB Datagram payload alignment |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNdpInPayloadRemainder |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| Remainder used to align input datagram payload within |
| the NTB: (Payload Offset) mod (wNdpInDivisor) = |
| wNdpInPayloadRemainder |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNdpInAlignment |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| NDP alignment modulus for NTBs on the IN pipe. Shall |
| be a power of 2, and shall be at least 4. |
| |
| What: /sys/class/net/<iface>/cdc_ncm/dwNtbOutMaxSize |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| OUT NTB Maximum Size |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNdpOutDivisor |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| OUT NTB Datagram alignment modulus |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNdpOutPayloadRemainder |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| Remainder used to align output datagram payload |
| offsets within the NTB: Padding, shall be transmitted |
| as zero by function, and ignored by host. (Payload |
| Offset) mod (wNdpOutDivisor) = wNdpOutPayloadRemainder |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNdpOutAlignment |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| NDP alignment modulus for use in NTBs on the OUT |
| pipe. Shall be a power of 2, and shall be at least 4. |
| |
| What: /sys/class/net/<iface>/cdc_ncm/wNtbOutMaxDatagrams |
| Date: May 2014 |
| KernelVersion: 3.16 |
| Contact: Bjørn Mork <bjorn@mork.no> |
| Description: |
| Maximum number of datagrams that the host may pack |
| into a single OUT NTB. Zero means that the device |
| imposes no limit. |