[Android General] SkandaH:
About the device:

http://www.xolo.in/Q2000L

http://www.gsmarena.com/xolo_q2000l-6495.php

Stock Firmware:

Latest : S017_01-07-2014 (KitKat 4.4.2)

https://drive.google.com/uc?id=0B6xlBPoXgsR3U0JBWm5oT0J5bUU (Source)

File: Xolo Q2000L S017 01-07-2014-(by_xdafirmware.com).zip
CRC-32: eb227244
MD4: c8d1739be1fe45d43d8fd2a1615d680d
MD5: 07a484331431e523e5067186f07f0ac3
SHA-1: e808227b928fd03f0696ef6e37015432c06fade5

Flashing Instructions:

Prerequisites:

1. Broadcom MultiDownloader

(Latest one I can find is V2.0.1; Source)

2. Broadcom USB Download Device driver

(Latest one I can find is v1.0.5, mirror by [MENTION=3730190]moulnisky[/MENTION]. Broadcom uses two interfaces for flashing - one is serial/COM & another is USB but now they encourage to use the later one. Remember that the driver's digital signature isn't valid for 8.1/10 so you need to turn off driver signature enforcement to install the driver. To install the driver manually, open BRCM_WinUSB_ADB_Jungo_MTP_RNDIS_Driver_1.05.exe using 7-Zip, extract the contents & install the using bcmusbdl.inf)

Follow this tutorial, but we need some enhancements:

1. At step 8, I've chosen Download Mode as "Flash All Image" i.e the first one.

2. Skip step 9 & 10, come to step 11 i.e press 'Flash' button.

3. After that, connect the device in flashmode i.e as described in step 9. If Broadcom USB Download Device driver is properly installed, then flashing will begin. FYI, the hardware ID of the flashing interface is USB\VID_0A5C&PID_E720.

USB Debugging:

Broadcom bundles signed drivers for ADB/MTP/RNDIS interfaces along with the device itself (in the emulated CD drive). I've also mirrored it here. As an alternative, you can also use Android USB UnifL driver.

Remember that current ADB binary requires vendor ID whitelisting to detect Broadcom SoC. So execute Broadcom_SoC_Drivers.rar\AndroidPCUSBdrivers\andro id adb\brcm_adb_vendor_id.bat to do it. Otherwise ADB can't see the device, even if drivers are properly installed.

Rooting:

After you are able to communicate with the device through ADB, use iRoot to root it. Make sure to uninstall two Chinese bloatwares that came with Kinguser. I personally prefer to use SuperSU by [MENTION=631273]Chainfire[/MENTION], so we need to tinker with it again.

1. Install BusyBox.

2. Thanks to [MENTION=3669069]idler1984[/MENTION], we've an easy way to switch from Kinguser to SuperSU. See here, search for "Q: I'd like switching to SuperSU, what shall I do?". I'm also providing the modified steps here which fits our needs:

2.1. Download SuperSU (I prefer the latest beta though). Open the zip, go to armv7 folder & extract the file named "su".

2.2. Use ADB to push su to /data/local/tmp:

adb push su /data/local/tmp

2.3. Start a su session and run the following commands:

adb shell
su
mount -o remount,rw /system
cat /data/local/tmp/su >/system/xbin/daemonsu && chmod 0755 /system/xbin/daemonsu
cat /data/local/tmp/busybox >/system/bin/busybox && chmod 0755 /system/bin/busybox
daemonsu -d &

Then keep the session running.

2.4. Open Kinguser, go to Settings -> Root authorization setting -> Remove Root permission. Click to remove root permission. It may crash but its harmless. Your su session should be still running.

2.5. Uninstall Kinguser app.

2.6. Go back to the su session and run following commands to replace su and cleanup:

cat /data/local/tmp/su >/system/xbin/su && chmod 0755 /system/xbin/su
busybox chattr -ia /system/bin/ddexe
busybox chattr -ia /system/bin/ddexe_real
cat /system/bin/ddexe_real >/system/bin/ddexe
busybox chattr -ia /system/xbin/ku.sud
rm /system/xbin/ku.sud
rm /system/xbin/pidof
rm /system/xbin/supolicy

2.7. Install SuperSU; get it from SuperSU zip => common\Superuser.apk.

2.8. Open SuperSU to update files & reboot.

2.9. (Optionally) make SuperSU a system app.

Other Notes:

1. This device has fastboot interface too; you can access it by running

adb reboot bootloader

2. To force install applications in SD card, use this:

adb install -s NAME.apk