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
==
next prev 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).