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:
+CPIN: SIM PIN
So we enter the pin using AT+CPIN=1234
(where 1234 is the pin) and get
OK
Now everything is fine and the stick should be connected as you can see from AT+CPIN?
+CPIN: READY
Let's remove the pin using AT+CLCK="SC",0,"1234"
:
OK
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
AT^SYSINFO
returns:
^SYSINFO:2,3,0,5,1,,4
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^GETPORTMODE
^GETPORTMODE: TYPE: WCDMA: huawei,MDM:0,NDIS:1,DIAG:2,PCUI:3,CDROM:4,SD:5
AT^SETPORT?
^SETPORT:A1,A2;1,16,3,2,A1,A2
AT^SETPORT=?
^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!
AT^MODE=?
^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:
- 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
- https://wiki.archlinux.org/index.php/Huawei_E1550_3G_modem#AT_commands