[OpenWrt-Devel] Huawei 3372 NCM support on CC not working

Matti Laakso malaakso at elisanet.fi
Tue Jun 30 15:09:36 EDT 2015


Hi,

> Ahoy,
>
> as suggested by olmari, I'm summing up my problems/experience to 
> hopefully
> get this running for me as well as anyone else having this kind of 
> problem.
>
> In short: I've be trying and failing for more than 4 days now to use a 
> 4G/LTE
> Stick as WAN device using NCM and wwan0 instead of slow 
> pppd/wvdial/modem usage.
> Any help and ideas would be appreciated.
>
> Setup:
>
> Openwrt (git/master)
> Host: TL-MR3020
> Stick: Telekom Speedstick LTE V (Huawei 3372)
>         ^FHVER:"E3372S-153 21.297.05.01.55,CL1E3372SM Ver.A"
>         which should be non-hilink AFAIK

E3372 support in huawei_cdc_ncm is still a work in progress, see e.g.:
http://comments.gmane.org/gmane.linux.usb.general/127444

The firmware does not entirely conform to NCM spec. When I tested E3372
back in January I only made sure that DHCP was working, and didn't check
any data transfer. Basically, DHCP is all that works, and only
intermittently. By luck, it worked for me at that time. So there is no
data transfer possible with that stick at the moment.

You could try Enrico's patch above, and give him (and us) feedback if it
works. I unfortunately don't have the E3372 anymore.

Matti


>
> Modules:
>
> arc4                    1312  2
> ath                    19893  3 ath9k
> ath9k                  87622  0
> ath9k_common           17230  1 ath9k
> ath9k_hw              337656  2 ath9k
> cdc_ether               3788  1 rndis_host
> cdc_ncm                11557  1 huawei_cdc_ncm
> cdc_subset              1536  0
> cdc_wdm                 7829  1 huawei_cdc_ncm
> cfg80211              213857  4 ath9k
> compat                  1332  4 ath9k
> crc16                   1015  0
> crc_ccitt               1019  0
> crypto_blkcipher       10647  1 arc4
> crypto_hash             9762  0
> ehci_hcd               32108  1 ehci_platform
> ehci_platform           3376  0
> gpio_button_hotplug     4464  0
> huawei_cdc_ncm          1520  0
> ip6_tables              9393  3 ip6table_raw
> ip6t_REJECT             1184  0
> ip6table_filter          608  0
> ip6table_mangle         1152  0
> ip6table_raw             576  0
> ip_tables               9533  4 iptable_nat
> ipt_MASQUERADE           656  1
> ipt_REJECT               912  2
> iptable_filter           672  1
> iptable_mangle           944  1
> iptable_nat              768  1
> iptable_raw              640  1
> ipv6                  258696 22 nf_conntrack_ipv6
> ledtrig_usbdev          1936  0
> mac80211              381507  1 ath9k
> mii                     3528  1 usbnet
> nf_conntrack           47723 11 nf_nat_ipv4
> nf_conntrack_ftp        5312  1 nf_nat_ftp
> nf_conntrack_ipv4       4704  8
> nf_conntrack_ipv6       5024  0
> nf_conntrack_rtcache    2448  0
> nf_defrag_ipv4           806  1 nf_conntrack_ipv4
> nf_defrag_ipv6          9047  1 nf_conntrack_ipv6
> nf_log_common           2319  2 nf_log_ipv4
> nf_log_ipv4             3184  0
> nf_log_ipv6             3344  0
> nf_nat                  9083  5 nf_nat_ipv4
> nf_nat_ftp              1232  0
> nf_nat_ipv4             3713  1 iptable_nat
> nf_nat_masquerade_ipv4    1420  1 ipt_MASQUERADE
> nf_reject_ipv4          1827  1 ipt_REJECT
> nf_reject_ipv6          1943  1 ip6t_REJECT
> nls_base                4976  1 usbcore
> ohci_hcd               22191  1 ohci_platform
> ohci_platform           2752  0
> option                 26976  0
> rndis_host              4937  0
> usb_common              1160  1 usbcore
> usb_wwan                4391  1 option
> usbcore               117300 15 option
> usbnet                 17046  5 rndis_host
> usbserial              17691  2 option
> x_tables               10901 26 ipt_REJECT
> xt_CT                   2352  0
> xt_LOG                   768  0
> xt_REDIRECT             1152  0
> xt_TCPMSS               2656  1
> xt_comment               480 24
> xt_conntrack            2160  7
> xt_id                    480  0
> xt_limit                 992  1
> xt_mac                   624  0
> xt_mark                  672  0
> xt_multiport            1184  0
> xt_nat                  1152  0
> xt_state                 688  0
> xt_tcpudp               1728  4
> xt_time                 1632  0
>
> /etc/config/network
>
> config interface 'loopback'
> 	option ifname 'lo'
> 	option proto 'static'
> 	option ipaddr '127.0.0.1'
> 	option netmask '255.0.0.0'
>
> config globals 'globals'
> 	option ula_prefix 'fd29:864c:1d98::/48'
>
> config interface 'lan'
> 	option ifname 'eth0'
> 	option force_link '1'
> 	option type 'bridge'
> 	option proto 'static'
> 	option netmask '255.255.255.0'
> 	option ip6assign '60'
> 	option ipaddr '192.168.2.1'
>
> config interface 'wan'
> 	option proto 'ncm'
> 	option ifname 'wwan0'
> 	option device '/dev/ttyUSB0'
> 	option pincode '0000'
> 	option apn 'internet.eplus.de'
> 	option username 'eplus'
> 	option password 'gprs'
> 	#option auth 'both'
> 	#option mode 'custom'
> 	#option delay '10'
>
> Subsequent tests with different devices (ttyUSB0, ttyUSB1, cdc-wdm0) 
> made no difference
> or didn't connect at all. After looking at the sources and /etc/gcom 
> scripts, these parameters
> should be ok?
>
> There are a couple of errors that might mean something to someone:
>
> logread:
>
> Tue Jun 30 13:17:05 2015 daemon.notice netifd: wan (1979): sending -> 
> AT^NDISDUP=1,0
> Tue Jun 30 13:17:05 2015 daemon.notice netifd: wan (1979): Command 
> failed: Permission denied
> Tue Jun 30 13:17:05 2015 daemon.notice netifd: Interface 'wan' is now 
> down
> Tue Jun 30 13:17:05 2015 daemon.notice netifd: Interface 'wan_4' is 
> disabled
> Tue Jun 30 13:17:05 2015 daemon.notice netifd: Interface 'wan_6' is 
> disabled
> Tue Jun 30 13:17:05 2015 daemon.notice netifd: Interface 'wan' is 
> setting up now
> Tue Jun 30 13:17:08 2015 daemon.notice netifd: wan (2001): sending -> AT
> Tue Jun 30 13:17:08 2015 daemon.notice netifd: wan (2001): sending -> 
> ATZ
> Tue Jun 30 13:17:09 2015 daemon.notice netifd: wan (2001): sending -> 
> ATQ0
> Tue Jun 30 13:17:09 2015 daemon.notice netifd: wan (2001): sending -> 
> ATV1
> Tue Jun 30 13:17:10 2015 daemon.notice netifd: wan (2001): sending -> 
> ATE1
> Tue Jun 30 13:17:11 2015 daemon.notice netifd: wan (2001): sending -> 
> ATS0=0
> Tue Jun 30 13:17:12 2015 daemon.notice netifd: wan (2001): SIM ready
> Tue Jun 30 13:17:12 2015 daemon.notice netifd: wan (2001): PIN set 
> successfully
> Tue Jun 30 13:17:13 2015 daemon.notice netifd: wan (2001): sending -> 
> AT^NDISDUP=1,1,"internet.eplus.de","eplus","gprs"
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: wan (2001): Connected, 
> starting DHCP
> Tue Jun 30 13:17:14 2015 kern.info kernel: [ 1158.920000] huawei_cdc_ncm 
> 1-1:1.2 wwan0: open: enable queueing (rx 5, tx 5) mtu 1500 simple 
> framing
> --> Tue Jun 30 13:17:14 2015 kern.err kernel: [ 1158.920000] 
> huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been dropped
> --> Tue Jun 30 13:17:14 2015 kern.err kernel: [ 1158.930000] 
> huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been dropped
> --> Tue Jun 30 13:17:14 2015 kern.err kernel: [ 1158.940000] 
> huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been dropped
> --> Tue Jun 30 13:17:14 2015 kern.err kernel: [ 1158.940000] 
> huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been dropped
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_4' is 
> enabled
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_6' is 
> enabled
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan' is now up
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Network device 'wwan0' 
> link is up
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Network alias 'wwan0' 
> link is up
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_4' has 
> link connectivity
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_4' is 
> setting up now
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_6' has 
> link connectivity
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_6' is 
> setting up now
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: Interface 'wan_6' is now 
> up
> --> Tue Jun 30 13:17:14 2015 daemon.notice netifd: wan (2001): Command 
> failed: Unknown error
> --> Tue Jun 30 13:17:14 2015 daemon.notice netifd: wan (2001): Command 
> failed: Unknown error
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: wan_4 (2052): udhcpc 
> (v1.23.2) started
> Tue Jun 30 13:17:14 2015 user.notice firewall: Reloading firewall due to 
> ifup of wan (wwan0)
> Tue Jun 30 13:17:14 2015 daemon.notice netifd: wan_4 (2052): Sending 
> discover...
> Tue Jun 30 13:17:17 2015 daemon.notice netifd: wan_4 (2052): Sending 
> discover...
> Tue Jun 30 13:17:20 2015 daemon.notice netifd: wan_4 (2052): Sending 
> discover...
>
> dmesg:
>
> [  191.930000] huawei_cdc_ncm 1-1:1.2 wwan0: stop stats: rx/tx 53/61, 
> errs 0/0
> [  195.680000] huawei_cdc_ncm 1-1:1.2 wwan0: open: enable queueing (rx 
> 5, tx 5) mtu 1500 simple framing
> [  195.690000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  195.700000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  195.710000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  195.710000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  237.450000] huawei_cdc_ncm 1-1:1.2 wwan0: stop stats: rx/tx 54/65, 
> errs 0/0
> [  237.460000] huawei_cdc_ncm 1-1:1.2 wwan0: open: enable queueing (rx 
> 5, tx 5) mtu 1500 simple framing
> [  237.470000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  237.480000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  237.480000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [  237.490000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [ 1147.540000] huawei_cdc_ncm 1-1:1.2 wwan0: stop stats: rx/tx 357/372, 
> errs 0/0
> [ 1158.920000] huawei_cdc_ncm 1-1:1.2 wwan0: open: enable queueing (rx 
> 5, tx 5) mtu 1500 simple framing
> [ 1158.920000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [ 1158.930000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [ 1158.940000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
> [ 1158.940000] huawei_cdc_ncm 1-1:1.2 wwan0: kevent 12 may have been 
> dropped
>
> Here are a couple of links that also seem to describe similar problems:
>
> https://forum.openwrt.org/viewtopic.php?pid=273099
> http://www.dd-wrt.com/phpBB2/viewtopic.php?t=174004&postdays=0&postorder=asc&start=0
>
> I've checked that the patches from here
>
> https://lists.openwrt.org/pipermail/openwrt-devel/2015-January/030890.html
>
> are already integrated, which seems to be the case.
>
> I've also found some hacky scripts here:
> https://forum.openwrt.org/viewtopic.php?id=41945
>
> I seem to get data from at^dhcp as well, which at least _seems_ like a
> plausible 10.x.x.x IP/GW config set but when I apply those manually,
> again no luck. usb modeswitching seems to be in order (I think) since
> the connection is established and the devices (wwan0,cdc-wdm0,ttyUSB0+1)
> are available. No SD/CDrom visible.
>
> There has also been some info about removing arp support from wwan0
> but so far that also has not made any difference.
>
> Is anyone out there having this Stick running with NCM at all? I'd
> appreciate any help to get this online because currently our whole
> hackbase (https://apollo.open-resource.org/) is offline, since we have
> no wired internet anymore and need 4G fallback until someone is willing
> to help us with a Wifi based WAN connection. You can also ping chron0
> in #openwrt and #openwrt-devel on freenode if you need more info/traces.
>
> This is my first time dealing with 3G/4G devices so I have no prior
> experience I could use as a reference if I'm doing it wrong or if there
> are some bugs under the hood - but I'm sure I'm not the only one with 
> this
> problem out there - if you search for openwrt ncm 3372...
>
> Thanks a lot in advance and keep up the great work,
>
> chrono
> --
> Apollo-NG
> Mobile Hackbase
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list