Help w/ Tasker for faster eSIM/SIM switching - Google Pixel 2 XL Questions & Answers

Hi all, here's my scoop:
First, rooted and using Magisk. I'm looking for a way to quickly switch between my eSIM (Fi) and SIM card (T-Mobile data-only) without having to navigate the menu. I believe I found the correct intent (android.telephony.action.CARRIER_CONFIG_CHANGED, flag=0x5000010) but Android stopped allowing background broadcasts in Oreo. So, when I try to run it as a broadcast
Code:
am broadcast -a android.telephony.action.CARRIER_CONFIG_CHANGED
I get
Code:
BroadcastQueue: Background execution not allowed: receiving Intent
in logcat. Does anyone have a suggestion on how to change the syntax to run this as an
Code:
am start
command? Thanks!
NOTE:If you're wondering why I am even doing this: I have a $10 2GB data-only plan with T-Mobile. This data-only plan includes Music Freedom, which means I can listen to all the music I want, and still take FI phone calls and texts over Hangouts.

I use FiSwitch from the Play Store, it works great especially with root as it automates switching for you. It also has wigets and QS tiles for quick access. :good:
Edit: I apologize as I didn't directly answer your question. I've not tried to use Tasker with switching.

Bologner said:
Hi all, here's my scoop:
First, rooted and using Magisk. I'm looking for a way to quickly switch between my eSIM (Fi) and SIM card (T-Mobile data-only) without having to navigate the menu. I believe I found the correct intent (android.telephony.action.CARRIER_CONFIG_CHANGED, flag=0x5000010) but Android stopped allowing background broadcasts in Oreo. So, when I try to run it as a broadcast
Code:
am broadcast -a android.telephony.action.CARRIER_CONFIG_CHANGED
I get
Code:
BroadcastQueue: Background execution not allowed: receiving Intent
in logcat. Does anyone have a suggestion on how to change the syntax to run this as an
Code:
am start
command? Thanks!
NOTE:If you're wondering why I am even doing this: I have a $10 2GB data-only plan with T-Mobile. This data-only plan includes Music Freedom, which means I can listen to all the music I want, and still take FI phone calls and texts over Hangouts.
Click to expand...
Click to collapse
Did you find a way to solve this?
I'm outside USA, so I can't use FiSwitch, but here in Spain we've got two mobile networks with eSim support, so I'm currently using my Pixel 3 with an eSim and I've got also a physical SIM, and I'd like to automate card switching. Same thing as you.
I've tried the new "Custom Setting" Tasker feature, and I've found some variable changes when you switch the SIM:
multi_sim_sms
multi_sim_voice_call
multi_sim_data_call
They all are set to 2 with eSIM, and 3 with physical SIM... I've tried manually changing those system variables using that "Custom Setting" Tasker feature, but it does nothing... I guess there's something more to be done to activate the change... but no idea what at the moment.
Thanks a lot.

The guy above mentioned FiSwitch, but I'm not sure it was clear that it has a widget that can do exactly this. (I do the same thing as you, but with Fi and mint mobile)
https://drive.google.com/file/d/1ErREmtX8UfzXSrOOhGpv_z2pJ7ZW7qYm/view?usp=drivesdk

In my previous post I didn't mention that the fiswitch solution didn't work for my device (pixel 4). When googling for a way to switch SIMs without going through a hundred menus, this post is one of the first that always came up. My previous post had some issues, which I hope are cleaned up. If there are other ways to accomplish this, someone please reply and let me know where.
Disclaimer: I'm not a tasker expert. Just an old guy that enjoys making shtuff work. The tasker stuff is after the green text (if you just want to scroll).
I have Google fi and at&t. All I wanted was a quick tile to switch from one sim to the other and back. For my setup I primarily use Fi for phone and sms. I switch between Fi and at&t data depending on who's fastest.
Fi has 3 cellular providers, TMobile, Sprint and US cellular.
There are 9 options for providers in Android global settings:
mobile_data1, mobile_data2, ... mobile_data9 (might also be a mobile_data (with out a numerical suffix), can't remember lol).
Your sim will use one for each provider. So I would have 3 providers for Fi and 1 for at&t. You will need to figure out which of the 9 you are using. Easy way would be to use autotools and read the values of these settings then just "flash" the value on the screen. If you have a computer and can use adb, that works too. You can use fiswitch to change Fi providers, then use the flash method to figure out the provider number.
In my case it was mobile_data4 (TMobile), mobile_data5 (Sprint), mobile_data6 (US cellular), and mobile_data8 (at&t).
When switching SIMs the active sim has all of its providers disabled. The providers for the new sim are then enabled. After that you update a setting (multi_sim_data_call) to tell Android which provider to use for data. You will want to disable data, update this setting, then enable data. You will also need to stop and start ril-daemon using a shell command (toggling air plane mode works too, but I think restarting ril is faster).
Note: because I use the Fi sim for phone, I use the multi_sim_voice_call setting to figure out which provider (ex 4,5,6) to use when switching data to fi.
I used autotools to set the globals because that's where I started (it's working great so I don't want to mess with it). There are probably several ways to do it.
Here's what I did in tasker:
SIM Swap Example (18)
<get current data provider>
A1: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Read Setting: true Timeout (Seconds):60 ]
<get current phone provider>
A2: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_voice_call
Input Type: String
Read Setting: true Timeout (Seconds):60 ]
A3: [X] Flash [ Textata: %multi_sim_data_call Voice: %multi_sim_voice_call Longff ]
<if att>
A4: If [ %multi_sim_data_call ~ 8 ]
<disable att>
A5: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data8
Input Type: Int
Value: 0 Timeout (Seconds):60 ]
<enable TMobile>
A6: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data4
Input Type: Int
Value: 1 Timeout (Seconds):60 ]
<enable sprint>
A7: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data5
Input Type: Int
Value: 1 Timeout (Seconds):60 ]
<enable us cellular>
A8: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data6
Input Type: Int
Value: 1 Timeout (Seconds):60 ]
<set data to fi phone provider>
A9: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Value: %multi_sim_voice_call Timeout (Seconds):60 ]
A10: Mobile Data [ Setff ]
<stop ril-daemon>
A11: Run Shell [ Command:stop ril-daemon Timeout (Seconds):0 Use Rootn Store Output In: Store Errors In: Store Result In: ]
<else fi selected>
A12: Else
<disable Fi (TMobile)>
A13: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data4
Input Type: Int
Value: 0 Timeout (Seconds):60 ]
<disable Sprint>
A14: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data5
Input Type: Int
Value: 0 Timeout (Seconds):60 ]
<disable us cellular>
A15: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data6
Input Type: Int
Value: 0 Timeout (Seconds):60 ]
<enable at&t>
A16: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: mobile_data8
Input Type: Int
Value: 1 Timeout (Seconds):60 ]
<set data to at&t>
A17: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Value: 8 Timeout (Seconds):60 ]
A18: Mobile Data [ Setff ]
<stop ril-daemon>
A19: Run Shell [ Command:stop ril-daemon Timeout (Seconds):0 Use Rootn Store Output In: Store Errors In: Store Result In: ]
A20: End If
A21: Wait [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ]
<start ril-daemon>
A22: Run Shell [ Command:start ril-daemon Timeout (Seconds):0 Use Rootn Store Output In: Store Errors In: Store Result In: ]
A23: Mobile Data [ Setn ]
A24: [X] AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Read Setting: true Timeout (Seconds):60 ]
A25: [X] Flash [ Textata: %multi_sim_data_call Voice: %multi_sim_voice_call Longff ]
Hope this helps someone. You all have a great Christmas and New year!
I know this is old, but I was able to automate sim switching by disabling mobile data, then changing the multi_sim_data_call setting, then turning mobile data back on. In my case, my sim numbers are 4 and 8.
SIM Swap
A1: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Read Setting: true Timeout (Seconds):60 ]
A2: [X] Flash [ Text:%multi_sim_data_call Longff ]
A3: Mobile Data [ Setff ]
A4: If [ %multi_sim_data_call ~ 8 ]
A5: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Value: 4 Timeout (Seconds):60 ]
A6: Else
A7: AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Value: 8 Timeout (Seconds):60 ]
A8: End If
A9: Mobile Data [ Setn ]
A10: [X] AutoTools Secure Settings [ Configuration:Setting Type: Global
Name: multi_sim_data_call
Input Type: String
Read Setting: true Timeout (Seconds):60 ]
A11: [X] Flash [ Text:%multi_sim_data_call Longff ]

Related

[WIP] Lets recover hard-bricks

Hey guys. I'm doing some work to figure out how to recover Galaxy Nexus devices which are hard-bricked.. ie.. they have a bad or no bootloader installed.
the boot sequence
1. IROM - the Internal ROM which cannot be rewritten on the device. This loads the XLoader.
2. XLoader/MLO - This completes the initialization of the processor and memory, and loads up the relatively huge U-Boot ( Samsung modified this and calls it SBL)
3. UBoot/SBL - This "Bootloader" is almost a complete operating system. The U-Boot initializes the screen, provides Odin mode, Fastboot Mode as well as loading the kernel/recovery and provides a UART debugging mode (Yet to be unlocked).
4. Kernel - Once we reach this point, it's all clear.. the kernel is linux which loads android and all sorts of other things.
The Problem
People are bricking their devices at stage 2 and 3 of this boot sequence... This leaves them unable to boot Fastboot or Odin. The device is 100% interchangable with a brick. These devices are ending up hard bricked.
The solution
We must come up with a way to undo the hard brick. Here are some things i'm looking at to use the native hardware to recover itself.
When you plug in the device (when off), you will immediately notice a Texas Instruments D010 device gets enumerated. This is a debug mode for the processor.
Code:
Bus 001 Device 023: ID 0451:d010 Texas Instruments, Inc.
We've started looking at some bootloader output here: http://forum.xda-developers.com/showthread.php?t=1461986
You can find information about the OMAP4 bootloaders here: http://omapedia.org/wiki/Bootloader_Project
Help
I need help locating drivers to initialize the 0451:d010 device and make it readable from within Linux or Windows.. Generally Linux is easier to find appropriate drivers.
I could use some help collecting more reading materials and resources.
I think together as a community we can take care of this problem.
I kinda forgot that thread, it got lost among rom/kernel threads. Thanks for the reminder.
sent from my i9250
Ok... so here's the most complete boot log I've been able to obtain from the device
Code:
[Thermal] OK to boot
Initialize runtime thermal monitoring ...done!
-- OMAP 00004460 (version 04460e11) PPA release 1.6.1 Hash 30639809--
Device type: HS, DEBUG OFF
CPFROM HAL API support integrated
THERMAL support integrated: Run Time + Boot time
HDCP support integrated
-- PROD PPA RC3.2.3 --
Reset reason = 00037ba2
PRM_RSTST = 00000002
PPA freed 2992 bytes
Texas Instruments X-Loader 1.41 (Nov 16 2011 - 16:28:45)
Starting OS Bootloader from MMC/SD1 ...
EXCEPTION : CM_CLKMODE_DPLL_ABE = 0x7
EXCEPTION : CM_IDLEST_DPLL_ABE = 0x1
EXCEPTION : CM_CLKSEL_DPLL_ABE = 0x804018
EXCEPTION : CM_CLKMODE_DPLL_CORE = 0xf
EXCEPTION : CM_IDLEST_DPLL_CORE = 0x1
EXCEPTION : CM_CLKSEL_DPLL_CORE = 0x7d05
EXCEPTION : CM_CLKMODE_DPLL_PER = 0x107
EXCEPTION : CM_IDLEST_DPLL_PER = 0x1
EXCEPTION : CM_CLKSEL_DPLL_PER = 0x1400
EXCEPTION : CM_CLKMODE_DPLL_MPU = 0x117
EXCEPTION : CM_IDLEST_DPLL_MPU = 0x1
EXCEPTION : CM_CLKSEL_DPLL_MPU = 0x807d07
CFG_LOADADDR = 0xa0208000
1st instruct = 0xEA000007
[ __omap_twl6030_init_vbat_cfg :49] SA_PHOENIX_START_CONDITION = 0x4a
[ __omap_twl6030_init_vbat_cfg :54] SA_PH_CFG_VBATLOWV = 0x80
[ __omap_twl6030_init_vbat_cfg :63] SA_PH_CFG_VBATLOWV = 0x80
[ __omap_twl6030_init_vbat_cfg :86] SA_BBSPOR_CFG = 0x78
====== VCELL : 381375, SOC : 49, nType : 5 ======
[Charger] nScaledVCELL : 381375000, nDesriedSOC, : 62, nMaxSOC : 82, nMinSOC : 42
[ omap_power_get_reset_source :47] PRM_RSTST : 0x2
[ __omap_usbacc_test_donwload_by_musb :280] nDeviceType : 0x5
[ omap_usbacc_get_reboot_reason :333] nJigStatus = 0x00000003
[ __sbl_board_hw_init_late :719] final reboot mode in cable = 0x40000
[ __sbl_board_hw_init_late :730] Wake up by TA / USB / JIG
* FB base addr = 0xbea70000!
* PANEL_S6E8AA0_ID_READ : 0x12, 0x8e, 0x9f.
[ omap_power_get_reset_source :47] PRM_RSTST : 0x2
dev : 5
[sbl_board_charger_init_post] : Succeed set model data : 0x78!!!!!
====== VCELL : 381500, SOC : 50, nType : 5 ======
[Charger] nScaledVCELL : 381500000, nDesriedSOC, : 62, nMaxSOC : 82, nMinSOC : 42
[ omap_power_get_reset_source :47] PRM_RSTST : 0x1
[ __omap_usbacc_test_donwload_by_musb :280] nDeviceType : 0x5
[ omap_usbacc_get_reboot_reason :333] nJigStatus = 0x00000003
[ __sbl_board_hw_init_late :719] final reboot mode in cable = 0x40000
[ __sbl_board_hw_init_late :730] Wake up by TA / USB / JIG
* FB base addr = 0xbea70000!
* PANEL_S6E8AA0_ID_READ : 0x12, 0x8e, 0x9f.
[ omap_power_get_reset_source :47] PRM_RSTST : 0x1
message.command =
message.status =
message.recovery =
<hit enter twice to activate fiq debugger>
[Thermal] OK to boot
Initialize runtime thermal monitoring ...done!
-- OMAP 00004460 (version 04460e11) PPA release 1.6.1 Hash 30639809--
Device type: HS, DEBUG OFF
CPFROM HAL API support integrated
THERMAL support integrated: Run Time + Boot time
HDCP support integrated
-- PROD PPA RC3.2.3 --
Reset reason = 0003fba2
PRM_RSTST = 00000002
PPA freed 2992 bytes
Texas Instruments X-Loader 1.41 (Nov 16 2011 - 16:28:45)
Starting OS Bootloader from MMC/SD1 ...
EXCEPTION : CM_CLKMODE_DPLL_ABE = 0x7
EXCEPTION : CM_IDLEST_DPLL_ABE = 0x1
EXCEPTION : CM_CLKSEL_DPLL_ABE = 0x804018
EXCEPTION : CM_CLKMODE_DPLL_CORE = 0xf
EXCEPTION : CM_IDLEST_DPLL_CORE = 0x1
EXCEPTION : CM_CLKSEL_DPLL_CORE = 0x7d05
EXCEPTION : CM_CLKMODE_DPLL_PER = 0x107
EXCEPTION : CM_IDLEST_DPLL_PER = 0x1
EXCEPTION : CM_CLKSEL_DPLL_PER = 0x1400
EXCEPTION : CM_CLKMODE_DPLL_MPU = 0x117
EXCEPTION : CM_IDLEST_DPLL_MPU = 0x1
EXCEPTION : CM_CLKSEL_DPLL_MPU = 0x807d07
CFG_LOADADDR = 0xa0208000
1st instruct = 0xEA000007
[ __omap_twl6030_init_vbat_cfg :49] SA_PHOENIX_START_CONDITION = 0x8
[ __omap_twl6030_init_vbat_cfg :54] SA_PH_CFG_VBATLOWV = 0x80
[ __omap_twl6030_init_vbat_cfg :63] SA_PH_CFG_VBATLOWV = 0x80
[ __omap_twl6030_init_vbat_cfg :86] SA_BBSPOR_CFG = 0x78
====== VCELL : 381375, SOC : 50, nType : 5 ======
[Charger] nScaledVCELL : 381375000, nDesriedSOC, : 62, nMaxSOC : 82, nMinSOC : 42
[ omap_power_get_reset_source :47] PRM_RSTST : 0x2
[ __omap_usbacc_test_donwload_by_musb :280] nDeviceType : 0x5
[ omap_usbacc_get_reboot_reason :333] nJigStatus = 0x00000003
[ __sbl_board_hw_init_late :719] final reboot mode in cable = 0x40000
[ __sbl_board_hw_init_late :730] Wake up by TA / USB / JIG
* FB base addr = 0xbea70000!
* PANEL_S6E8AA0_ID_READ : 0x12, 0x8e, 0x9f.
[ omap_power_get_reset_source :47] PRM_RSTST : 0x2
<hit enter twice to activate fiq debugger>
Communications established====== VCELL : 381375, SOC : 50, nType : 5 ======
[Charger] nScaledVCELL : 381375000, nDesriedSOC, : 62, nMaxSOC : 82, nMinSOC : 42
* FB base addr = 0xbea70000!
* PANEL_S6E8AA0_ID_READ : 0x12, 0x8e, 0x9f.
[ omap_power_get_reset_source :47] PRM_RSTST : 0x2
<hit enter twice to activate fiq debugger>
debug> console
console mode
[ 3.320373] cannot apply mgr(lcd) on inactive device
[ 3.325805] omapfb omapfb: failed to apply dispc config
[ 3.331359] cannot apply mgr(tv) on inactive device
[ 3.336578] omapfb omapfb: failed to apply dispc config
[ 3.341949] cannot apply mgr(lcd2) on inactive device
[ 3.347167] omapfb omapfb: failed to apply dispc config
[ 3.354888] regulator_init_complete: VDAC: disabling
[ 3.361053] omaplfb OMAPLFBInitFBDev: Device 0: Requesting 4 TILER 2D framebuffers
[ 3.369232] ## wifi_probe
[ 3.371917] wifi_set_power = 1
[ 3.631866] wifi_set_carddetect = 1
[ 3.647338]
[ 3.647338] Dongle Host Driver, version 5.90.125.94
[ 3.647338] Compiled in drivers/net/wireless/bcmdhd on Nov 21 2011 at 19:05:54
[ 3.764984] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 3.817810] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3.837463] mmc1: new high speed SDIO card at address 0001
[ 3.844818] F1 signature read @0x18000000=0x16844330
[ 3.859436] DHD: dongle ram size is set to 294912(orig 294912)
[ 3.866546] wl_create_event_handler thr:5b started
[ 3.871673] dhd_attach thr:5c started
[ 3.875488] dhd_attach thr:5d started
[ 3.879272] dhd_attach thr:5e started
[ 3.883148] wifi_get_mac_addr
[ 3.888519] Broadcom Dongle Host Driver: register interface [wlan0] MAC: 00:90:4c:11:22:33
[ 3.897430] wifi_set_power = 0
[ 4.157012] =========== WLAN placed in RESET ========
[ 4.163116] fsa9480 4-0025: cable detect change, from 'unknown/none' to 'uart'
[ 4.171203] twl_rtc twl_rtc: setting system clock to 2012-05-13 00:25:12 UTC (1336868712)
[ 4.180816] Freeing init memory: 276K
[ 4.187561] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[ 4.214172] max17040 4-0036: online = 1 vcell = 3795000 soc = 48 status = 3 health = 1 temp = 330 charger status = 0
[ 4.288116] keychord: using input dev tuna-gpio-keypad for fevent
[ 4.354614] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode. Opts: (null)
[ 4.446746] mms_ts 3-0048: fw version 0x62 already present
[ 4.454498] mms_ts 3-0048: Melfas MMS-series touch controller initialized
[ 4.757202] omap-rproc omap-rproc.1: Loaded BIOS image ducati-m3.bin, size 4489868
[ 4.765838] omap-rproc omap-rproc.1: BIOS image version is 2
[ 4.785888] omap-iommu omap-iommu.0: iommu_get: ducati qos_request
[ 4.806243] omap_hwmod: ipu: failed to hardreset
[ 4.811035] omap-iommu omap-iommu.0: ducati: version 2.1
[ 4.822448] omap-rproc omap-rproc.1: remote processor ipu is now up
[ 4.835571] omap_rpmsg_mbox_callback: received echo reply from ipu !
[ 4.842071] omap_rpmsg_mbox_callback: received echo reply from ipu !
[ 4.848541] omap_rpmsg_mbox_callback: received echo reply from ipu !
[ 4.855072] omap_rpmsg_mbox_callback: received echo reply from ipu !
[ 4.861816] virtio_rpmsg_bus virtio0: creating channel rpmsg-client-sample addr 0x32
[ 4.869812] virtio_rpmsg_bus virtio0: creating channel rpmsg-client-sample addr 0x33
[ 4.877899] virtio_rpmsg_bus virtio0: creating channel rpmsg-omx addr 0x3c
[ 4.885192] rpmsg_omx rpmsg-omx0: new OMX connection srv channel: 1024 -> 60!
[ 5.959960] EXT4-fs (mmcblk0p12): recovery complete
[ 5.974639] EXT4-fs (mmcblk0p12): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=panic
[ 6.021484] virtio_rpmsg_bus virtio1: creating channel rpmsg-omx addr 0x3c
[ 6.029602] rpmsg_omx rpmsg-omx1: new OMX connection srv channel: 1024 -> 60!
[ 6.170227] EXT4-fs (mmcblk0p11): recovery complete
[ 6.178833] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=panic
[ 6.199371] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[ 6.269744] android_usb: already disabled
[ 6.274810] mtp_bind_config
[ 6.277740] adb_bind_config
[ 6.297790] HDCP: loaded keys
[ 6.481079] warning: `adbd' uses 32-bit capabilities (legacy support in use)
[ 6.488433] adb_open
[ 6.702026] init: sys_prop: permission denied uid:1001 name:net.rmnet1.dns1
[ 6.709808] init: sys_prop: permission denied uid:1001 name:net.rmnet1.dns2
[ 6.718780] init: sys_prop: permission denied uid:1001 name:net.rmnet1.gw
[ 6.726196] init: sys_prop: permission denied uid:1001 name:net.rmnet2.dns1
[ 6.733612] init: sys_prop: permission denied uid:1001 name:net.rmnet2.dns2
[ 6.741455] init: sys_prop: permission denied uid:1001 name:net.rmnet2.gw
[ 6.749481] PVR: Installing MISR with cookie c0800c2c
[ 6.757415] PVR: Installing device LISR SGX ISR on IRQ 53 with cookie c7aa2700
[ 6.766174] PVR: OSUnMapPhysToLin: unmapping 65535 bytes from c8be0000
[ 6.773162] PVR: SysFinalise: Version string: SGX revision = 1.2.0
[ 6.797027] [MODEM_IF] misc_open : umts_boot0
[ 6.801666] omap_hsi omap_hsi.0: HSI clock is now 96000000
[ 6.824066] omap_hsi omap_hsi.0: Entering RX wakeup in 3 wires mode (no CAWAKE)
[ 6.831634] [MODEM_IF] xmm6260_off()
[ 6.835327] [MODEM_IF] PA EVENT : reset =0, pa=1
[ 6.840057] [MODEM_IF] umts_ipc0 state changed: OFFLINE
[ 6.845367] [MODEM_IF] xmm6260_on()
[ 6.866821] SMC: SecureCRC=0xBC7458DC
[ 6.959045] [MODEM_IF] PA EVENT : reset =1, pa=0
[ 7.042053] SMC PA: INFO 00000001 00:00:00.000 ------ ------ --------------- Booting... (t=00:25:15.356) SMCXG01.04p11.32196 /Widevine Integration
[ 7.058532] SMC PA: INFO 00000002 00:00:00.017 ------ ------ --------------- Booted
[ 7.238128] [MODEM_IF] misc_release : umts_boot0
[ 7.245147] omap_hsi omap_hsi.0: hsi_write_cancel ch 0
[ 7.251708] omap_hsi omap_hsi.0: __hsi_write_cancel : -125
[ 7.258941] omap_hsi omap_hsi.0: hsi_read_cancel ch 0
[ 7.265106] omap_hsi omap_hsi.0: __hsi_read_cancel : -125
[ 7.270629] omap_hsi omap_hsi.0: __hsi_write_cancel : -61
[ 7.276794] omap_hsi omap_hsi.0: __hsi_read_cancel : -61
[ 7.282470] [MODEM_IF] misc_open : umts_boot1
[ 7.287506] omap_hsi omap_hsi.0: Entering RX wakeup in 4 wires mode
[ 8.299774] misc dsscomp: [c7234000] ignoring set failure -22
[ 8.530609] s6e8aa: d/b 1, p 1, b-01390ffb
[ 8.530639] s6e8aa: c0, 1, b-001215fb, got v 3534794, factory wants 3529338
[ 8.530670] s6e8aa: c1, 1, b-00478927, got v 3764175, factory wants 3755229
[ 8.530700] s6e8aa: c2, 1, b-0012a421, got v 3486385, factory wants 3481495
[ 8.530731] s6e8aa: d/b 1, p 2, b-044d7cf9
[ 8.530761] s6e8aa: c0, 2, b-00bc6c9a, got v 3336878, factory wants 3330014
[ 8.530761] s6e8aa: c1, 2, b-01688d4e, got v 3556595, factory wants 3547367
[ 8.530792] s6e8aa: c2, 2, b-00a7db92, got v 3293516, factory wants 3285750
[ 8.530822] s6e8aa: d/b 1, p 3, b-0b323808
[ 8.530853] s6e8aa: c0, 3, b-026395cd, got v 3203365, factory wants 3194725
[ 8.530883] s6e8aa: c1, 3, b-0331a9fb, got v 3435905, factory wants 3424659
[ 8.530914] s6e8aa: c2, 3, b-021e3100, got v 3149091, factory wants 3139262
[ 8.530944] s6e8aa: d/b 1, p 4, b-186611f4
[ 8.530944] s6e8aa: c0, 4, b-062b8517, got v 3065435, factory wants 3053644
[ 8.531036] s6e8aa: c1, 4, b-0725b7f8, got v 3297279, factory wants 3284148
[ 8.531249] s6e8aa: c2, 4, b-053f8b4b, got v 3005194, factory wants 2992315
[ 8.531280] s6e8aa: d/b 1, p 5, b-6840e4ff
[ 8.531311] s6e8aa: c0, 5, b-221c3d41, got v 2688265, factory wants 2667329
[ 8.531341] s6e8aa: c1, 5, b-24fd4a51, got v 2906316, factory wants 2884895
[ 8.531372] s6e8aa: c2, 5, b-1d67176e, got v 2594260, factory wants 2571400
[ 8.531402] s6e8aa: d/b 1, p 6, b-ffffffff
[ 8.531433] s6e8aa: c0, 6, b-59b1b4d2, got v 2325286, factory wants 2292333
[ 8.531463] s6e8aa: c1, 6, b-60d28a3e, got v 2534439, factory wants 2499333
[ 8.531463] s6e8aa: c2, 6, b-4efd2a80, got v 2197307, factory wants 2162000
[ 11.727386] [MODEM_IF] misc_release : umts_boot1
[ 11.732147] omap_hsi omap_hsi.0: hsi_write_cancel ch 0
[ 11.756225] omap_hsi omap_hsi.0: __hsi_write_cancel : -61
[ 11.762268] omap_hsi omap_hsi.0: hsi_read_cancel ch 0
[ 11.767791] omap_hsi omap_hsi.0: __hsi_read_cancel : -125
[ 11.773620] omap_hsi omap_hsi.0: __hsi_write_cancel : -61
[ 11.779174] omap_hsi omap_hsi.0: __hsi_read_cancel : -61
[ 11.785552] [MODEM_IF] misc_open : umts_ipc0
[ 11.790954] omap_hsi omap_hsi.0: Entering RX wakeup in 4 wires mode
[ 11.798675] [MODEM_IF] misc_open : umts_rfs0
[ 11.829528] [MODEM_IF] PA EVENT : reset =1, pa=1
[ 11.834228] [MODEM_IF] umts_ipc0 state changed: ONLINE
[ 14.545074] drivers/misc/inv_mpu/mldl_cfg.c|inv_mpu_get_slave_config|1792 returning 4
[ 26.044372] request_suspend_state: wakeup (3->0) at 26030029299 (2012-05-13 00:25:34.359069826 UTC)
[ 26.622772] acc_open
[ 26.625122] acc_release
[ 26.670013]
[ 26.670043] Dongle Host Driver, version 5.90.125.94
[ 26.670043] Compiled in drivers/net/wireless/bcmdhd on Nov 21 2011 at 19:05:54
[ 26.684082] wl_android_wifi_on in
[ 26.687622] wifi_set_power = 1
[ 26.971282] =========== WLAN going back to live ========
[ 26.977600] sdio_reset_comm():
[ 27.066314] dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
[ 27.228179] wifi_get_mac_addr
[ 27.232513] Firmware up: op_mode=1, Broadcom Dongle Host Driver mac=a0:0b:ba:e6:73:ae
[ 27.344390] dhd_rx_frame: net device is NOT registered yet. drop packet
[ 27.351531] dhd_rx_frame: net device is NOT registered yet. drop packet
[ 27.360076] Firmware version = wl0: Oct 5 2011 14:41:12 version 5.90.125.94
[ 28.639709] wl_bss_connect_done succeeded status=(0x9)
[ 28.732391] wl_bss_connect_done succeeded status=(0x11)
[ 29.166564] nfc_power_apply ON
[ 29.201965] nfc_power_apply OFF
[ 29.272308] nfc_power_apply ON
[ 35.672241] rpmsg_omx rpmsg-omx1: local addr assigned: 0x401
[ 35.682067] omap-iommu omap-iommu.0: iommu_get: ducati qos_request
[ 35.703735] omap_hwmod: ipu: failed to hardreset
[ 35.713470] omap-iommu omap-iommu.0: ducati: version 2.1
[ 35.826934] rpmsg_omx rpmsg6: conn rsp: status 0 addr 101
[ 35.975158] rpmsg_omx rpmsg-omx1: Disconnecting from OMX service at 101
[ 39.279998] wlan0: no IPv6 routers present
[ 44.895355] init: untracked pid 1113 exited
[ 44.905731] init: untracked pid 1119 exited
[ 44.918914] init: untracked pid 1123 exited
[ 44.923248] init: untracked pid 1124 exited
[ 44.927612] init: untracked pid 1117 exited
[ 44.932067] init: untracked pid 1120 exited
[ 54.283905] max17040 4-0036: online = 1 vcell = 3788750 soc = 48 status = 3 health = 1 temp = 350 charger status = 0
[ 61.938812] request_suspend_state: sleep (0->3) at 61924468996 (2012-05-13 00:26:10.253540041 UTC)
[ 61.959869] dhd_set_suspend: force extra Suspend setting
first. The device checks if it's too hot or too cold to boot via IROM software (internal read only memory). After that it begins initialization. The IROM version is displayed. Then the device type..
The OMAP processor in the Galaxy Nexus is a HS (High Security) processor, as opposed to GP (General Purpose) processor. This means the first bootloader (AKA MLO or X-Loader) is a signed binary which is e-fused to the device.
I've seen in the past on similar Hummingbird processors that only the first 1K is checked for speed because hashing it takes a little bit of time. This may or may not be the case with this particular device. We will see.
Anyway.. There's a possiblity we can find an MLO which is already presigned somewhere on the Internet. We need whatever they use at Samsung which provides the initial firmware load to a device without any firmware on it.
Here is a relevant page: http://omapedia.org/wiki/Bootloader_Project
Code:
If you are using an HS (High Security) OMAP device, an extra step is required. First, build x-load.bin using the steps above. Then, download the MShield signing tool and use the commands below. Contact your TI representative to get access to this tool.
In order to get the firmware onto the device in the first place, this bootloader must exist. We need a copy of it. Once we have this bootloader, we can revive Galaxy Nexus devices.
You may have seen this already, but just in case - this seems to be a bootloader of some kind. I couldn't get it to work with my bricked SGN, but it may be of some use to the unbricking effort.
Can't post link, so search for "Unbrick dead Samsung GT-i9250 Galaxy Nexus 32GB".
Best of luck!
The user above is referring to this link, I think:
http://forum.xda-developers.com/showthread.php?t=1640443
The user there shares a .zip file that supposedly is able to unbrick a 32gb GNex using some samsung software. It calls OMAPFlash.exe with a bunch of parameters. I don't know whether it will be useful or not, but it's a start.
The batch file that the post above ^ asks the users to run is this:
Code:
::::
:: Copyright (C) 2010-2011, Samsung Electronics, Co., Ltd. All Rights Reserved.
:: Written by System S/W Group, S/W Platform R&D Team,
:: Mobile Communication Division.
::::
::::
:: Project Name : Proxima GED
::
:: Project Description :
::
:: Comments : tabstop = 8, shiftwidth = 8, noexpandtab
::::
::::
:: File Name : omap4460_tuna_hs.bat
::
:: File Description :
::
:: Author : System Platform 2
:: Dept : System S/W Group (S/W Platform R&D Team)
:: Created : 17/Aug/2011
:: Version : Baby-Raccoon
::::
:__loop
@OMAPFlash.exe -v @Targets\Projects\tuna\omap4460_tuna_hs_pro.txt
@PAUSE
GOTO __loop
Seeing the text file path, I went and looked. Here's what I found:
Code:
##
# Copyright (C) 2010-2011, Samsung Electronics, Co., Ltd. All Rights Reserved.
# Written by System S/W Group, S/W Platform R&D Team,
# Mobile Communication Division.
##
##
# Project Name : Proxima GED
#
# Project Description :
#
# Comments : tabstop = 8, shiftwidth = 8, noexpandtab
##
##
# File Name : omap4460_tuna_hs.txt
#
# File Description :
#
# Author : System Platform 2
# Dept : System S/W Group (S/W Platform R&D Team)
# Created : 17/Aug/2011
# Version : Baby-Raccoon
##
-omap 4
-t 36000 -p OMAP4460_TUNA_8G_HS_PRO -2
#chip_download [email protected] Targets\Projects\tuna\MBR.bin
chip_download [email protected] Targets\Projects\tuna\MLO_4460_HS_PRO
chip_download [email protected] Targets\Projects\tuna\sbl.img
command cold_sw_reset
So it appears that the software writes the files MLO_4460_HS_PRO and sbl.img to different parts of the internal memory.
Any success for the device driver? In the documents above, they say you should use the FTDI VCP (Virtual COM Port) drivers... But included in the package above, there is a driver in the ../usb_drv_windows directory, for exactly the TI driver you mentioned:
Code:
%USB_OMAP4460% = USB_Install, USB\VID_0451&PID_d010
For lazy reference:
Code:
[SIZE=2]-- Usage --
OMAPFlash Host is a command-line based application. It is currently available
for Windows XP only and will run in a Windows command shell. The application can
take commands directly from the command line or via a script file (a more useful
approach). The syntax for calling the tool is:
[B]omapflash [ <option> ] <command>[/B]
or, if a script file is used: omapflash @<file>
-- Options --
The tool has a number of options that can be used to control its overall
behavior.
[B]-com <port number> [/B]By default OMAPFlash will try to communicate with the
target platform using a USB serial link. This option will force OMAPFlash to
use a UART for serial communication and specify the host side COM-port to use.
-t <timeout> By default the timeout for communication on the serial link is 5
seconds. This option allows control of the timeout value by specifying another
timeout value in seconds.
[B]-p <platform>[/B] This option is required by OMAPFlash and specifies the platform
for which the download is to take place. The platform specified is a name tag
that allows OMAPFlash to identify the correct second loader to use. The tag
typically identifies the platform type and the memory used with the OMAP
device present on the platform (“e.g. SDP_MDDR_HYNIX_4G). The tag is used to
look up the second loader in a configuration file (omapflash2nd.txt) in
combination with an OMAP device identifier received from the platform during
peripheral boot.
[B]-omap <version> [/B]This option is required by OMAPFlash if a peripheral boot
sequence is used to transfer a second loader to a target platform. The option
specifies the OMAP generation used on the platform – without this option set,
OMAPFlash will be unable to determine how to correctly perform the peripheral
boot sequence necessary for transfer of the second loader to the platform. The
version number is a single digit integer (e.g. ‘3’ for an OMAP3xxx based
platform or ‘4’ for an OMAP4xxx based platform).
[B]-2[/B] This option controls whether OMAPFlash will try to use the ROM code
peripheral boot sequence to transfer a second loader to internal RAM before
doing anything else. This option will be required for most scenarios where
OMAPFlash is used but can be left out if OMAPFlash Host is interacting with a
second loader already running on a target platform.
[B]-v[/B] The ‘-v’ option controls whether OMAPFlash Host will run in verbose mode.
If set, more information will be shown during the execution of the flashing
sequence. Note that this option should be set in order to see the target
platform response to certain commands (e.g. ‘chips’).
-- Commands --
Commands are executed on the target platform. Any command is prefixed by the
keyword ‘command’ and anything following this keyword will be passed directly to
OMAPFlash Second by OMAPFlash Host without interpretation or modification.
Typically the ‘verbose’ option should be used with commands in order to ensure
that information returned from the platform will be shown on the console.
branch <device> <offset>
This command will cause OMAPFlash Second to make an
unconditional branch to a memory mapped address. The device will typically be
the SDRAM handled by the OMAP SDRAM controller in this case, and the offset
typically zero. The device ID must be one known by OMAPFlash Second and the
offset an integer within the address offset range valid for the device.
peek32 <address> Get the register value of the register with the given
address.
poke32 <address> <value> Modify the register at the given address to the given
value
peekpoke32 <address> <value> <mask> Modify the register at the given address
with the given value and mask
-- Flashing --
OMAPFlash Host is able to handle three basic procedures for accessing memory
devices through the OMAPFlash Second loader. These procedures are used to erase
memory devices, transfer a binary file to a device or upload the device content
to a binary file. In all cases, parameter values specifying sizes or offsets are
hexadecimal.
[B]chip_erase <device>[@offset] <size> [/B]
This procedure is used to erase the
content of a device, either for the whole device or for part of its address
range. The ‘device’ identifier is a string matching one of the devices
available on the platform as listed from the ‘chips’ command – in other words,
a device known to OMAPFlash Second for the particular platform used (SDRAM is
not a valid choice). If an ‘offset’ is used, the device erasure will start at
the offset specified. The offset will need to be compatible with the memory
structure of the device in question – e.g. if the device has a block size of
40000h bytes, the offset will need to be a multiple of the block size. The
‘size’ specifies the number of bytes to erase – a value of zero has the
special meaning of “to the end of the device”, either starting at offset zero
or at the specified ‘offset’ value, and can be used to erase the entire
device. Note that the typical erase functionality of a memory device is based
on the erasure of blocks of memory – it may not make sense to ask for erasure
of a size that is not a multiple of the block size of the device.
[B]chip_download <device>[@offset] <file> [/B]
In order to transfer a binary file to a
device on the platform this procedure is used. The ‘device’ identifier is a
string matching one of the devices available on the platform. If an ‘offset’
is specified the binary will be downloaded to the device starting at the
offset address specified. Using an offset should be done with some caution,
since the meaning of the offset value may be unclear for some device types
(e.g. for a NAND device the offset will be used without consideration of bad
blocks present in the memory space preceding the offset address). The file to
be downloaded is specified by the ‘file’ parameter and must be a raw image.
[B]chip_upload <device>[@offset] <size> <file> [/B]
In order to upload the content of
a memory device this procedure is used. The ‘device’ identifier is a string
matching one of the devices available on the platform. If an ‘offset’ is
specified content will be uploaded from the device starting at the offset
address specified. As for the ‘chip_download’ procedure the use of an offset
should be done with caution. The ‘size’ parameter specifies the number of
bytes to upload and the ‘file’ parameter the file to which the uploaded data
will be saved. Note that due to some limitations on the serial link, upload of
data will be considerably slower than download.
[/SIZE]
First things first. I recieved a PM from user itsalllgood with information regarding this topic. Here's the whole PM, copied and pasted:
itsalllgood said:
Dear fred,
Sorry to bother you...I wanted to post here but iam not allowed.. I am a computer engineer from montreal current living abroad..I had gnex that died and did a lot of work to try to get it back..to summ it all the omapidia project add TI site will get the full picture. the tool you linked is based on TI 1.6 omap flash.. i will keep it short... the link below will summ my work and please copy past it if you think its worth it..thanks in advance..
http://forum.xda-developers.com/showthread.php?p=26334564&posted=1#post26334564
Click to expand...
Click to collapse
^^ Somehow your link got messed up, but I think its this one.
Is it possible to hardware prevent a device like Samsung Galaxy S2 to go fastboot / odin mode when powering on but still be able to load the operating system?
Because even although I have a password set on the device, if it is stolen anyone can connect it to fastboot with power+voldown+menu and restore it to defaults. For example filling that corresponding partition with zeros will prevent from entering odin mode unless you boot into the operating system and with dd restore the partition.
First of all, that's off-topic. But I'll provide a speculative answer nonetheless.
I would think that you would be able to prevent a device from reaching recovery/fastboot/odin-download-mode, but it would have a big disadvantage, which is that if you are not able to boot into the OS somehow, you would have an unusable device. Although a device like the Galaxy Nexus, if stolen, could have its data retrieved by potentially using Odin and/or fastboot to reset the password, removing these failsafes would mean that you have a higher chance of bricking. Besides, that's what remote wipe apps (and other stolen-phone tools) are for. Check out Avast! if you don't have an antivirus/stolen-phone toolkit.
I'm by no means an expert here, but that's just my two cents.
EDIT: By the way, could we have someone (like AdamOutler) look at what we've got in this thread so far to see if the MLO file that we found is what's needed (as mentioned by Adam in the first couple posts)?
It's just that I don't either know the exact boot sequence of the SGS2 GT-I9100 nor the partitions interdependence (for example say that the boot partition needs the recovery or the sbl), I coudn't zero that partition because is a dependence.
What I woukd like to know if is possible:
- Backup all partitions.
- Zero, from android with dd, all partitions that allow anyone to enter odin/fastboot/clockworkmod/recovery so, if I lose the device, no one can make a odin backup or reset my device, unless you restore the partitions from the android or you use a hardware JTAG.
- Even the previous done, the phone must be able to normal boot into operating system.
I have a gut feeling that that's not possible. For recovery/odin modes, it may be possible due to them not really being directly involved in the boot process. However, for fastboot, I think it's part of the bootloader itself and therefore cannot be disabled using simple commands without also disabling the phone's booting process. For example, if you have the proper drivers installed on your computer, a Galaxy Nexus that's booting into Android will show up the same device as if you're connected via Fastboot. Unless someone can alter the source and recompile a bootloader with disabled fastboot, I don't think what you stated above is completely possible.
FredFS456 said:
I have a gut feeling that that's not possible. For recovery/odin modes, it may be possible due to them not really being directly involved in the boot process. However, for fastboot, I think it's part of the bootloader itself and therefore cannot be disabled using simple commands without also disabling the phone's booting process. For example, if you have the proper drivers installed on your computer, a Galaxy Nexus that's booting into Android will show up the same device as if you're connected via Fastboot. Unless someone can alter the source and recompile a bootloader with disabled fastboot, I don't think what you stated above is completely possible.
Click to expand...
Click to collapse
I think what I need could be done with a locked bootloader. As far as I know, the Samsung Galaxy S2 comes with an unlocked bootloader (causing the security flaw) while other like Samsung Galaxy Nexus come with a locked one: that means on stock devices, with use pattern or password and usb debugging disabled, there is no way someway can access you data even if not encryption is set.
Anyone can clarify things on this?
Bump, and back on topic.
Any developments here?
Yes. http://forum.xda-developers.com/showthread.php?t=1640443
it's done.
AdamOutler said:
Yes. http://forum.xda-developers.com/showthread.php?t=1640443
it's done.
Click to expand...
Click to collapse
Does anyone know HOW it's done??
EDIT: Actually the accompanying documentation explains quite well!
@Adam: Do you think we could tweak these drivers etc. for other devices not using OMAP?
(It seem that many protocols are standard, inducing the serial (UART) over USB FTDI-drivers...)
E:V:A said:
Does anyone know HOW it's done??
EDIT: Actually the accompanying documentation explains quite well!
@Adam: Do you think we could tweak these drivers etc. for other devices not using OMAP?
(It seem that many protocols are standard, inducing the serial (UART) over USB FTDI-drivers...)
Click to expand...
Click to collapse
It works just like UBM... but stock.
No. I dont think we can do that. Its an omap tool that requires bootmodes to be proper to work on omap. It can be applied to other properly configured omap devices.

[HOWTO] USB/RNDIS Tethering (root required)

First, let me apologize if solutions to this problem have already been posted on this forum and elsewhere. I developed this solution completely independently, and I am sharing it here in hopes that it may prove useful to someone else.
This pair of scripts will allow you to share your phone's Internet connection with a computer via a USB cable. It definitely works when the computer is running Linux (assuming you have RNDIS support in your kernel), and it should work as well when the computer is running Windows. However, it will not work with Mac, as OS X does not have an RNDIS driver.
First, upload these two scripts to your /sdcard:
/sdcard/usb_tether_start.sh:
Code:
#!/system/bin/sh
prevconfig=$(getprop sys.usb.config)
if [ "${prevconfig}" != "${prevconfig#rndis}" ] ; then
echo 'Is tethering already active?' >&2
exit 1
fi
echo "${prevconfig}" > /cache/usb_tether_prevconfig
setprop sys.usb.config 'rndis,adb'
until [ "$(getprop sys.usb.state)" = 'rndis,adb' ] ; do sleep 1 ; done
ip rule add from all lookup main
ip addr flush dev rndis0
ip addr add 192.168.2.1/24 dev rndis0
ip link set rndis0 up
iptables -t nat -I POSTROUTING 1 -o rmnet0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
dnsmasq --pid-file=/cache/usb_tether_dnsmasq.pid --interface=rndis0 --bind-interfaces --bogus-priv --filterwin2k --no-resolv --domain-needed --server=8.8.8.8 --server=8.8.4.4 --cache-size=1000 --dhcp-range=192.168.2.2,192.168.2.254,255.255.255.0,192.168.2.255 --dhcp-lease-max=253 --dhcp-authoritative --dhcp-leasefile=/cache/usb_tether_dnsmasq.leases < /dev/null
/sdcard/usb_tether_stop.sh:
Code:
#!/system/bin/sh
if [ ! -f /cache/usb_tether_prevconfig ] ; then
echo '/cache/usb_tether_prevconfig not found. Is tethering really active?' >&2
exit 1
fi
if [ -f /cache/usb_tether_dnsmasq.pid ] ; then
kill "$(cat /cache/usb_tether_dnsmasq.pid)"
rm /cache/usb_tether_dnsmasq.pid
fi
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -D POSTROUTING 1
ip link set rndis0 down
ip addr flush dev rndis0
ip rule del from all lookup main
setprop sys.usb.config "$(cat /cache/usb_tether_prevconfig)"
rm /cache/usb_tether_prevconfig
while [ "$(getprop sys.usb.state)" = 'rndis,adb' ] ; do sleep 1 ; done
To start USB tethering:
Code:
adb shell "su -c 'sh /sdcard/usb_tether_start.sh'"
Grant the superuser request on the phone if one appears.
If you're on Linux, you'll see a new network interface appear (probably called "usb0"). Bring the link up on that interface (ip link set usb0 up), run a DHCP client, and you're all set!
If you're on Windows, it will probably Just Work™.
To stop USB tethering:
Code:
adb shell "su -c 'sh /sdcard/usb_tether_stop.sh'"
Again, grant the superuser request on the phone if one appears.
That's it!
OMG !!!!
You rock ! This solution is the FIRST one which works on my international i9300 device (not a 'Sprint' version) with cm10.1.
I can't understand why ... but i'll keep your script on my ext SDCard.
I'll prupose this script to french cm10.1 users.
Thank you!
OS X does not have an RNDIS driver? really?
...OS X does not have an RNDIS driver...
Click to expand...
Click to collapse
Please have a look at HoRNDIS: USB tethering driver for Mac OSX (it even supports modern/recent OSX versions!) @ hxxp://joshuawise.com/horndis (unable to embed inline URL link due to new user restriction)
whitslack said:
First, let me apologize if solutions to this problem have already been posted on this forum and elsewhere. I developed this solution completely independently, and I am sharing it here in hopes that it may prove useful to someone else.
This pair of scripts will allow you to share your phone's Internet connection with a computer via a USB cable. It definitely works when the computer is running Linux (assuming you have RNDIS support in your kernel), and it should work as well when the computer is running Windows. However, it will not work with Mac, as OS X does not have an RNDIS driver.
First, upload these two scripts to your /sdcard:
/sdcard/usb_tether_start.sh:
Code:
#!/system/bin/sh
prevconfig=$(getprop sys.usb.config)
if [ "${prevconfig}" != "${prevconfig#rndis}" ] ; then
echo 'Is tethering already active?' >&2
exit 1
fi
echo "${prevconfig}" > /cache/usb_tether_prevconfig
setprop sys.usb.config 'rndis,adb'
until [ "$(getprop sys.usb.state)" = 'rndis,adb' ] ; do sleep 1 ; done
ip rule add from all lookup main
ip addr flush dev rndis0
ip addr add 192.168.2.1/24 dev rndis0
ip link set rndis0 up
iptables -t nat -I POSTROUTING 1 -o rmnet0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
dnsmasq --pid-file=/cache/usb_tether_dnsmasq.pid --interface=rndis0 --bind-interfaces --bogus-priv --filterwin2k --no-resolv --domain-needed --server=8.8.8.8 --server=8.8.4.4 --cache-size=1000 --dhcp-range=192.168.2.2,192.168.2.254,255.255.255.0,192.168.2.255 --dhcp-lease-max=253 --dhcp-authoritative --dhcp-leasefile=/cache/usb_tether_dnsmasq.leases < /dev/null
/sdcard/usb_tether_stop.sh:
Code:
#!/system/bin/sh
if [ ! -f /cache/usb_tether_prevconfig ] ; then
echo '/cache/usb_tether_prevconfig not found. Is tethering really active?' >&2
exit 1
fi
if [ -f /cache/usb_tether_dnsmasq.pid ] ; then
kill "$(cat /cache/usb_tether_dnsmasq.pid)"
rm /cache/usb_tether_dnsmasq.pid
fi
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -D POSTROUTING 1
ip link set rndis0 down
ip addr flush dev rndis0
ip rule del from all lookup main
setprop sys.usb.config "$(cat /cache/usb_tether_prevconfig)"
rm /cache/usb_tether_prevconfig
while [ "$(getprop sys.usb.state)" = 'rndis,adb' ] ; do sleep 1 ; done
To start USB tethering:
Code:
adb shell "su -c 'sh /sdcard/usb_tether_start.sh'"
Grant the superuser request on the phone if one appears.
If you're on Linux, you'll see a new network interface appear (probably called "usb0"). Bring the link up on that interface (ip link set usb0 up), run a DHCP client, and you're all set!
If you're on Windows, it will probably Just Work™.
To stop USB tethering:
Code:
adb shell "su -c 'sh /sdcard/usb_tether_stop.sh'"
Again, grant the superuser request on the phone if one appears.
That's it!
Click to expand...
Click to collapse
what is the difference between this and native tethering?
for rooted stock roms
http://forum.xda-developers.com/showthread.php?t=2224083
this is the by far the easiest..

[Q] last caller image via tasker

Hi,
I want to get the last outgoing call's image in my zooper widget.
I am trying to use tasker for that:
Code:
Caller (45)
A1: Test Phone [ Type:Contact Photo URI Data:%CONUM Store Result In:%called ]
A2: Load Image [ Source:%called Max Width Or Height:0 Respect EXIF Orientation:eek:ff ]
A3: Zooper Widget Pro Variable [ Configuration:#TCaller# = %called Package:org.zooper.zwpro Name:Zooper Widget Pro Variable Timeout (Seconds):0 ]
and in zooper, I have done:
Code:
bitmap->advanced->#TCaller#
which shows value:
Code:
content://com.android.contacts/display_photo/574
But this is not showing anything, but the default "open file" image.
Kindly help
Barud said:
Hi,
I want to get the last outgoing call's image in my zooper widget.
I am trying to use tasker for that:
Code:
Caller (45)
A1: Test Phone [ Type:Contact Photo URI Data:%CONUM Store Result In:%called ]
A2: Load Image [ Source:%called Max Width Or Height:0 Respect EXIF Orientation:eek:ff ]
A3: Zooper Widget Pro Variable [ Configuration:#TCaller# = %called Package:org.zooper.zwpro Name:Zooper Widget Pro Variable Timeout (Seconds):0 ]
and in zooper, I have done:
Code:
bitmap->advanced->#TCaller#
which shows value:
Code:
content://com.android.contacts/display_photo/574
But this is not showing anything, but the default "open file" image.
Kindly help
Click to expand...
Click to collapse
One thing, make sure your variable is passing into zooper, forget the image and just get text. Once I tried and couldn't get it to work, forgot that my profile was time dependant and I didn't run the task... Run your task if you haven't already...
Thanks for your reply.
If I only want the text, its working absolutely fine. only its the image which is not coming.

[TEST] Ubuntu Touch on Xperia Z1 Compact

Hi, after some ideas in my mind about true Ubuntu server on my phone I have done full changes to the kernel needed for Ubuntu touch but never tried Ubuntu touch on my phone, only have tried Ubuntu server which I want to use for my home environment, I have done only kernel so if somebody need kernel you can try this one from here! Curently everyhing is patched and enabled needed for latest Ubuntu touch (vivid) except CONFIG_ARM_UNWIND since android display stop working if I disable these configuration, everything other is enabled as you see in this:
Checking config file for Ubuntu Touch specific config options.
CONFIG_IKCONFIG is already set
CONFIG_IKCONFIG_PROC is already set
CONFIG_SYSVIPC is already set
CONFIG_CGROUP_FREEZER is already set
CONFIG_NAMESPACES is already set
CONFIG_UTS_NS is already set
CONFIG_IPC_NS is already set
CONFIG_USER_NS is already set
CONFIG_PID_NS is already set
CONFIG_NET_NS is already set
CONFIG_AUDIT is already set
CONFIG_AUDITSYSCALL is already set
CONFIG_AUDIT_TREE is already set
CONFIG_AUDIT_WATCH is already set
CONFIG_CC_STACKPROTECTOR is already set
CONFIG_DEBUG_RODATA is already set
CONFIG_DEVTMPFS is already set
CONFIG_DEVTMPFS_MOUNT is already set
CONFIG_DEVPTS_MULTIPLE_INSTANCES is already set
CONFIG_ECRYPT_FS is already set
CONFIG_ECRYPT_FS_MESSAGING is already set
CONFIG_ENCRYPTED_KEYS is already set
CONFIG_EXT4_FS_POSIX_ACL is already set
CONFIG_EXT4_FS_SECURITY is already set
CONFIG_FSNOTIFY is already set
CONFIG_DNOTIFY is already set
CONFIG_INOTIFY_USER is already set
CONFIG_FANOTIFY is already set
CONFIG_FANOTIFY_ACCESS_PERMISSIONS is already set
CONFIG_KEYS is already set
CONFIG_SWAP is already set
CONFIG_VT is already set
CONFIG_VT_CONSOLE is already set
CONFIG_SECCOMP is already set
CONFIG_SECURITY is already set
CONFIG_SECURITYFS is already set
CONFIG_SECURITY_NETWORK is already set
CONFIG_NETLABEL is already set
CONFIG_SECURITY_PATH is already set
CONFIG_SECURITY_SELINUX is already set
CONFIG_SECURITY_SELINUX_BOOTPARAM is already set
CONFIG_SECURITY_SELINUX_DISABLE is already set
CONFIG_SECURITY_SELINUX_DEVELOP is already set
CONFIG_SECURITY_SELINUX_AVC_STATS is already set
CONFIG_SECURITY_SMACK is already set
CONFIG_SECURITY_TOMOYO is already set
CONFIG_DEFAULT_SECURITY_APPARMOR is already set
CONFIG_SECURITY_APPARMOR is already set
CONFIG_SECURITY_APPARMOR_HASH is already set
CONFIG_SECURITY_APPARMOR_UNCONFINED_INIT is already set
CONFIG_SECURITY_YAMA is already set
CONFIG_SECURITY_YAMA_STACKED is already set
CONFIG_STRICT_DEVMEM is already set
CONFIG_SYN_COOKIES is already set
CONFIG_BT is already set
CONFIG_BT_RFCOMM is already set
CONFIG_BT_RFCOMM_TTY is already set
CONFIG_BT_BNEP is already set
CONFIG_BT_BNEP_MC_FILTER is already set
CONFIG_BT_BNEP_PROTO_FILTER is already set
CONFIG_BT_HIDP is already set
CONFIG_XFRM_USER is already set
CONFIG_NET_KEY is already set
CONFIG_INET is already set
CONFIG_IP_ADVANCED_ROUTER is already set
CONFIG_IP_MULTIPLE_TABLES is already set
CONFIG_INET_AH is already set
CONFIG_INET_ESP is already set
CONFIG_INET_IPCOMP is already set
CONFIG_INET_XFRM_MODE_TRANSPORT is already set
CONFIG_INET_XFRM_MODE_TUNNEL is already set
CONFIG_INET_XFRM_MODE_BEET is already set
CONFIG_IPV6 is already set
CONFIG_INET6_AH is already set
CONFIG_INET6_ESP is already set
CONFIG_INET6_IPCOMP is already set
CONFIG_INET6_XFRM_MODE_TRANSPORT is already set
CONFIG_INET6_XFRM_MODE_TUNNEL is already set
CONFIG_INET6_XFRM_MODE_BEET is already set
CONFIG_IPV6_MULTIPLE_TABLES is already set
CONFIG_NETFILTER is already set
CONFIG_NETFILTER_ADVANCED is already set
CONFIG_NETFILTER_NETLINK is already set
CONFIG_NETFILTER_NETLINK_ACCT is already set
CONFIG_NETFILTER_NETLINK_LOG is already set
CONFIG_NETFILTER_NETLINK_QUEUE is already set
CONFIG_NETFILTER_TPROXY is already set
CONFIG_NETFILTER_XTABLES is already set
CONFIG_NETFILTER_XT_CONNMARK is already set
CONFIG_NETFILTER_XT_MARK is already set
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is already set
CONFIG_NETFILTER_XT_MATCH_CLUSTER is already set
CONFIG_NETFILTER_XT_MATCH_COMMENT is already set
CONFIG_NETFILTER_XT_MATCH_CONNBYTES is already set
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is already set
CONFIG_NETFILTER_XT_MATCH_CONNMARK is already set
CONFIG_NETFILTER_XT_MATCH_CONNTRACK is already set
CONFIG_NETFILTER_XT_MATCH_CPU is already set
CONFIG_NETFILTER_XT_MATCH_DCCP is already set
CONFIG_NETFILTER_XT_MATCH_DEVGROUP is already set
CONFIG_NETFILTER_XT_MATCH_DSCP is already set
CONFIG_NETFILTER_XT_MATCH_ECN is already set
CONFIG_NETFILTER_XT_MATCH_ESP is already set
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is already set
CONFIG_NETFILTER_XT_MATCH_HELPER is already set
CONFIG_NETFILTER_XT_MATCH_HL is already set
CONFIG_NETFILTER_XT_MATCH_IPRANGE is already set
CONFIG_NETFILTER_XT_MATCH_LENGTH is already set
CONFIG_NETFILTER_XT_MATCH_LIMIT is already set
CONFIG_NETFILTER_XT_MATCH_MAC is already set
CONFIG_NETFILTER_XT_MATCH_MARK is already set
CONFIG_NETFILTER_XT_MATCH_MULTIPORT is already set
CONFIG_NETFILTER_XT_MATCH_NFACCT is already set
CONFIG_NETFILTER_XT_MATCH_OSF is already set
CONFIG_NETFILTER_XT_MATCH_OWNER is already set
CONFIG_NETFILTER_XT_MATCH_PKTTYPE is already set
CONFIG_NETFILTER_XT_MATCH_POLICY is already set
CONFIG_NETFILTER_XT_MATCH_QUOTA is already set
CONFIG_NETFILTER_XT_MATCH_QUOTA2 is already set
CONFIG_NETFILTER_XT_MATCH_RATEEST is already set
CONFIG_NETFILTER_XT_MATCH_REALM is already set
CONFIG_NETFILTER_XT_MATCH_RECENT is already set
CONFIG_NETFILTER_XT_MATCH_SCTP is already set
CONFIG_NETFILTER_XT_MATCH_SOCKET is already set
CONFIG_NETFILTER_XT_MATCH_STATE is already set
CONFIG_NETFILTER_XT_MATCH_STATISTIC is already set
CONFIG_NETFILTER_XT_MATCH_STRING is already set
CONFIG_NETFILTER_XT_MATCH_TCPMSS is already set
CONFIG_NETFILTER_XT_MATCH_TIME is already set
CONFIG_NETFILTER_XT_MATCH_U32 is already set
CONFIG_NETFILTER_XT_TARGET_AUDIT is already set
CONFIG_NETFILTER_XT_TARGET_CHECKSUM is already set
CONFIG_NETFILTER_XT_TARGET_CLASSIFY is already set
CONFIG_NETFILTER_XT_TARGET_CONNMARK is already set
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is already set
CONFIG_NETFILTER_XT_TARGET_CT is already set
CONFIG_NETFILTER_XT_TARGET_DSCP is already set
CONFIG_NETFILTER_XT_TARGET_HL is already set
CONFIG_NETFILTER_XT_TARGET_IDLETIMER is already set
CONFIG_NETFILTER_XT_TARGET_LED is already set
CONFIG_NETFILTER_XT_TARGET_LOG is already set
CONFIG_NETFILTER_XT_TARGET_MARK is already set
CONFIG_NETFILTER_XT_TARGET_NFLOG is already set
CONFIG_NETFILTER_XT_TARGET_NFQUEUE is already set
CONFIG_NETFILTER_XT_TARGET_NOTRACK is already set
CONFIG_NETFILTER_XT_TARGET_RATEEST is already set
CONFIG_NETFILTER_XT_TARGET_SECMARK is already set
CONFIG_NETFILTER_XT_TARGET_TCPMSS is already set
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is already set
CONFIG_NETFILTER_XT_TARGET_TEE is already set
CONFIG_NETFILTER_XT_TARGET_TPROXY is already set
CONFIG_NETFILTER_XT_TARGET_TRACE is already set
CONFIG_NF_CONNTRACK_ZONES is already set
CONFIG_IP6_NF_FILTER is already set
CONFIG_IP6_NF_IPTABLES is already set
CONFIG_IP6_NF_MANGLE is already set
CONFIG_IP6_NF_MATCH_AH is already set
CONFIG_IP6_NF_MATCH_EUI64 is already set
CONFIG_IP6_NF_MATCH_FRAG is already set
CONFIG_IP6_NF_MATCH_HL is already set
CONFIG_IP6_NF_MATCH_IPV6HEADER is already set
CONFIG_IP6_NF_MATCH_MH is already set
CONFIG_IP6_NF_MATCH_OPTS is already set
CONFIG_IP6_NF_MATCH_RPFILTER is already set
CONFIG_IP6_NF_MATCH_RT is already set
CONFIG_IP6_NF_QUEUE is already set
CONFIG_IP6_NF_RAW is already set
CONFIG_IP6_NF_SECURITY is already set
CONFIG_IP6_NF_TARGET_HL is already set
CONFIG_IP6_NF_TARGET_REJECT is already set
CONFIG_IP6_NF_TARGET_REJECT_SKERR is already set
CONFIG_DNS_RESOLVER is already set
CONFIG_IOSCHED_DEADLINE is already set
CONFIG_SUSPEND_TIME is already set
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is already set
CONFIG_CONSOLE_TRANSLATIONS is already set
CONFIG_EVM is already set
CONFIG_INTEGRITY_SIGNATURE is already set
CONFIG_FHANDLE is already set
CONFIG_DEFAULT_SECURITY="apparmor" is already set
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 is already set
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 is already set
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 is already set
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 is already set
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 is already set
CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" is already set
CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" is already set
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 is already set
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 is already set
CONFIG_DEFAULT_IOSCHED="deadline" is already set
CONFIG_EVM_HMAC_VERSION=2 is already set
CONFIG_ANDROID_PARANOID_NETWORK is already unset
CONFIG_DEFAULT_SECURITY_DAC is already unset
CONFIG_DEFAULT_SECURITY_SELINUX is already unset
CONFIG_DEFAULT_SECURITY_TOMOYO is already unset
CONFIG_DEFAULT_SECURITY_YAMA is already unset
CONFIG_DEFAULT_SECURITY_SMACK is already unset
CONFIG_SECURITY_APPARMOR_STATS is already unset
CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is already unset
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is already unset
CONFIG_BT_HCIBTUSB is already unset
CONFIG_BT_HCIBTSDIO is already unset
CONFIG_BT_HCIUART is already unset
CONFIG_BT_HCIBCM203X is already unset
CONFIG_BT_HCIBPA10X is already unset
CONFIG_BT_HCIBFUSB is already unset
CONFIG_BT_HCIVHCI is already unset
CONFIG_BT_MRVL is already unset
CONFIG_AF_RXRPC is already unset
CONFIG_KEYS_DEBUG_PROC_KEYS is already unset
CONFIG_XFRM_MIGRATE is already unset
CONFIG_XFRM_STATISTICS is already unset
CONFIG_XFRM_SUB_POLICY is already unset
CONFIG_COMPAT_BRK is already unset
CONFIG_DEVKMEM is already unset
CONFIG_NETFILTER_DEBUG is already unset
CONFIG_IP_SET is already unset
CONFIG_IP_VS is already unset
CONFIG_RT_GROUP_SCHED is already unset
CONFIG_ARM_UNWIND is set, unset it
CONFIG_VT_HW_CONSOLE_BINDING is already unset
CONFIG_FRAMEBUFFER_CONSOLE is already unset
CONFIG_SPEAKUP is already unset
CONFIG_CIFS_UPCALL is already unset
CONFIG_CIFS_DFS_UPCALL is already unset
CONFIG_KGDB is already unset
Config file checked, found 1 errors that I did not fix.
Click to expand...
Click to collapse
I going to share kernel and kernel modules with you in hope you get something usefull from all of them, at least hope somebody get Ubuntu touch working on our device, I never tried and probably will not try until somebody get initial port. Things coming without ramdisk so only kernel and modules! Enjoy!
Curent kernel have fully ported latest Apparmor version 3, so before you going to try Ubuntu touch you can disable apparmor by adding apparmor=0 parameter to the kernel cmdline inside boot.img since if something is not configured coreclty in your Ubuntu port related to the apparmor it will not boot, so disable apparmor until you get initial port of the Ubuntu working.
Base kernel source code: https://github.com/sonyxperiadev/kernel-copyleft/tree/14.4.A.0.xxx
Patches in attachment!
Complete things related to kernel for Ubuntu touch you can download from here -> http://forum.xda-developers.com/showpost.php?p=59159143&postcount=8
You can post here everything related to Ubuntu Touch since our thread is not DEV thread so everytbody can post here!
Have you tried doing this with unified kernel? Maybe it's a caf kernel problem so let's use a version with a newer caf tag
I tried nothing! Only backported newer apparmor and other dependent things, than enabled all needed builtin modules needed for Ubuntu. Our kernel is from stock source...
Only which I have tried is chroot of the latest ubuntu but it was not Touch one, have installed gnome desktop environment and vncserver for remote connection, must say its running realy solid on our device Thinking to try real ubuntu without desktop environment and without android stufs but for that I will need to setup everything before make new ramdisk which will start everything, startup services, networking... etc, do not know if it is possible by now since our phone reguire some things on boot like TAD and friends (maybe not need since maybe I can modify recovery ramdisk and use them in combination with ubuntu ramdisk)... but it will be realy great having real ubuntu server on an small phone, just idea
Allso will be great having ubuntu touch, at least initial port
Anybody know is any open source dispaly driver exist for arm? I had seen them in htc hd2 forum, it was ported to the htc hd2 sucesfully and it was open source, but I have no luck finding these posts, maybe somebody help me finding these source code?
Edit:
found another https://freedreno.github.io/ seems interesting
Edit 2:
Freedreno is not working
xorg log:
[ 7019.636] (II) LoadModule: "freedreno"
[ 7019.637] (II) Loading /usr/lib/xorg/modules/drivers/freedreno_drv.so
[ 7019.645] (II) Module freedreno: vendor="X.Org Foundation"
[ 7019.645] compiled for 1.14.1, module version = 0.0.1
[ 7019.645] ABI class: X.Org Video Driver, version 14.1
[ 7019.645] (EE) module ABI major version (14) doesn't match the server's version (18)
[ 7019.645] (II) UnloadModule: "freedreno"
[ 7019.645] (II) Unloading freedreno
[ 7019.645] (EE) Failed to load module "freedreno" (module requirement mismatch, 0)
Click to expand...
Click to collapse
Edit 3:
Seems fb0 will work:
[ 7465.346] (II) Module evdev: vendor="X.Org Foundation"
[ 7465.346] compiled for 1.16.0, module version = 2.9.0
[ 7465.346] Module class: X.Org XInput Driver
[ 7465.346] ABI class: X.Org XInput driver, version 21.0
[ 7465.346] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 7465.346] (II) FBDEV: driver for framebuffer: fbdev
[ 7465.347] (--) using VT number 1
[ 7465.347] (WW) Falling back to old probe method for modesetting
[ 7465.347] (EE) open /dev/dri/card0: No such file or directory
[ 7465.347] (WW) Falling back to old probe method for fbdev
[ 7465.347] (II) Loading sub module "fbdevhw"
[ 7465.347] (II) LoadModule: "fbdevhw"
[ 7465.347] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 7465.348] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 7465.348] compiled for 1.16.0, module version = 0.0.2
[ 7465.348] ABI class: X.Org Video Driver, version 18.0
[ 7465.348] (II) FBDEV(0): using default device
[ 7465.348] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 7465.348] (II) FBDEV(0): Creating default Display subsection in Screen section
"Screen" for depth/fbbpp 24/32
[ 7465.348] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[ 7465.348] (==) FBDEV(0): RGB weight 888
[ 7465.348] (==) FBDEV(0): Default visual is TrueColor
[ 7465.348] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 7465.348] (II) FBDEV(0): hardware: mdssfb_90000 (video memory: 8192kB)
[ 7465.348] (II) FBDEV(0): checking modes against framebuffer device...
[ 7465.348] (II) FBDEV(0): checking modes against monitor...
[ 7465.348] (--) FBDEV(0): Virtual size is 720x1280 (pitch 720)
[ 7465.348] (**) FBDEV(0): Built-in mode "current": 2.3 MHz, 2.7 kHz, 2.0 Hz
[ 7465.348] (II) FBDEV(0): Modeline "current"x0.0 2.34 720 768 816 864 1280 1312 1344 1376 -hsync -vsync -csync (2.7 kHz b)
[ 7465.348] (==) FBDEV(0): DPI set to (96, 96)
[ 7465.348] (II) Loading sub module "fb"
[ 7465.348] (II) LoadModule: "fb"
[ 7465.349] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 7465.357] (II) Module fb: vendor="X.Org Foundation"
[ 7465.357] compiled for 1.16.0, module version = 1.0.0
[ 7465.357] ABI class: X.Org ANSI C Emulation, version 0.4
[ 7465.357] (**) FBDEV(0): using shadow framebuffer
[ 7465.357] (II) Loading sub module "shadow"
[ 7465.357] (II) LoadModule: "shadow"
[ 7465.357] (II) Loading /usr/lib/xorg/modules/libshadow.so
[ 7465.359] (II) Module shadow: vendor="X.Org Foundation"
[ 7465.359] compiled for 1.16.0, module version = 1.1.0
[ 7465.359] ABI class: X.Org ANSI C Emulation, version 0.4
[ 7465.359] (II) UnloadModule: "modesetting"
[ 7465.359] (II) Unloading modesetting
[ 7465.359] (==) Depth 24 pixmap format is 32 bpp
[ 7465.628] (==) FBDEV(0): Backing store enabled
[ 7465.630] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.630] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.630] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.631] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.631] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.631] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.631] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.631] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.632] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 7465.632] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
Click to expand...
Click to collapse
Edit 4:
We can compile byself lol http://dri.freedesktop.org/libdrm/
In case somebody need abi file which is missing, I have made small php script which will convert Module.symvers into for example abi-3.4.0-perf-g200b2e0
Code:
<?php
$aa = file('Module.symvers');
$bb = fopen("abi-3.4.0-perf-g200b2e0", "wb");
$patterns = array("/\s+/", "/\s([?.!])/");
$replacer = array(" ", "$1");
for ($i=0; $i < count($aa); $i++) {
$aa[$i] = preg_replace($patterns, $replacer, trim($aa[$i]));
list($a, $b, $c, $d) = explode(' ', $aa[$i]);
$aa[$i] = "$b $d $a $c";
}
$array_lowercase = array_map('strtolower', $aa);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $aa);
for ($i=0; $i < count($aa); $i++) {
list($a, $b, $c, $d) = explode(' ', $aa[$i]);
fwrite($bb, "$b $d $c $a\n");
}
fclose($bb);
echo "file <b style='color: red'>abi-3.4.0-perf-g200b2e0</b> created.";
?>
And here is a complete boot deb package of the curent kernel + abi file (put them into boot folder) needed for Ubuntu touch, you can use them for building from UT repo.
for_boot_img.zip (zImahe and dtb) is files needed for boot.img
What is need for building Ubuntu touch? You need:
1. Ubuntu machive, I sugesting Utopic 14.04 or 14.10
2. you need gcc 4.8 since you will get error at start of compilation, so install gcc 4.8 first:
Code:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
3. update the rest:
Code:
sudo apt-get install git gnupg flex bison gperf build-essential \
zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool g++-4.8-multilib
4. sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && apt-get update
5. sudo apt-get install ubuntu-device-flash
6. sudo apt-get install phablet-tools
7. download main repository:
Code:
mkdir -p /path/to/phablet; cd /path/to/phablet
repo init -u https://code-review.phablet.ubuntu.com/p/aosp/platform/manifest.git -b phablet-4.4.2_r1
repo sync -j 8
after this go to devices/lge/mako and look what need to be implemented or removed
8. since our device never had ubuntu touch port we probably can use things from nexus 4 (mako) which is very similar to our phone
9. modify mako source and add/remove all things needed for our device (of corse using and comparing working device tree source code from AOSP for our phone)
10. build
I tried but only tried, nothing more, to build mako and it was sucesfully built! I am lazy to start doing modification for z1c but hope somebody do this and make things initialy ported and booted, after that I will try to get more, I am lazy by now sorry
munjeni said:
8. since our device never had ubuntu touch port we probably can use things from nexus 4 (mako) which is very similar to our phone
Click to expand...
Click to collapse
Isn't it easier to use nexus 5 (hammerhead) sources? It has same CPU and GPU.
Casserole said:
Isn't it easier to use nexus 5 (hammerhead) sources? It has same CPU and GPU.
Click to expand...
Click to collapse
Probably yes, but not sure about screen resolution. If we use mako Ubuntu touch prebuilt, it have the same screen resolution. I don't know realy what is a best choice
munjeni said:
it have the same screen resolution
Click to expand...
Click to collapse
Nope. Z1c has 720x1280 rersolution and nexus 4 has 768x1280.
Are there any chances for us to get an Ubuntu Touch build with working cellular-Parts?
In short, if you expect that from me than no since I have no free time and I am lazy to start working on device tree based on mako, if you realy want ubuntu touch you must do an initial port and I will continue on your initial port, by now I don't see interesents for ubuntu touch here. Maybe I am wrong but I think here nobody is interesting for ubuntu?
0090
munjeni said:
In short, if you expect that from me than no since I have no free time and I am lazy to start working on device tree based on mako, if you realy want ubuntu touch you must do an initial port and I will continue on your initial port, by now I don't see interesents for ubuntu touch here. Maybe I am wrong but I think here nobody is interesting for ubuntu?
Click to expand...
Click to collapse
this thread already have 900 views. I think there's interest in ubuntu touch, but the real thing is that aren't much developers in this community except for u and OmarEinea as i can tell. i really like ur work and i'm very grateful for it, so i hope that u can keep contributing to this community. :good: :highfive: (i'm not asking for anything)
Greetings from Chile.
Thats realy sad. I lost my will on everything on this device and I am now totaly lazy for everything probably I will buy ubuntu phone like old nexus 4 Not only z1c, booth z2 and z3 line have low development and team development activity, stil have no idea why its happening. Today I have played with kernel, wanted to enable framebufer console, enabled them and was not suprised, it was not working. Googled and found that there is nothing about mdss_fb device related to sucesfully enabled framebufer console, seems mdss devices have no luck getting them working. So my idea for having native ubuntu on our device disapointed me since I don't know how to debug initial port when it won't boot. Having working framebufer console and realtime dmesg on screen will be of main help in making initial port, without them I no want to waste my time, so if anybody realy want to contribute and help than I am here and waiting
Definitely something strange happening on fb0, I can blank them but can not display anything on screen by writing to fb0, seems an wakelock happening here?
Testing "cat /dev/urandom > /dev/graphics/fb0" on android not working, but in recovery mode its working sometimes
munjeni said:
Testing "cat /dev/urandom > /dev/graphics/fb0" on android not working, but in recovery mode its working sometimes
Click to expand...
Click to collapse
Why are you writing random to the framebuffer? Lol.
Rekoil said:
Why are you writing random to the framebuffer? Lol.
Click to expand...
Click to collapse
I am using urandom, not random, just for seeing random data on screen, its working now and I want to let you know guys that I have done initial port built from source code!
Screenshoots:

Calling all tasker, kingroot, and supersume users!

Ok, so I'm new to tasker. I was wondering if anyone has came up with a setup that you auto install kingroot run it, gain root, run xposed and or any other root apps, then runs supersume. Then soft reboots! Pretty much wanna get the whole process automated! I've Googled the topic using different key phrases. And all i could come up with was a post by ice twig that seems dead now. Was just wondering if anyone has successfully done this and would like to share a step-by-step to help people new to tasker and wants to learn to do it manually and get a better understanding of running more difficult task! Or if it hasn't fully been pulled off by someone maybe we can put our heads together and get this process on auto pilot! Any help or advice would be greatly appreciated pertaining to the matter :] thank you for taking the time to read! <3
So I figured out the plug inns for tasker autoinput and autovoice been playing around with it. Figured out how to assign task in tasker into auto input. Got in 9 inputs. But when testing it failed on the first one! Gonna play around some more! If I can get this working and figured out I'll post the results! Hopefully if this works well we can have an auto temp root! Any suggestions would be great! Thanks!
vsn4 said:
So I figured out the plug inns for tasker autoinput and autovoice been playing around with it. Figured out how to assign task in tasker into auto input. Got in 9 inputs. But when testing it failed on the first one! Gonna play around some more! If I can get this working and figured out I'll post the results! Hopefully if this works well we can have an auto temp root! Any suggestions would be great! Thanks!
Click to expand...
Click to collapse
Here is a profile
Thank you @IceTwig! I tried using your profile before the post but keep getting errors. First I imported the zip and even the extracted folder and get error must match pxj.xml when your profile is pxf.xml. I even tried to rename it then import but get the error " import of device _boot.pxj.xml failed: no %1$s found"..... sorry for not using your thread but I thought it was dead since no one has replied recently! And didn't wanna get flamed lol but I'd really appreciate your help if able :]
What version of Tasker are you using?
4.7u3
IceTwig said:
What version of Tasker are you using?
Click to expand...
Click to collapse
What version worked for you?
4.7u3m
---------- Post added at 04:19 PM ---------- Previous post was at 04:17 PM ----------
Let me see if I can export it a different way
I'd appreciate that thank you @IceTwig :]
vsn4 said:
I'd appreciate that thank you @IceTwig :]
Click to expand...
Click to collapse
OK, it looks like I nca only do the XML in EMAIL, Clipboard to paste here or SD copy. Also I can copy the entire description to clipboard and paste here, other than that, it saves the same file I uploaded before.
Question... have you put the pxf.xml file in your tasker profile folder and then tried to import it?
IceTwig said:
OK, it looks like I nca only do the XML in EMAIL, Clipboard to paste here or SD copy. Also I can copy the entire description to clipboard and paste here, other than that, it saves the same file I uploaded before.
Question... have you put the pxf.xml file in your tasker profile folder and then tried to import it?
Click to expand...
Click to collapse
Yeah I just tried putting it into the folder like you said, still some error.
So from the options, which would you prefer?
Description and post here please :]
Profile: Root On Boot (44)
Event: Device Boot
Enter: Root (52)
A1: Perform Task [ Name:Screen On Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A2: Open File [ Fileownload/KingRootTrunk4-1_xda.apk Mime Type: ]
A3: AutoInput Action [ Configuration:Type: Text
Value: Next
Action : Click
Unlock Screen: true Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 Continue Task After Errorn ]
A4: AutoInput Action [ Configuration:Type: Text
Value: Install
Action : Click Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 Continue Task After Errorn ]
A5: AutoInput Action [ Configuration:Type: Text
Value: Open
Action : Click Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A6: [X] AutoInput Action [ Configuration:Type: Text
Value: START ROOT
Action : Click
Unlock Screen: true Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A7: AutoInput UI Query [ Configuration:App Package: com.kingroot.RushRoot
Unlock Screen: true
Text: START ROOT
Variables: sroot Package:com.joaomgcd.autoinput Name:AutoInput UI Query Timeout (Seconds):20 ]
A8: Wait [ MS:0 Seconds:40 Minutes:0 Hours:0 Days:0 ]
A9: Perform Task [ Name:Screen Off Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
IceTwig said:
Profile: Root On Boot (44)
Event: Device Boot
Enter: Root (52)
A1: Perform Task [ Name:Screen On Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
A2: Open File [ Fileownload/KingRootTrunk4-1_xda.apk Mime Type: ]
A3: AutoInput Action [ Configuration:Type: Text
Value: Next
Action : Click
Unlock Screen: true Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 Continue Task After Errorn ]
A4: AutoInput Action [ Configuration:Type: Text
Value: Install
Action : Click Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 Continue Task After Errorn ]
A5: AutoInput Action [ Configuration:Type: Text
Value: Open
Action : Click Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A6: [X] AutoInput Action [ Configuration:Type: Text
Value: START ROOT
Action : Click
Unlock Screen: true Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
A7: AutoInput UI Query [ Configuration:App Package: com.kingroot.RushRoot
Unlock Screen: true
Text: START ROOT
Variables: sroot Package:com.joaomgcd.autoinput Name:AutoInput UI Query Timeout (Seconds):20 ]
A8: Wait [ MS:0 Seconds:40 Minutes:0 Hours:0 Days:0 ]
A9: Perform Task [ Name:Screen Off Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stopff ]
Click to expand...
Click to collapse
Awesome! Followed your description and it worked! Thank you so much icetwig! Gonna use your layout and get xposed and supersume working I'll post back!
Great news!
can you add please a video tutorial how did you do it !
thanks
Hello,
I rooted my LG G3 using Kingroot.
TitaniumBackup acknowledges the root.
On the same time Tasker does not. I tried to create a profile that requires root (picture attached).
What can be done?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sent from my LG-D855 using Tapatalk

Categories

Resources