Posts

Showing posts with the label 3g

Linux cures Windows driver problem

Installing a Huawei E352 HSPA+ dongle took ages under Windows. I had to abort it halfway through because I was running out of time. In retrospective, it was probably caused by a conflict with the previous modem's connection dashboard. I was shocked when I wanted to resume next time. Some time after inserting the device, the system asked for a .sys file from a driver disk. Neither modem worked anymore. As usual for this kind of dongle, no vendor download is available as the device itself contains all drivers on a virtual CD-ROM. However, that is only accessible before it's  switched to modem mode  by the parts already installed. Chicken and egg problem. Puppy Linux to the rescue! Thankfully, I had it on my USB flash along with DSL and SliTaz . The system loaded to RAM rapidly. I copied over the drivers from the modem to another USB flash. As a plaything, I enjoyed the command line and the responsivity, also browsing the web a bit over 3G. After rebooting to Windows, re...

HSPA+ idle latency improvements

I've just discovered that newer devices and networks probably don't need my latency hack anymore described in  making your 3G cellular mobile Internet 10x faster for free . According to this overview , the following features introduced for Evolved HSPA (or HSPA+) in 3GPP Release 7 could theoretically fix the issues I've uncovered: Continuous packet connectivity :   With much of the data traffic being in the form of IP data, continuous connectivity is an increasing requirement. To achieve this the HS-DSCH and E0DCH channels have been reconfigured to enable them to be rapidly able to transmit user data. Enhanced CELL_FACH operation:   This enhanced operation is required to assist in maintaining the always-on packet connectivity during periods when there have been little or no activity.

Huawei E3131S-2 on Ubuntu 12.04 with wvdial

It works out of the box with a plain wvdial after a small adjustment (need to erase the +FCLASS=0 part). It is detected as the following device (after the automatic mode switch): ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard For the record, I paste the wvdial.conf configured for T-Mobile in Hungary: [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet" Modem = /dev/ttyUSB0 Username = wap Password = wap Modem Type = Analog Modem Baud = 9600 New PPPD = yes ISDN = 0 Phone = *99# Stupid Mode = 1 Most of the settings are not crucial, but some of them depend on your carrier, like "Init3", "Username" and "Password", while "Modem" depends on your device.

Making your 3G cellular mobile Internet 10x faster for free

I've made a small script for greatly improving response time of 3G cellular data connections while only consuming a minimal amount of transfer quota. It is most noticable when browsing, having interactive ssh sessions and maybe for some remote desktop use cases. The result is basically reducing the 500ms-1500ms initial latency and random ping times to normal rates of below 80ms. Of course this assumes that you have no other problems like reflections, interference, signal strength or congestion. I've experimented with raw UDP, TCP and ICMP packets in different configurations, but sticked with this simple and efficient solution in the end. An even more advanced future implementation could involve STUN and an external server to steadily stream optimally sized and timed UDP packets to the client without ACK requirement. Also, a further enhanced version could closely monitor local transfer conditions and determine if any addition transfer should actually be done. Description fro...

ZTE MF195 3G hack on Ubuntu 11.10

If you connect this modem to a machine running Ubuntu, it mounts and opens the virtual driver disk. If you unmount the partition, usb_modeswitch automatically kicks in and switches the device from CD-ROM emulation to modem mode. Unfortunately, Network Manager would not connect regardless of configuration. However, after some trial and error, wvdial was able to establish connection and start transferring data. After reducing the unknowns, I've devised a small script which waits until the drive gets automatically mounted, unmounts the device, waits for settling and then establishes a connection with wvdial. This script was hooked up to a specific device addition udev rule to make it run automagically. As the devised udev rule did not narrow down the event good enough, actually two such invocations are done for each insertion, so a bit of an ugly hacking was involved to implement mutual exclusion.