From: Christophe Ronco <c.ronco@kerlink.fr>
To: ofono@ofono.org
Subject: Huawei E3372
Date: Tue, 14 Feb 2017 10:53:44 +0100 [thread overview]
Message-ID: <088d60e2-4e2c-c7d0-47ab-0022de446b14@kerlink.fr> (raw)
[-- Attachment #1: Type: text/plain, Size: 5538 bytes --]
Hi,
I try to connect using a USB dongle. It is a Huawei E3372h-153. I will
try to give information on this modem because looking at Internet, it
seems that E3372 is a generic name for different hardwares (or firmwares?).
Before usb_modeswitch my USB dongle present itself as a CDROM and a mass
storage media with these vendor and product ids:
usb 1-1: New USB device found, idVendor=12d1, idProduct=15cf
After usb_modeswitch, product id changes:
usb 1-1: New USB device found, idVendor=12d1, idProduct=15b7
And devices are:
- 2 serial ports:
[ 16.010158] option 1-1:1.0: GSM modem (1-port) converter detected
[ 16.065118] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 16.141589] option 1-1:1.1: GSM modem (1-port) converter detected
[ 16.208587] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
- a CDC NCM net device (/dev/cdc-wdm0):
[ 16.358721] huawei_cdc_ncm 1-1:1.2: MAC-Address: 00:1e:10:1f:00:00
[ 16.417550] huawei_cdc_ncm 1-1:1.2: NDP will be placed at end of
frame for this device.
[ 16.455455] huawei_cdc_ncm 1-1:1.2: cdc-wdm0: USB WDM device
[ 16.520626] huawei_cdc_ncm 1-1:1.2 wwan0: register 'huawei_cdc_ncm'
at usb-ci_hdrc.0-1, Huawei CDC NCM device, 00:1e:10:1f:00:00
- a mass storage device
Using ATI, modem present itself like that:
Manufacturer: huawei
Model: E3372H
Revision: 21.315.01.00.314
IMEI: XXXX
+GCAP: +CGSM,+DS,+ES
Using an unmodified Ofono, I fail to activate gprs context:
Feb 14 08:43:55 klk-lpbs-040070 daemon.debug ofonod[1238]:
../git/drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1
Feb 14 08:43:55 klk-lpbs-040070 daemon.info ofonod[1238]: Modem: >
AT+CGDCONT=1,"IP","orange.m2m.spec"\r
Feb 14 08:43:55 klk-lpbs-040070 daemon.info ofonod[1238]: Modem: <
\r\nOK\r\n
Feb 14 08:43:55 klk-lpbs-040070 daemon.debug ofonod[1238]:
../git/drivers/atmodem/gprs-context.c:at_cgdcont_cb() ok 1
Feb 14 08:43:55 klk-lpbs-040070 daemon.info ofonod[1238]: Modem: >
AT+CGDATA="PPP",1\r
Feb 14 08:43:55 klk-lpbs-040070 daemon.info ofonod[1238]: Modem: <
\r\n+CME ERROR: 50\r\n
Feb 14 08:43:55 klk-lpbs-040070 daemon.debug ofonod[1238]:
../git/drivers/atmodem/gprs-context.c:at_cgdata_cb() ok 0
Feb 14 08:43:55 klk-lpbs-040070 daemon.info ofonod[1238]: Unable to
enter data state
Feb 14 08:43:55 klk-lpbs-040070 daemon.debug ofonod[1238]:
../git/src/gprs.c:pri_activate_callback() 0x41f4f8
Feb 14 08:43:55 klk-lpbs-040070 daemon.debug ofonod[1238]:
../git/src/gprs.c:pri_activate_callback() Activating context failed with
error: Incorrect parameters
So activation fails because AT+CGDATA="PPP",1 fails. Here is what this
modem claims to support:
AT+CGDATA=?
+CGDATA: ("NULL")
OK
I didn't try to send AT+CGDATA="NULL",1 before PPP setup. Instead I used
ATD*99***1#. So I modified function at_cgdcont_cb in
drivers/atmodem/gprs-context.c to send this command instead of
AT+CGDATA="PPP",1 and I managed to connect. Here are the traces:
Feb 14 08:57:30 klk-lpbs-040070 daemon.debug ofonod[1252]:
../git/drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1
Feb 14 08:57:30 klk-lpbs-040070 daemon.info ofonod[1252]: Modem: >
AT+CGDCONT=1,"IP","orange.m2m.spec"\r
Feb 14 08:57:30 klk-lpbs-040070 daemon.info ofonod[1252]: Modem: <
\r\nOK\r\n
Feb 14 08:57:30 klk-lpbs-040070 daemon.debug ofonod[1252]:
../git/drivers/atmodem/gprs-context.c:at_cgdcont_cb() ok 1
Feb 14 08:57:30 klk-lpbs-040070 daemon.info ofonod[1252]: Modem: >
ATD*99***1#\r
Feb 14 08:57:30 klk-lpbs-040070 daemon.info ofonod[1252]: Modem: <
\r\nCONNECT\r\n
Feb 14 08:57:30 klk-lpbs-040070 daemon.debug ofonod[1252]:
../git/drivers/atmodem/gprs-context.c:at_cgdata_cb() ok 1
Feb 14 08:57:30 klk-lpbs-040070 daemon.debug ofonod[1252]:
../git/drivers/atmodem/gprs-context.c:setup_ppp()
Feb 14 08:57:30 klk-lpbs-040070 daemon.info ofonod[1252]: PPP: lcp:
pppcp_generate_event: current state 0:INITIAL
... (PPP debug)
Feb 14 08:57:33 klk-lpbs-040070 daemon.info ofonod[1252]: PPP:
../git/gatchat/gatppp.c:ppp_enter_phase() 4
Feb 14 08:57:33 klk-lpbs-040070 daemon.debug ofonod[1252]:
../git/drivers/atmodem/gprs-context.c:ppp_connect()
Feb 14 08:57:33 klk-lpbs-040070 daemon.info ofonod[1252]: IP: 10.47.149.108
Feb 14 08:57:33 klk-lpbs-040070 daemon.info ofonod[1252]: DNS:
192.168.10.110, 194.51.3.56
Feb 14 08:57:33 klk-lpbs-040070 daemon.debug ofonod[1252]:
../git/src/gprs.c:pri_activate_callback() 0x3654e8
My problem now is how to know if I should send AT+CGDATA="PPP",1 or
ATD*99***1# when activating context in@modem driver. I see in this
driver and others that a VENDOR information can be sent from plugin but
I imagine that other Huawei devices support AT+CGDATA="PPP",1.
Do you have any idea of what I should do to support this modem without
disturbing other devices?
Christophe
PS: I am aware that using PPP to connect this modem might not be the
best solution. I spent days to try to get interface wwan0 up. I managed
to get IP address, gateway and DNS servers for this interface using
something similar to what is done in telitmodem/gprs-context-ncm.c (I
might send traces if someone is interested) but I never managed to send
or receive a packet on wwan0 interface. Problem might come from my
kernel (4.1) even if I applied all patches from Vanilla linked to
drivers/net/usb/cdc_ncm.c, drivers/net/usb/huawei_cdc_ncm.c or
drivers/usb/class/cdc-wdm.c.
next reply other threads:[~2017-02-14 9:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-14 9:53 Christophe Ronco [this message]
2017-02-14 15:47 ` Huawei E3372 Denis Kenzior
2017-02-14 16:37 ` Christophe Ronco
2017-02-14 16:47 ` Denis Kenzior
2017-02-15 16:38 ` [PATCH 0/1] Use ATD*99 to enter data state when needed Christophe Ronco
2017-02-15 16:38 ` [PATCH] atmodem: use ATD99 " Christophe Ronco
2017-02-15 20:39 ` Denis Kenzior
2017-02-16 8:40 ` [PATCH v2] " Christophe Ronco
2017-02-16 17:53 ` Denis Kenzior
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=088d60e2-4e2c-c7d0-47ab-0022de446b14@kerlink.fr \
--to=c.ronco@kerlink.fr \
--cc=ofono@ofono.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.