|Installing Arch Linux On An Asus EEE PC 900 Netbook||IPv6: Dynamic Routing with Quagga and ospf6d (OSPFv3)|
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
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.
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:
+CPIN: SIM PIN
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
Let’s remove the pin using
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 Revision: 21.106.01.00.55 IMEI: 354092823404170 +GCAP: +CGSM,+DS,+ES
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.
^GETPORTMODE: TYPE: WCDMA: huawei,MDM:0,NDIS:1,DIAG:2,PCUI:3,CDROM:4,SD:5
^SETPORT:A1: CDROM ^SETPORT:A2: SD ^SETPORT:A: BLUE TOOTH ^SETPORT:B: FINGER PRINT ^SETPORT:D: MMS ^SETPORT:E: PC VOICE ^SETPORT:1: MODEM ^SETPORT:2: PCUI ^SETPORT:3: DIAG ^SETPORT:4: PCSC ^SETPORT:5: GPS ^SETPORT:6: GPS CONTROL ^SETPORT:7: NDIS ^SETPORT:16: NCM
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!
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:
|AT+CGMI||Get the manufacturer||huawei|
|AT+CPAS||Status of the phone||+CPAS: 0|
|AT+CSQ||Signal Quality||+CSQ: 7,99|
|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:
- More details about AT commands for GSM phones on Wikipedia
- send text messages: How to send an SMS with AT-commands
- More commands (like read the phone book from SIM): AT Test Commands
- Common AT Commands
- The official document: AT command set for User Equipment (UE)
- Huawei E220 on Linux
- instructions to connect C91 & Huawei E353 3G Dongle
- See the
dmesgoutput on Ubuntu.
usb_modeswitchsupports the Huawei E352.
usb_modeswitchin the German Ubuntuusers Wiki
- You can find the best prices (for Germany) on Geizhals
- USB 3G Modem in the Arch Linux Wiki
- German Review of the Huawei E352s-5