Re: Is this 32-bit NCM?

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

 



Thank you Bjorn for the help and suggestions.
These are parameters that the driver ends up choosing:
/sys/class/net/wwan0/cdc_ncm/bmNtbFormatsSupported:0x0003
/sys/class/net/wwan0/cdc_ncm/dwNtbInMaxSize:131072
/sys/class/net/wwan0/cdc_ncm/dwNtbOutMaxSize:16384
/sys/class/net/wwan0/cdc_ncm/min_tx_pkt:14848
/sys/class/net/wwan0/cdc_ncm/rx_max:16384
/sys/class/net/wwan0/cdc_ncm/tx_max:16384
/sys/class/net/wwan0/cdc_ncm/tx_timer_usecs:400
/sys/class/net/wwan0/cdc_ncm/wNdpInAlignment:4
/sys/class/net/wwan0/cdc_ncm/wNdpInDivisor:4
/sys/class/net/wwan0/cdc_ncm/wNdpInPayloadRemainder:2
/sys/class/net/wwan0/cdc_ncm/wNdpOutAlignment:4
/sys/class/net/wwan0/cdc_ncm/wNdpOutDivisor:4
/sys/class/net/wwan0/cdc_ncm/wNdpOutPayloadRemainder:2
/sys/class/net/wwan0/cdc_ncm/wNtbOutMaxDatagrams:0

Sorry if I did not report them before. If I missed someone in CC please add it 
guys.
Kevin - after you discovered that the device might handle the offset in a 
different way, have you tried this approach?


On Thu, 27 Nov 2014, Bjørn Mork wrote:

==Date: Thu, 27 Nov 2014 11:03:24
==From: Bjørn Mork <bjorn@xxxxxxx>
==To: Enrico Mioso <mrkiko.rs@xxxxxxxxx>
==Cc: youtux@xxxxxxxxx, alexxst@xxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx,
==    netdev@xxxxxxxxxxxxxxx
==Subject: Re: Is this 32-bit NCM?
==
==Enrico Mioso <mrkiko.rs@xxxxxxxxx> writes:
==
==> Ok - we can arrive to some ocnclusions regarding the E3272.
==> First of all - the modem seems buggy enough to not be able to handle requests 
==> for different formats. You need to unplug and re-plug it, but this is onlyan 
==> impression and is reasonable.
==>
==> Then - the modem will accept to ndisdup the connection with
==> at^ndisdup=1,1,"internet"
==> but - if we use huawei_cdc_ncm + cdc_ncm we have no flow handling messages and 
==> the modem stops here.
==> If we use the cdc_ncm 32-bit driver (modified) we get lotfs of
==> ^dsflorpt
==> that's how it should be.
==> So I think we can say that something is changing.
==> Then there's the alignment problem you mentioned in your previous reply. And 
==> this is hard to solve.
==> could you try to help me understand where the problem is?
==> I feel like we are very close to the solution but something isn't working.
==> Or might be just try to change the 16 bit driver?
==
==If you use a recent version of the driver as a basis, then you get the
==CDC NCM NTB parameters in sysfs (if not, then you need to enable
==debugging and look in the log for these values).  For example:
==
==bjorn@nemi:~$ grep . /sys/class/net/wwan0/cdc_ncm/*
==/sys/class/net/wwan0/cdc_ncm/bmNtbFormatsSupported:0x0001
==/sys/class/net/wwan0/cdc_ncm/dwNtbInMaxSize:15360
==/sys/class/net/wwan0/cdc_ncm/dwNtbOutMaxSize:15360
==/sys/class/net/wwan0/cdc_ncm/min_tx_pkt:13824
==/sys/class/net/wwan0/cdc_ncm/rx_max:15360
==/sys/class/net/wwan0/cdc_ncm/tx_max:15360
==/sys/class/net/wwan0/cdc_ncm/tx_timer_usecs:400
==/sys/class/net/wwan0/cdc_ncm/wNdpInAlignment:4
==/sys/class/net/wwan0/cdc_ncm/wNdpInDivisor:1
==/sys/class/net/wwan0/cdc_ncm/wNdpInPayloadRemainder:0
==/sys/class/net/wwan0/cdc_ncm/wNdpOutAlignment:4
==/sys/class/net/wwan0/cdc_ncm/wNdpOutDivisor:32
==/sys/class/net/wwan0/cdc_ncm/wNdpOutPayloadRemainder:0
==/sys/class/net/wwan0/cdc_ncm/wNtbOutMaxDatagrams:32
==
==
==The possible problem I am thinking of is proper handling of the
==wNdp*PayloadRemainder values. See section 3.3.4 "NCM Ethernet Frame
==Alignment" in the spec.  Which is confusing as hell, but if I understand
==it correctly then we are supposed to align the start of the IP packets
==(the "payload", _not_ the ethernet frame) to a whole wNdp*Divisor number
==as long as the wNdp*PayloadRemainder is 0.
==
==
==Bjørn
==

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

  Powered by Linux