====================
Non-RIL Source Files
====================

These files should be installed in the source tree as follows:

kernel/asus/tf300t/drivers/net/usb/Kconfig
kernel/asus/tf300t/drivers/net/usb/Makefile
kernel/asus/tf300t/drivers/net/usb/Structs.h
kernel/asus/tf300t/drivers/net/usb/QMI.h
kernel/asus/tf300t/drivers/net/usb/QMIDevice.h
kernel/asus/tf300t/drivers/net/usb/QMIDevice.c
kernel/asus/tf300t/drivers/net/usb/QMI.c
kernel/asus/tf300t/drivers/net/usb/GobiUSBNet.c
 - Gobi network driver
 - Path is taken from the reference platform build
 - copy the new files to the appropriate locations
 - merge the existing files to the appropriate locations
 - make sure this driver is enabled in the kernel .config file


kernel/asus/tf300t/drivers/usb/serial/sierra.c
 - Sierra Wireless serial driver
 - Path is taken from the reference platform build
 - copy the file to the appropriate location overwriting any existing file
 - make sure this driver is enabled in the kernel .config file
 - make sure qcserial driver is DISABLED in the kernel .config file


kernel/asus/tf300t/net/usb/sierra_net.c
 - Sierra Wireless network driver
 - copy the file to the appropriate location overwriting any existing file
 - make sure this driver is enabled in the kernel .config file


system/core/init/property_service.c
system/core/liblog/logd_write.c
 - merge with the existing files.  All Sierra changes are surrounded by
   comments containing SWISTART and SWISTOP.
 - the changes to logd_write.c are optional; they will cause the dhcpcd
   log messages to be put into the radio log instead of the main log.
 - these changes are conditionally compiled with the SIERRA flag.  This flag
   is normally not defined, so either define the flag in an appropriate place,
   or remove the conditional compilation.

frameworks/base/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java
 - we found that these changes are necessary to get the CDMAPhone object 
   to work correctly for MC8355 modems.
 - merge with the existing files.  All Sierra changes are surrounded by
   comments containing SWISTART and SWISTOP.


frameworks/base/telephony/java/com/android/internal/telephony/PhoneProxy.java
 - these changes are necessary to allow runtime switching between GSM
   and CDMA phone objects.
 - merge with the existing file.  All Sierra changes are surrounded by
   comments containing SWISTART and SWISTOP.


frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java
 - defines constants used for custom commands
 - merge with the existing files.  All Sierra changes are surrounded by
   comments containing SWISTART and SWISTOP.


packages/apps/Phone/src/com/android/phone/OtaUtils.java
 - contains minimal changes to get default activation screen in the PhoneApp 
   to use the custom Sierra interface for activation.
 - if desired, merge with the existing file.  All Sierra changes are surrounded 
   by comments containing SWISTART and SWISTOP.
 - these changes are for demonstration purposes only, and are not intended to
   be a complete activation solution.
   
packages/apps/Phone/src/com/android/phone/
 - add support to ECT, Band setting, Int call barring
   Speed dial, auto redial, FDN, PIN2/PUK modification
 - if desired, merge with the existing file.  All Sierra changes are surrounded 
   by comments containing SWISTART and SWISTOP.
   
packages/apps/Contacts/
 - add support to SIM phone book, import contacts from SIM

packages/apps/Settings/
 - add RIL version display in Setting->About
 
frameworks/base/telephony/java/android/telephony/ServiceState.java
frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
 - modifies the definitions associated with LTE and eHRPD to be consistent with 
   the public Android documentation.
 - if desired, merge with the existing files.  All Sierra changes are surrounded 
   by comments containing SWISTART and SWISTOP.


frameworks/base/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
 - provides support for decoding SMS Submit PDUs when read from SIM storage.
 - these changes are optional. If these changes are desired, merge with the existing file.
   All Sierra changes are surrounded by comments containing SWISTART and SWISTOP.


/device/asus/tf300t/overlay/frameworks/base/core/res/res/values/config.xml
 - this file is taken from our Ice Cream Sandwich reference platform.
 - it may be necessary to merge the Sierra specific changes into the corresponding
   config.xml file on your platform. All Sierra changes are surrounded by comments
   containing SWISTART and SWISTOP.


frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaLteUiccRecords.java
packages/apps/Phone/src/com/android/phone/Settings.java
packages/apps/Phone/res/values/strings.xml
packages/apps/Phone/res/xml/cdma_options.xml
 - we found that these changes are necessary to get the CDMALTEPhone object 
   to work well with MC7750 modems.
 - merge with the existing files.  All Sierra changes are surrounded by
   comments containing SWISTART and SWISTOP.


frameworks/base/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
 - we found that these changes are necessary to make an emergency call 
   when SIM is not plugged in.
 - merge with the existing files.  All Sierra changes are surrounded 
   by comments containing SWISTART and SWISTOP.

frameworks/base/telephony/java/com/android/internal/telephony/IccCard.java
 - enable internationnal call barring function
 - enable internaltional call barring password input/change
 - merge with the existing files.  All Sierra changes are surrounded by
   comments containing SWISTART and SWISTOP.

frameworks/base/telephony/java/com/android/internal/telephony/RIL.java
frameworks/base/telephony/java/com/android/internal/telephony/TelephonyProperties.java
frameworks/base/telephony/java/com/android/internal/telephony/PhoneBase.java
frameworks/base/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
frameworks/base/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
 - add RIL version command by OEM hook string


===================
Binary/Target Files
===================

These files should be used on the target device file system as follows:

AndroidFS/system/bin/swisdk
AndroidFS/system/bin/swifwdnld
AndroidFS/system/lib/libsierraat-ril.so
AndroidFS/system/lib/libswisdkapi.so

AndroidFS/system/bin/slqssdk
AndroidFS/system/bin/SierraDMLog
AndroidFS/system/bin/SierraFwDl7xxx
AndroidFS/system/bin/SierraImgMgr
AndroidFS/system/bin/SierraSARTool
AndroidFS/system/lib/libsierra-ril.so
AndroidFS/system/lib/libswims.so
AndroidFS/system/lib/libswiqmiapi.so
AndroidFS/system/app/com.sierra.logs.apk
AndroidFS/system/bin/ash
 - copy to the target device file system



AndroidFS/system/lib/libswigpsqmi.so
 - for QMI RIL, copy to /system/lib/hw on the target device file system and rename as 
   appropriate for the target device.

AndroidFS/system/lib/libswigpsat.so 
 - for AT RIL, copy to /system/lib/hw on the target device file system and rename as 
   appropriate for the target device.


AndroidFS/system/bin/init.dhcpcd
AndroidFS/system/bin/init.ril-daemon
 - copy to the target device file system
 - if you already have an existing file by the same name, do not merge them
   but instead rename this file to something else, and update init.rc
   with that name.


AndroidFS/init.rc
AndroidFS/ueventd.rc
 - these are taken from our Ice Cream Sandwich reference platform.
 - merge the Sierra specific changes into your files.  All Sierra changes 
   are surrounded by comments containing SWISTART and SWISTOP.
 - Note that some of the lines are only applicable to a different type of
   Sierra Wireless modem, and so can be omitted.  These lines are:
     insmod /system/lib/modules/sierra_net.ko


======================
Network Interface Name 
======================

The network interface name is "usbx" or "wwanx" for QMI or AT RIL where x is an integer, usually 0 or 1.
The exact value depends on what other usb network devices are on the target device.  

The following files:

system/core/init/property_service.c
AndroidFS/system/bin/init.ril-daemon
AndroidFS/system/bin/init.dhcpcd

are hard-coded with usb0/wwan0.  If this is not the correct network name on your 
target device, please change usb0/wwan0 to the correct name.




=========================
Switch between AT/QMI RIL
=========================

Both QMI and AT RIL are included in the release package. The default setting is QMI RIL.
It is possible to switch between them by using a script file:
hardware/sierra/tools/selectril.sh

steps:  1 sudo adb root
        2 adb remount
        3 . ./hardware/sierra/tools/selectril.sh at reboot
Or      4 . ./hardware/sierra/tools/selectril.sh qmi reboot