netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Enrico Mioso <mrkiko.rs@gmail.com>
To: Kevin Zhu <Mingying.Zhu@audiocodes.com>
Cc: "Alex Strizhevsky" <alexxst@gmail.com>,
	"Bjørn Mork" <bjorn@mork.no>,
	"Midge Shaojun Tan" <ShaojunMidge.Tan@audiocodes.com>,
	"youtux@gmail.com" <youtux@gmail.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"Eli Britstein" <Eli.Britstein@audiocodes.com>
Subject: Re: Is this 32-bit NCM?
Date: Fri, 28 Nov 2014 09:24:25 +0100 (CET)	[thread overview]
Message-ID: <alpine.LNX.2.03.1411280923230.3997@gmail.com> (raw)
In-Reply-To: <54781523.6030600@audiocodes.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 7444 bytes --]

The driver effectively uses the wNdpOutDivisor indirectly - see standard 
cdc_ncm deriver as in kernel git tree, line 490.


On Fri, 28 Nov 2014, Kevin Zhu wrote:

==Date: Fri, 28 Nov 2014 07:24:49
==From: Kevin Zhu <Mingying.Zhu@audiocodes.com>
==To: Alex Strizhevsky <alexxst@gmail.com>, Bjørn Mork <bjorn@mork.no>,
==    Midge Shaojun  Tan <ShaojunMidge.Tan@audiocodes.com>
==Cc: Enrico Mioso <mrkiko.rs@gmail.com>, "youtux@gmail.com" <youtux@gmail.com>,
==    "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
==    "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
==    Eli Britstein <Eli.Britstein@audiocodes.com>
==Subject: Re: Is this 32-bit NCM?
==
==Hi all,
==
==I'm able to get the following prints with the original huawei_cdc_ncm driver
==from Ubuntu 12.04.3. It keeps on printing. I'm also able to get an IP, but
==no Internet access.
==
==^HCSQ:"WCDMA",64,59,55
==
==^DSFLOWRPT:0000000E,00000000,00000000,0000000000000000,0000000000000000,000
==00000,00000000
==
==OK
==
==^NDISSTAT:1,,,"IPV4"
==
==^STIN: 1, 0, 0
==
==^DSFLOWRPT:00000010,00000000,00000000,0000000000000000,0000000000000000,000
==00000,00000000
==
==^DSFLOWRPT:00000012,00000000,00000000,0000000000000000,0000000000000000,000
==00000,00000000
==
==^DSFLOWRPT:00000014,00000000,00000000,0000000000000000,0000000000000000,000
==00000,00000000
==
==^STIN: 1, 0, 0
==
==
==...
==^STIN: 1, 0, 0
==
==^DSFLOWRPT:0000008C,00000000,00000000,0000000000000B36,0000000000000000,000
==00000,00000000
==
==^DSFLOWRPT:0000008E,00000000,00000000,0000000000000B36,0000000000000000,000
==00000,00000000
==
==Regarding the alignment, I think we have some difference between Windows and
==Linux. The spec says it should satisfy the following constraint.
==
==Offset % wNdpOutDivisor == wNdpOutPayloadRemainder (for OUT datagrams)
==
==It seems the Huawei device take the NDP offset (Ethernet Header Offset) as
==the parameter 'Offset' in the above constraint. And in the Linux capture, it
==does not comply with it.
==
==
==dwNtbInMaxSize=131072 dwNtbOutMaxSize=16384 wNdpOutPayloadRemainder=2
==wNdpOutDivisor=4 wNdpOutAlignment=4 wNtbOutMaxDatagrams=0 flags=0x1f
==
==Windows:
==
==0000   6e 63 6d 68 10 00 b6 00 7c 00 00 00 5c 00 00 00  ncmh....|...\...
==0010   00 00 00 00 00 00 00 00 00 1e 10 1f 00 00 08 00  ................
==0020   45 00 00 3c 00 9b 00 00 80 01 a0 fe 0a 71 a3 0e  E..<.........q..
==0030   ca 6c 21 3c 08 00 4b 4b 00 01 02 10 61 62 63 64  .l!<..KK....abcd
==0040   65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74  efghijklmnopqrst
==0050   75 76 77 61 62 63 64 65 66 67 68 69 6e 63 6d 30  uvwabcdefghincm0
==0060   20 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00   ...............
==0070   4a 00 00 00 00 00 00 00 00 00 00 00              J...........
==
==Linux: (thought it's a 16bit format capture, but it's the same as 32bit,
==regarding the alignment)
==
==0000   4e 43 4d 48 0c 00 40 00 e2 00 0c 00 4e 43 4d 30  NCMH..@.....NCM0
==0010   10 00 00 00 b8 00 2a 00 00 00 00 00 00 00 00 00  ......*.........
==0020   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0050   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0060   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0080   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==0090   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==00a0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
==00b0   00 00 00 00 00 00 00 00 ff ff ff ff ff ff 00 1e  ................
==00c0   10 1f 00 00 08 06 00 01 08 00 06 04 00 01 00 1e  ................
==00d0   10 1f 00 00 0a 71 cc a6 00 00 00 00 00 00 70 50  .....q........pP
==00e0   f8 49                                            .I
==
==
==Regards,
==Kevin
==On 11/27/2014 08:36 PM, Alex Strizhevsky wrote:
==      Adding my colleagues - Eli, Kevin & Midge.
==
==Any ideas are welcome ;)
==
==
==On Thu, Nov 27, 2014 at 12:03 PM, Bjørn Mork <bjorn@mork.no> wrote:
==      Enrico Mioso <mrkiko.rs@gmail.com> 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
==
==
==
==This email and any files transmitted with it are confidential material. They
==are intended solely for the use of the designated individual or entity to
==whom they are addressed. If the reader of this message is not the intended
==recipient, you are hereby notified that any dissemination, use, distribution
==or copying of this communication is strictly prohibited and may be unlawful.
==
==If you have received this email in error please immediately notify the
==sender and delete or destroy any copy of this message
==

  parent reply	other threads:[~2014-11-28  8:23 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26 21:51 Is this 32-bit NCM? Enrico Mioso
2014-11-27  9:16 ` Bjørn Mork
2014-11-27  9:22   ` Enrico Mioso
2014-11-27  9:45   ` Enrico Mioso
2014-11-27 10:03     ` Bjørn Mork
     [not found]       ` <CAPChA0cLuvRpYTYuFoi3bewqASgf_oZHSz5yQQ8JYm96dZ4-TQ@mail.gmail.com>
2014-11-27 13:05         ` Enrico Mioso
     [not found]         ` <CAPChA0cLuvRpYTYuFoi3bewqASgf_oZHSz5yQQ8JYm96dZ4-TQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-27 12:55           ` Enrico Mioso
2014-11-27 18:34           ` Enrico Mioso
2014-11-28  9:29             ` Bjørn Mork
2014-11-28 10:27               ` Enrico Mioso
2014-11-30 18:10               ` Enrico Mioso
2014-12-01 21:11               ` Enrico Mioso
     [not found]                 ` <alpine.LNX.2.03.1412012202480.1301-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-01 22:02                   ` Eli Britstein
2014-12-02  3:53                     ` Kevin Zhu
     [not found]                       ` <547D37CA.7050506-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-02  6:32                         ` Enrico Mioso
2014-12-02  6:43                           ` Kevin Zhu
2014-12-02  6:49                             ` Enrico Mioso
     [not found]                               ` <alpine.LNX.2.03.1412020747360.1921-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-02  6:52                                 ` Kevin Zhu
2014-12-02  7:11                                   ` Eli Britstein
2014-12-02  7:44                                 ` Kevin Zhu
     [not found]                                   ` <547D6D7B.5090704-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-02  7:45                                     ` Eli Britstein
2014-12-02  8:03                                       ` Kevin Zhu
2014-12-02 10:13                                         ` Enrico Mioso
2014-12-02 10:24                                         ` Enrico Mioso
2014-12-02 10:32                                         ` Enrico Mioso
2014-12-02 11:21                                           ` Bjørn Mork
2014-12-02 11:28                                             ` Enrico Mioso
2014-12-02 11:39                                             ` Enrico Mioso
2014-12-02 13:11                                             ` Enrico Mioso
     [not found]                                               ` <alpine.LNX.2.03.1412021410270.29633-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-02 13:37                                                 ` Bjørn Mork
     [not found]                                                   ` <87lhmqp400.fsf-lbf33ChDnrE/G1V5fR+Y7Q@public.gmane.org>
2014-12-02 13:53                                                     ` Enrico Mioso
     [not found]                                                       ` <alpine.LNX.2.03.1412021453340.7488-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-02 15:04                                                         ` Kevin Zhu
2014-12-02 15:28                                                           ` Enrico Mioso
     [not found]                                                             ` <alpine.LNX.2.03.1412021627360.8131-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-03  5:38                                                               ` Kevin Zhu
2014-12-03  6:00                                                                 ` Enrico Mioso
     [not found]                                                                   ` <alpine.LNX.2.03.1412030659001.1288-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-03  6:05                                                                     ` Kevin Zhu
     [not found]                                                                       ` <547EA82F.5050500-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-03  6:29                                                                         ` Enrico Mioso
2014-12-04  6:31                                                                       ` Is this 32-bit NCM?y Enrico Mioso
2014-12-04  8:52                                                                         ` Kevin Zhu
2014-12-04  8:56                                                                           ` Enrico Mioso
     [not found]                                                                             ` <alpine.LNX.2.03.1412040955140.3516-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-04  9:01                                                                               ` Kevin Zhu
2014-12-04  9:19                                                                           ` Bjørn Mork
2014-12-04  9:26                                                                             ` Kevin Zhu
     [not found]                                                                               ` <548028A0.5000909-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-04  9:28                                                                                 ` Enrico Mioso
2014-12-04  9:55                                                                               ` Bjørn Mork
2014-12-04  9:53                                                                             ` Enrico Mioso
2014-12-04 10:02                                                                               ` Bjørn Mork
     [not found]                                         ` <547D7243.80508-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-02 10:37                                           ` Is this 32-bit NCM? Enrico Mioso
2014-12-02 10:45                                           ` Enrico Mioso
2014-12-02 10:48                                           ` Enrico Mioso
2014-12-02  9:55                                     ` Enrico Mioso
2014-12-02  7:53                               ` Kevin Zhu
     [not found]                     ` <B315C8AC-3B33-406B-A728-14F8FAAAE986-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-02  6:07                       ` Enrico Mioso
2014-12-02  6:12                     ` Enrico Mioso
2014-11-28  5:59           ` Enrico Mioso
2014-11-27 18:38         ` Enrico Mioso
2014-11-28  6:23         ` Enrico Mioso
     [not found]         ` <54781523.6030600@audiocodes.com>
2014-11-28  6:40           ` Enrico Mioso
2014-11-28  8:17           ` Enrico Mioso
2014-11-28  8:23             ` Kevin Zhu
2014-11-28  8:39               ` Enrico Mioso
2014-11-28  8:24           ` Enrico Mioso [this message]
2014-11-28  8:37             ` Kevin Zhu
     [not found]               ` <54783443.50700-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-11-28  8:42                 ` Enrico Mioso
2014-11-28  8:46                   ` Kevin Zhu
2014-11-28  8:46                   ` Kevin Zhu
2014-11-28  8:45                 ` Enrico Mioso
2014-11-28  9:02                   ` Kevin Zhu
2014-11-28  9:17                     ` Enrico Mioso
2014-11-28  9:23                       ` Kevin Zhu
     [not found]                         ` <54783F18.1070709-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-12-01 16:54                           ` Enrico Mioso
2014-11-28  9:25                       ` Kevin Zhu
     [not found]                         ` <54783F84.20105-6C2+4RG2qWF0ubjbjo6WXg@public.gmane.org>
2014-11-30  1:13                           ` Enrico Mioso
     [not found]                             ` <CAPChA0czA3vxPZdwk-SgO1Wr83zOV1UoWcL4=05qtBktwq5=TA@mail.gmail.com>
2014-11-30 10:18                               ` Enrico Mioso
2014-12-01  2:51                                 ` Kevin Zhu
2014-11-30 10:31                               ` Enrico Mioso
2014-11-30 10:32                               ` Enrico Mioso
2014-11-30 10:39                               ` Enrico Mioso
     [not found]                                 ` <547BDCF5.8070705@audiocodes.com>
2014-12-01  5:28                                   ` Enrico Mioso
2014-12-01  5:51                                     ` Kevin Zhu
2014-12-01 16:11                                       ` Enrico Mioso
2014-11-30 18:36       ` Enrico Mioso
     [not found]         ` <alpine.LNX.2.03.1411301931280.2605-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-12-01  2:31           ` Kevin Zhu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.03.1411280923230.3997@gmail.com \
    --to=mrkiko.rs@gmail.com \
    --cc=Eli.Britstein@audiocodes.com \
    --cc=Mingying.Zhu@audiocodes.com \
    --cc=ShaojunMidge.Tan@audiocodes.com \
    --cc=alexxst@gmail.com \
    --cc=bjorn@mork.no \
    --cc=linux-usb@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=youtux@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).