[Nexus 7 Android Development] trevd:
Hi Folks.

[DISCLAIMER]YOU KNOW THE DRILL.... RESPONSIBILITY FOR DAMAGE, INCURRED COST THROUGH EXCESSIVE DATA USAGE ETC IS NOTHING TO DO WITH ME.[DISCLAIMER]

VITAL : THIS IS STILL A WIP - THERE IS A GOOD CHANCE THAT I'VE DONE SOMETHING WRONG, COPIED A FILE TO THE WRONG DIRECTORY OR SIMPLY MISSED SOMETHING OUT, PLEASE THINK ABOUT WHAT YOU ARE DOING BEFORE BLINDLY FOLLOWING THE INSTRUCTIONS OF SOME MANIAC ON THE INTERNET :laugh:

Right on with the fun!

I haven't had much time to look at this as it wasn't top of my list, However the good news is I now have full 3g connectivity on the nexus 7 using Huawei 3G Dongles. :victory:

The issue turned out to be incorrect permissions on the /dev/ttyUSB* devices nodes which are created by the Huawei Modems, this was fixed by adding the following line to uevent.grouper.rc in the boot.img,

/dev/ttyUSB* 0660 root radio

simple when you know how!

I've attached a zip file which contains the files needed to enable this. It is a manual installation at present although I plan to make this flashable through recovery at some point but would really like to leave any other modification you may have made in tact. I.e TabletUI etc

The Changes where made to the Stock Factory Image JRO03D with Kernel 3.1.10-g52027f9

I've included the stock Mms app and enabled both voice and sms capability in the framework-res.apk. I left out the Phone.apk as you can only make silent calls because of the lack of Audio Rooting ( A possible future project perhaps :) ). I also changed the Data Usage to monitor the connection used by the dongle which allows you to impose data limits on your bandwidth ( see screenshots ).

Upon applying this update you should have mobile networks available in "settings/more networks" and the signal strength icon should appear in your status bar

Download the file here ( hotfile )

Please follow the readme in the archive for installation instructions and take note of the notes!

In addition to the steps in the readme, It's worth making sure that everything that needs to be executable still is.

adb shell chmod 6755 /system/bin/pppd
adb shell chmod 755 /system/xbin/chat
adb shell chmod 755 /system/bin/usb_modeswitch
adb shell chmod 755 /system/bin/rild
adb shell chmod 755 /system/bin/hotplugd
adb shell chmod 755 /system/etc/ppp/init_pppd_gprs
adb shell chmod 755 /system/etc/ppp/ip-up-gprs
adb shell chmod 755 /system/etc/ppp/ip-down-gprs

SUPPORTED DEVICES

The theoretical list of supported devices come from those Huawei devices which are supported by the GSM Modem driver in 3.1.10 kernel.

my testing was on a E1752Cu, E173s-1 and the E1750

Confirmed Devices

Huawei

E1750

E1752Cu

E173s-1

E173-u2 ( Thanks to m3ritum ) Video

E367 ( Thanks to mynamesriz )

E3131s-2 GSM/HSPA+ ( Thanks to radkor )

EC156 CDMA with a couple of tweaks see this post [ Post #76 ] ( Thanks to mailbinoy )

E160E (Thanks to Dragon0501 )

ZTE

MF190J**

MF190**

MF636**

MF626**

** Thanks To NexusPhreak

TROUBLESHOOTING

There are 2 main ways your connection attempt can fail.

1. The UsbStick has not switched to modem mode

2. The ppp connection script failed

Either Way it would be highly useful post the list of system properties, outputs of dmesg and also a full logcat aswell as the vendor/product id from lsusb,

some like this throught the adb

adb shell getprop
adb shell lsusb
adb shell dmesg
adb logcat -b radio -b system -b main -b events

* Note if you are running logcat through terminal emulator please run it with superuser permissions

su -c "logcat -b main -b system -b events -b radio"