hxping7 / wl500g

Automatically exported from code.google.com/p/wl500g
0 stars 0 forks source link

NDIS Support for Huawei 3G/4G Stick (E372, E398,..) #359

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Modern High speed Data Sticks suffer a speed limit when used over usbserial at 
20 mbit/s. 4G stick (LTE) won't even work when booked into LTE Cells. As a 
possible solution they also offer the use as a network device over NDIS drivers.
For HUAWEI sticks there is a driver package available by 
http://www.t-mobile.de/downloads/neu/linuxdriver_4.16.02.00.zip which also 
includes source files.

I found a HowTo (in German) for Routers running OpenWRT - so i think it should 
also be possible with "new OLEG" 
(http://www.umtslink.at/3g-forum/threads/69584-DC-HSPA-Datenstick-mit-OpenWRT).

Original issue reported on code.google.com by Transalp...@gmail.com on 8 Oct 2012 at 5:59

GoogleCodeExporter commented 9 years ago
First of all, driver development impossible without device itself.

Second, I can't find any details about how to activate NDIS mode on OpenWRT by 
link your provided.

At last, is "HWActivator" application/daemon needed? It provided in binary(x86) 
form only.

Original comment by lly.dev on 9 Oct 2012 at 7:14

GoogleCodeExporter commented 9 years ago
Well the HowTo ist formulated in this post: 
http://www.umtslink.at/3g-forum/threads/69584-DC-HSPA-Datenstick-mit-OpenWRT?p=9
35424&viewfull=1#post935424
First they Install some 3G Stuff which seems to be not provided by naked 
OpenWRT - some of it is allready included in "New Oleg"
[code] opkg update

opkg install comgt
opkg install kmod-usb-serial-option
opkg install usb-modeswitch-data[/code]

Then they create a network Interface "WAN2" - here i couldnt find any 
configuration file for that in your Firmware.

[code]
vi /etc/config/network

config interface 'wan2'               
        option  ifname  'ppp0'        
        option  device  /dev/ttyUSB0
        option  apn    'drei.at'   
        option  service 'umts'      
        option  proto   '3g'        

vi /etc/config/firewall

config zone                           
        option name             wan   
        option network          'wan wan2'
        option input            REJECT    
        option output           ACCEPT    
        option forward          REJECT    
        option masq             1         
        option mtu_fix          1     

--> wan2 bei "option network" hinzufügen[/code]

after that there are some scripts for optimizing initalisation and connecting 
time.
[code]vi /etc/hotplug.d/tty/30-3g

change sections as senn below:

find_3g_iface() {
        local cfg="$1"
        local tty="$2"

        local proto
        config_get proto "$cfg" proto
        [ "$proto" = 3g ] || return 0

        local auto
        config_get_bool auto "$cfg" auto 1
        [ "$auto" = 1 ] || [ "$ACTION" = remove ] || return 0

        local dev
        config_get dev "$cfg" device

        if [ "${dev##*/}" = "${tty##*/}" ]; then
                if [ "$ACTION" = add ]; then
                        log "Starting interface $cfg for device ${dev##*/}"
                        ( sleep 4; /sbin/ifup "$cfg" ) &                               
                else
                        log "Stopping interface $cfg for device ${dev##*/}"
                        /sbin/ifdown "$cfg" &
                fi
        fi
}

sleep 1 ersetzen durch sleep 4
--> Beware failing of script after first Plug-in of the stick because it was'nt 
fully initialized

vi /etc/ppp/options

Put at the end

holdoff 1
--> reduzes reconnect time (error in pppd)
[/code]

after that to reduce problems insisted with NAT
[code]opkg install kmod-ipt-nathelper-extra [/code]

configure IP as a DMZ (demilitarized zone)
[code]vi /etc/config/firewall
# forward all incoming connections to a specific host (DMZ)
# addedd 2012-04-10                                
config redirect                                    
        option src              wan2                
        option proto            all                
        option dest_ip          10.0.0.1 [/code]

HWActivator ist not needed - it provides only Popup on System with Desktop of 
the connection tool also provided with the driver package.

Another Link wich should help: 
http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?p=5739#5739

Original comment by Transalp...@gmail.com on 9 Oct 2012 at 7:34

GoogleCodeExporter commented 9 years ago
Our firmware don't provide same configuration scripts as OpenWRT.
As I can see from sample, you provided, interface wan2 use device /dev/ttyUSB0. 
It is not NDIS, it is simple usbserial connection!

Probably, hw_cdc, cdc-wdm & qmi-wwan drivers provides NDIS interface for such 
Huawei modems, but it requires:
1) backports from kernel upstream
2) device(hardware) for testing

Original comment by lly.dev on 9 Oct 2012 at 10:11

GoogleCodeExporter commented 9 years ago
Hmm for point 1 I can only help gathering possible Information.
http://lists.freedesktop.org/archives/libqmi-devel/2012-September/000229.html
https://bitbucket.org/accelecon/linux-at91/changesets

What i found out googeling for that task was:
Dovado routers already have running ndis support - no doubt which kernel they 
are running.
Rumors said - dd-wrt may also running ndis support - maybe they got special 
help from ASUS - but i could not find any clear source for that.

for Point 2 - i will receive my E372 very soon.

I think it will become a crusial point, when LTE spreads out. somewhere i read 
a bout a guy which got no more data over usbserial when the stick booked into 
LTE net (IP everywhere)....

Original comment by Transalp...@gmail.com on 9 Oct 2012 at 12:18

GoogleCodeExporter commented 9 years ago
another interesting Page qmi-wwan and openWRT:
http://sigquit.wordpress.com/2012/08/20/qmi-powered-broadband-connections-in-ope
nwrt/

Original comment by Transalp...@gmail.com on 9 Oct 2012 at 12:24

GoogleCodeExporter commented 9 years ago
Short summary - this feature requires:

1) backport of cdc-wdm, qmi-wwan kernel drivers

2) libqmi-glib (qmicli -d /dev/cdc-wdm0 --wds-start-network=apn 
--client-no-release-cid)

Additionally, libqmi adds dependency to huge(for embedded devices) glib2 >=2.32 
library. Used gobject & gio interfaces only.

Original comment by lly.dev on 1 Jan 2013 at 2:29

GoogleCodeExporter commented 9 years ago
Additional refs. for pp.1 :
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670241
http://comments.gmane.org/gmane.linux.network/246986

Original comment by lly.dev on 20 Jan 2013 at 7:19

GoogleCodeExporter commented 9 years ago
Initial job done at r4810-r4813

Original comment by lly.dev on 24 Jan 2013 at 7:00

GoogleCodeExporter commented 9 years ago
uqmi (small utility to manage QMI speaking modems by Felix Fietkau from OpenWRT 
project) added in r4878-r4881. All is ready for tests by experienced users.

The rest is tests & rc+webUI support.

Original comment by lly.dev on 6 Mar 2013 at 6:18

GoogleCodeExporter commented 9 years ago
Support added since r4989

Original comment by lly.dev on 1 Apr 2013 at 6:26