Apr 212012

The Huawei E352s-5 is being marketed as web’n’walk Stick Fusion III by German Telekom. This blog post describes how to use it on Linux systems with the distributions Ubuntu and OpenWrt.

The Features First

  • Supported Modem Standards: HSPA+, HSUPA, HSDPA, UMTS, EDGE, GPRS
  • Highest speeds with HSPA+: up to 21 MBit/s download and 5.76 MBit/s upload
  • Quad Band
  • Interface: USB 2.0
  • Includes a microSD card slot
  • Includes an external antenna connector (CRC9 type)
  • Includes a USB cable
  • Size (HBT in mm): ca. 68 x 26 x 12,3
  • Weight: ~ 30 g

It has a built in LED that has different operating modes:

  • blinking green twice every three seconds: stick is plugged in
  • blinking green once every three seconds: stick is registered with a GPRS network (GSM/GPRS/EDGE)
  • blinking blue once every three seconds: stick is registered with a UMTS network (WCDMA/HSPA)
  • constantly lit green: connected to a GPRS network
  • constantly lit blue: connected to a WCDMA network
  • constantly lit cyan: connected to a HSPA network

Usage with Ubuntu Linux 11.10

Just attach it, wait for a couple of seconds, then enter your SIM and click on the network manager applet to set up a new mobile broadband Internet connection.
Sometimes the connection won’t show up in the network manager applet. This can easily be solved by restarting the network manager applet: sudo service network-manager restart

Usage with OpenWrt

On the OpenWrt router, do:

opkg install comgt kmod-usb-serial usb-modeswitch usb-modeswitch-data kmod-usb-serial-option
# ^ also installing chat
opkg install ppp kmod-usb-core kmod-usb2 kmod-usb-ohci
# ^ should reveal that all those are already "up to date".

update: On the newer OpenWrt version (14.07-rc3), I ran:

opkg install comgt kmod-usb-serial-option kmod-usb-acm usb-modeswitch luci-proto-3g
# ^ also installing libpthread, chat, kmod-usb-serial, librt, libusb-1.0

Then change the /etc/config/network:

config interface wan
        #option ifname ppp0
        option pincode 1234
        option device /dev/ttyUSB0
        option apn your.apn
        option service umts
        option proto 3g

Get your WAN interface up using ifup wan (or /etc/init.d/network restart if you changed more stuff; a reboot if you changed even more).

You can check the connection quality using gcom (read this for information on how to interpret the result):

root@OpenWrt:~# gcom -d /dev/ttyUSB2
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "o2 - de",2
Signal Quality: 14,99

Also check your logs using logread. An example for a functioning connection is given here.

AT Commands

Speed: 9600 baud, Software Handshake, CR line endings

Do I need to enter a SIM PIN? You can check that with the command AT+CPIN?, in this case, I need to enter a pin code:


So we enter the pin using AT+CPIN=1234 (where 1234 is the pin) and get


Now everything is fine and the stick should be connected as you can see from AT+CPIN?


Let’s remove the pin using AT+CLCK="SC",0,"1234":


So which network are we connected to? Enter AT+COPS? and you’ll get something like this:

+COPS: 0,0,"o2 - de",2

ATI : Status (Manufacturer, Model, Revision, IMEI, capabilities). The output was:

Manufacturer: huawei
Model: E352
IMEI: 354092823404170

AT^SYSINFO returns:


Where the numbers stand for status, domain, roaming status, mode, SIM state so in my case it means: Valid service, PS+CS service, Non roaming state, WCDMA mode, Valid USIM card state. I don’t know about the last two numbers.







AT^SETPORT="A1,A2;1,16,3,2,A1,A2" – Set default configuration

Disable virtual CD drive after modeswitch: AT^SETPORT="A1,A2;1,16,3,2,A2" (unplug the stick, plug it back in and you’ll notice).

AT^SYSCFG=? Read more here.

^SYSCFG: (2,13,14,16),(0-3),((400380,"GSM900/GSM1800/WCDMA2100"),(6a80000,"GSM850/GSM1900/WCDMA850/AWS/WCDMA1900"),(3fffffff,"All bands")),(0-2),(0-4)

It seems like the command AT^U2DIAG often used on other Huawei sticks does not work on the E352s-5!


^MODE: (0,1)

During a dial up connection the serial control terminal should give you DSFLOWRPT messages that tell you about the current connection statistics. Read more here. An example for a short session: ^DSFLOWRPT:00000046,0000E790,000065EB,000000000011D930,00000000002CA0D0,000C0000,000E8000 (which stands for: connected for 0x46 = 70 seconds, currently sending 0xe790 = 59280 bytes per second, and receiving 0x427B2 = 272306 bytes / s, total number of 0x11D930 = 1169712 bytes sent and 0x2CA0D0 = 2924752 bytes received); all those values while I had a reported ^RSSI value of 10 to 13.

AT+CLAC will reveal most (not all) supported commands for the stick. The output is a little bit long so you can find it on pastebin (I piped the list into the Unix command column to format it in columns).

More working AT Commands for the E352s-5:

Command Meaning My Output
AT+CGMI Get the manufacturer huawei
AT+CPAS Status of the phone +CPAS: 0
AT+CSQ Signal Quality +CSQ: 7,99
AT^YJCX ^YJCX: CH4E352SM,H8BCS0PE0MBR,0xada1,128MB,2048B
AT+CIMI Get SIM IMSI number 262075152103136
AT+CGSN Get device IMEI 354092823404170
AT^HWVER Get Hardware Version ^HWVER:”CH4E352SM”
AT+COPS=? List avail. networks

References for the AT commands:


VN:F [1.9.22_1171]
Rating: 9.5/10 (2 votes cast)
Using the Huawei E352s-5 UMTS USB Modem Stick with Ubuntu and OpenWrt, 9.5 out of 10 based on 2 ratings

Related Posts:

  8 Responses to “Using the Huawei E352s-5 UMTS USB Modem Stick with Ubuntu and OpenWrt”

  1. […]

    Using a 3G Modem

    Using a usb modem stick to connect to the internet is possible with the WZR-HP-AG300H. I successfully tested it with a Huawei E352s-5. The details can be read in my other blog post Using the Huawei E352s-5 UMTS USB Modem Stick with Ubuntu and OpenWrt.


  2. Hallo, Hast du den externen Antennenanschluss auch getestet? Wäre nämlich ein KO Kriterium für mich. Danke Thomas

    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • Hallo Thomas. Nein, den externen Antennenanschluss habe ich bis jetzt nicht benutzt. Viele Grüße

      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  3. On bleeding edge I needed to add this file /etc/usb_modeswitch.d/12d1_14fe containing:

    Huawei E352s-5
    DefaultVendor= 0x12d1
    TargetVendor=  0x12d1
    TargetProduct= 0x1506

    and after that I did this:

    echo "12d1 1506" > /sys/bus/usb-serial/drivers/option1/new_id

    Only then then the modem was succesfully flipped and /dev/ttyUSB0-5 where available…

    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)
  4. Hi there!

    Just found this: http://forum.gsmhosting.com/vbb/f804/command-s-force-3g-4g-huawei-zte-gsm-modems-1682751/

    If you want to completely disable the CDROM and SD-Card so that no modeswitching is necessary, do this: AT^SETPORT="FF;1,2,3,7"

    I have just verified this with my E352s-5 from German Telekom. It directly enumerates as 0x12d1:0x1506.

    No more modeswitch! :-)

    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)
    • Nice one! Thanks for this information. Did you also find out how to change the mode back to the original state?

      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  5. Should be AT^SETPORT=”A1,A2;1,2,3,7,A1,A2″. Depending on what you want. CDROM+SD before and after modeswitch. Current config can be queried with AT^SETPORT? Possible values with AT^SETPORT=?

    You will immediately recognize the system behind it.

    VA:F [1.9.22_1171]
    Rating: +1 (from 1 vote)

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>