There are steps to increase your ROOTED Android phone’s 3G performance on the AT&T network if you are using a stock ROM. Using the Dell Streak running SimpleStreak 1.2 as an example, I was consistently pulling ~800kbps from various Ookla servers. My buddy’s iPhone 4 would hit 2.5MB sitting right next to me running the test simultaneously. The issue does not manifest when using a custom ROM such as CyanogenMod on the Nexus One or StreakDroid on the Dell Streak. That is because they have already added the modifications to the build.prop to specify the category settings of the radio interface layer (ro.ril).
The radio interface layer is controlled by ro.ril commands in the build.prop file (2.2.2 Froyo) and indicates the class category of the target network. Android is available on every network throughout the world, so some testing has been done to ensure the best performance on the AT&T 3G network using the Dell Streak. Please note, these settings may work on other phones. In fact, many of these settings were gleemed from Amon_RA’s testing with the Nexus One.
- adb pull /system/build.prop
- create a backup copy
- open in Notepad++ and append ro.ril settings to the end
- adb remount
- adb push build.prop /system/build.prop
- adb reboot
- Reboot phone a second time
OR a much simpler method is to use Root Explorer on your phone
- Install Root Explorer
- Navigate to /system and touch “Mount R/W”
- long press “build.prop” and choose “Open in Text Editor”
- manually type or paste the ro.ril lines at the end of the file
- Reboot twice
The ro.ril settings to add to build.prop:
ro.ril.enable.dtm=1 ro.ril.gprsclass=12 ro.ril.hep=1 ro.ril.enable.3g.prefix=1 ro.ril.hsdpa.category=14 ro.ril.hsupa.category=6 ro.ril.hsxpa=5
Make sure to leave a blank line at the end of the build.prop and reboot twice. Test 3G network speeds using any speed test, recommend Ookla SpeedTest.net
A breakdown of these settings:
ro.ril.enable.dtm=1: Boolean value when set to 1 allows ARFCN simultaneous transfer of Packet Switched (PS) and Circuit Switched (CS) data over the same radio channel
ro.ril.gprsclass=12: indicates the target 2G GPRS class of network.
- Class 12 : 5 slots : 32 – 48 kbps upload / 32 – 48 kbps download
- It has been suggested that to save battery performance, set this value to Class 10 : 5 slots : 16 – 24 kbps upload / 32 – 48 kbps download
ro.ril.hep=1: Not certain.
- Suggested change to hep=0 if you have issues with HQ youtube videos over cellular data.
ro.enable.3g.prefix: Adds the 3G prefix to the operator name
ro.ril.hsdpa.category=14: Indicates the highest High-Speed Downlink Packet Access category.
- Cat 8 = 7.2 Mbit/s (highest setting for Dell Streak)
- Cat 28 = 84.4 Mbit/s (highest category setting)
- Cat 14 = 21.1 Mbit/s (For one reason or another gave me the best performance on my Streak)
ro.ril.hsupa.category=6: Indicates the highest High Speed Uplink Packet Access category.
- Cat 6 = 5.76 Mbit/s
ro.ril.hsxpa=5: Indicates HSXPA support of target network
- 0 = UMTS r99
- 1 = HSDPA
- 2 = HSDPA / HSUPA
- 5 = Not Certain. Found an XDA post by Amon_RA with this setting for N1 and tried it. First time I ever hit 3Mb down on a speed test.
To wrap up, it is disappointing to not see the same 4Mbit speeds that others report with the Captivate and X10. It appears that this may be due to Dell’s design of the mobile radio. To note, I am running SimpleStreak 1.2 with the 353 AMS baseband.
It is also important to mention that simply flashing the 353 AMS may not be enough to ensure proper radio calibration. The correct method in this case is to flash the Stock Recovery for 351, flash the 351 Update.pkg, boot and relish in stock for about 1 minute (as long as I can anyway), flash StreakMod recovery, flash SimpleStreak 1.2 (or SD1.9.1 or what not), Boot once, flash Themes, bada boom, full speed.
fastboot -i 0x413c flash recovery recovery.img
fastboot -i 0x413c reboot
I originally tried HSDPA Cat 14, but was pointed out that the Streak has a maximum radio HSDPA speed of 7.2Mbps, which is Cat 8.
Also of note is that you can place the ro.ril settings in the /data/local.prop “which does not get overwritten like the build.prop does when you push a new ROM.”
Comment on this issue at the XDA thread for the Dell Streak “Best AT&T Set Up For Download Speed” http://forum.xda-developers.com/showthread.php?t=1135682
or “[mod] Boosting Signal Strength (hspa/gprs)” http://forum.xda-developers.com/showthread.php?t=924440