Re: Huawei 3276 with option and cdc_ncm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thomas Schäfer <tschaefer@xxxxxxxxxxx> writes:
> Am Freitag, 17. Mai 2013, 14:41:20 schrieben Sie:
>> Thomas Schäfer <tschaefer@xxxxxxxxxxx> writes:
>> > Hi,
>> > 
>> > the LTE-stick huawei 3276 (in Germany also  alias "Telekom Speedstick
>> > LTE III") works well ....
>
>
> One thing is little mysterious. 
>
> The byte-statistics at the interface differ.
>
> while downloading an iso-image via qmi_wwan ( here with 4G XS Stick W100T)
>
> RX 733MB
> TX  29 MB
>
>
> while downloading the same iso-image via cdc_ncm (Huawei 3276)
>
> RX 727MB
> TX 116MB
>
> (ignore RX, this difference is only noise )
>
>
> This in only one example. I did this test after I was surprised  about the 
> high TX-values while "normal surfing"
>
> The conditions are the same: IPv4, LTE, nearly equal speed, no uncommon things 
> while watching with iptraf.


This is expected as a result of the cdc_ncm <=> usbnet design.

usbnet does the counting and will sum up every byte in the URB.  cdc_ncm
not only adds a whole lot of extra framing, it also tries very hard to
fill the buffer to its maximum size - zero padding any frame longer than
CDC_NCM_MIN_TX_PKT (currently 512).  This makes the TX byte counter
completely unpredictable. Possibly off by a factor of 100+ compared to
the IP payload, depending on the device buffer size and your traffic
pattern.

The buffer filling may seem strange, but Alexey has explained it several
times here on this list.  It has to do with device DMA optimizations.
Google it or search this list if you want the proper explanation.



Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux