[Q] Wifi settings in GB (CM7) like ICS/JB (CM9/10) - Defy Q&A, Help & Troubleshooting

Hi,
I wonder if it is possible to make advanced settings on GB wifi like in ICS/JB.
In GB you have a global settings on IP either static or dinamic for all the hotspots / accespoint, if you put an static ip like 192.168.10.10 is put global every were at all hotspots.
On ICS/JB (when add a new hotspot on the page with passkey on the bottom can choose dinamic or static) you can put an ip individual on each acces point, on one you can have dinamic ip on one static etc
GB is like this: wifi1, wifi2 and wifi3 dinamic or static ip (select manual every time for all 3)
ICS/JB is like this: wifi1(192.168.10.10), wifi2(192.168.15.15), wifi3(dinamic IP)
Thx for the answers!

?
Anyone? Is it possible? This is a very important missing for me in cm7/gingerbread room I appreciate if someone came with a "fix" for this "problem"

Related

HTTP POST Capture

I was wondering whether there is such software for the android that can capture http posts before sending. i.e. like the firefox addons you can get and apps like http analyzer?
This would be really useful for testing purposes.
Cheers.
Gazos
You can try some general traffic capture tools (Like tcpdump or airodump-ng). If You have rooted phone, check out Shark for Root (tcpdump on phone).
Thanks for the update but I guess what I want is real time captures (and manipulation) like its possible in Firefox using only the phone.
I currently use tcpdump to capture data but want to edit the data before its sent out.
You can try to find/write small proxy server application and run it on phone, so you will be in control.
ex87 said:
You can try to find/write small proxy server application and run it on phone, so you will be in control.
Click to expand...
Click to collapse
Or you could run paros (http://sourceforge.net/projects/paros/files/) on a machine on your network and get the android browser to use it as the proxy (which looks like a bit of a task in it's self.)
The only viable way I can think of to do this (given Android's insane lack of proxy support) is to hack a custom firmware for a Linksys WRT54g so it basically routes everything to a transparent proxy (Fiddler2, Webscarab, Paros, Burp, etc) running on a PC. Something like this:
Android =[wi-fi]=> WRT54g -[ethernet]-> PC with proxy -> internet router
It might even be possible to achieve this without hacking the WRT54g.
The only problem you might still have (not sure) is Android's handling of invalid SSL certs since the proxy would basically be doing a man in the middle attack, and the app running on the Android phone would see an invalid SSL cert.
Be warned that trying this with a Windows host PC is almost guaranteed to fail unless it's Pro/Ultimate, and in any case this is going to involve some seriously hardcore manual routing config that goes beyond anything Windows' config screens were really intended to set up.
You can try to find/write small proxy server application and run it on phone, so you will be in control.
Click to expand...
Click to collapse
I'm pretty sure I saw this discussed on the android.security list, and the consensus was that the current API doesn't give any way to do this transparently, and it's questionable whether you could even implement something like WebScarab natively on Android using the NDK. I believe the general consensus was that if you want to host something like WebScarab on Android, it's going to take a custom kernel to pull it off, and some solution that lets you offload the actual proxying to a regular PC would be infinitely easier to pull off, and less cumbersome to use for actual security testing (it's enough of a pain trying to use Fiddler2 or Webscarab with a 1280x1024 display, let alone 854x480... not to mention trying to cut and paste examples into Word Documents for vulnerability assessment reports (shudder)).
^^^ OMG. I just installed AOSP ("Buufed") for the CDMA Hero, and it actually HAS the ability to set proxy for WiFi. I haven't tried it yet, and I'm not sure whether it's purely an "AOSP" feature or something I've just overlooked up to now that was in DamageControl, but it looks like at least *some* Android builds DO have it now

[TUT] Tasker - Total Data Connection & Sync Control V4 [MASSIVE Battery Savings!!!]

[TUT] Tasker - Total Data Connection & Sync Control V4 [MASSIVE Battery Savings!!!]
Assuming your device is already very battery efficient because you are using my CPU profiles from here, next up is controlling your data connections and syncing schedule.
New to Tasker? Call yourself a geek?! Delete your XDA account immediately or get a free trial from here
The Theory
In order, the most important things in my life are as follows:
1) Preserving my phone’s battery life.
2) Sexually satisfying my girlfriend.
As you can see, it’s pretty important for me that I can get through a couple of days with medium usage without having a panic attack about the distance I am from my charger. Download my DistanceFromCharger profile here (just kidding).
So, I looked at my data connections and their battery usage when my scheduled once hourly sync of widgets, emails, facebook, twitter, rss etc etc took place. Without extensive testing, it became clear that these synchronisations became misaligned from the hourly slot due to data quantity, connection time/errors etc etc. Over time, it is therefore theoretically possible to have 10 applications/widgets/processes causing a data sync separately every six minutes (60 mins/10) and although some might say that the total data volume may be the same overall, the act of using the data connection so many more times tells me it will use more battery life. Do you concur?
Even if you don’t (liar!), the following Tasker profiles are to completely manage your wireless connectivity and prevent syncing of unwanted applications at misaligned times.
The Practice
My phone starts its day set to 2g networks only, data connection off, wireless off, screen brightness set so low I need there to be solar eclipse for me to see it and all system volumes set to only alert nearby dogs that I have a text message – all naturally for maximum battery preservation. Depending on the day, my location, calendar entries etc Tasker selects a relevant profile for me to use.
For the benefit of the profiles below, I am going to assume the phone starts in full battery saving mode and go from there. Once you’re up to speed with the flow of the profiles, you can adjust them accordingly to suit your usage.
Firstly, I learnt pretty recently that a wireless connection actually uses less battery than 3g (yes, honestly) and therefore whenever I sync data, I look to use wireless first. For those with constricting data plans, I’m assuming this suits you too?
Wireless states to consider:
On
Off
On and connected to a preferred network
On and connected to an open network
On but not connected to a network
On and recently disconnected from a network
I think that just about covers it?
Download and install Locale Execute Plug-in free from the market here. Import all the profiles (un-tick them) and tasks and with the relevant profile and tasks open (it will make a whole lot more sense then), follow the guide below.
Before we can look at the syncing profile itself, we need to set up some variables for the above first. For battery preservation, I couldn’t have an individual profile for each of the above, as many of them would be active at the same time and constantly on - After a lot of head scratching (and I mean a lot) I came up with the profile WIFI-OnCon let’s have a look at it:
We start with the state of ‘Wifi Connected’. This state means wifi is connected to a network (rather than just ‘on’). The task WifiOnConVar firstly runs a separate task WIFIPREFCON.
WIFIPREFCON writes a text file containing the standard wifi info variable %WIFII (you can take a look at the output file for your information). The next step is to extract just the SSID from the file so Tasker can set this as a variable %WIFIPREF (short for a wifi preferred network). The task ends with speech for you to test the variable has been set correctly (make sure you are connected to a network at the time).
Next, WifiOnConVar sets a variable %WIFIOC (standing for wifi on and connected) to a value of 2. It then sets a variable of %WIFIHOME to the value 2 only IF the name matches that of your home wireless SSID. You can set and add as many of these variables in as you like e.g. %WIFIWORK, %WIFIGIRLFRIENDHOUSE, %WIFIMASSAGEPARLOUR with the IF statement for their respective SSID’s. Setting up these variables is very useful to let Tasker determine your location for use in other profiles, without the need of running GPS or cell tower location profiles (yes, I’m a genius).
Ok, so at the moment, Tasker knows wifi is on and connected (%WIFIOC set to value 2) and you are at home (%WIFIHOME set to your home SSID) (assuming you are testing this at home). A speech task confirms the variables are set.
The next state to consider is when wifi is no longer BOTH on AND connected. We do this in the exit task – the exit task starting when the state of on and connected is no longer true. Firstly it checks if wifi is still on, if it is (goto action 7), it sets the variable %WIFIOC to a value of 3 (another profile reads this shortly) and then clears the name of the preferred network in %WIFIPREF as of course, that cannot be connected anymore…
If the wifi is off, it sets the variable %WIFIHOME to the value 1 and if you have added multiple preferred network variables (%WIFIWORK etc), you should insert that it sets these to a value of 1 too. A speech action confirms the values for your testing purposes (remember, if you delete the speech when you are happy it is working properly, you’ll need to change the Goto Action number accordingly!), the variable %WIFIPREF is cleared as of course you cannot be connected to a preferred network anymore and the task STOPs.
Finally, to complete the wifi control, we need to deal with the wireless still being on, but out of range of a preferred network (that you were connected to). This is definitely a chance to save some battery life, as we’ve all left wifi on by accident when we are not going to be using it. Above, we set the variable of wifi on and connected (%WIFIOC) to a value of 3 when the state became ON but NOT connected. The profile of WIFI-AutoDiscon is set up to come to life when %WIFIOC is set to a value of 3. It activates the task to start a one minute countdown before checking on the wifi state again. This one minute wait allows time where you may have been in a black spot in your office or home and experienced a short disconnection. At the end of the minute, it checks that the value of %WIFIOC has not been changed back to 2 (it has reconnected to a preferred network) and then switches off wifi with your battery giving you a high-5.
That concludes the wireless management. The only missing eventualities are:
On and connected to an open network. (I have little use for this, but can’t sort something out if the demand is high enough).
On and not connected to a network. Not having a profile for this may surprise you, but in actually fact, how often do you turn wireless on when you are not around a preferred network and just leave it? The only reason you would surely do this, is if you were scanning for open networks, in which case a battery saving profile is pretty irrelevant to the scenario. Remember, the state of on and not connected to a network when you were previously connected IS covered, the %WIFIOC variable 3 and the WIFI-AutoDiscon profile monitors this. Happy?
If not, set up a new profile with the state of wifi connected and click ‘invert’ – but this of course will be active when you’re not even using wifi at all…
Taking control of your data syncing
The profile AutoSync is of course time activated, as you would set up your normal ‘between hours’ for email synchronisation. The repeat value sets how often you would like to sync your emails, widgets, applications, weather updates etc etc, by simply restricting their access to an active data connection in-between-times.
The task of AutoSync itself, firstly checks your battery is above a chosen threshold (you decide) to perform the action and that it’s not the weekend (if you want). Again, once you get to grips with the task flow, you can add in separate entries for individual applications, actions etc based on an individual setting – not syncing your work email on the weekend for example.
Action 4 sets a new variable of %WIFIORS. This stands for the ‘original state of wifi’ when the task began and populates using the previously created %WIFIOC variable. The purpose of this is to make sure that once the task has finished it does not turn off wifi if you were in the middle of using it – it will return wifi to the state it was when the task started – clever hey?
Next it uses the third party Locale Execute Plug-in. Locale will be executing commands that will create and record a logcat file for you for the duration of your sync. The purpose of this is so you can review the logcat file and determine what applications are syncing and pulling data. I’ll discuss this further shortly. LOGCAT ACTIONS REMOVED IN LATER VERSIONS DUE TO ERRORS.
The task continues by turning on wifi (if it is already on nothing will change) and waiting to see if it connects to a preferred network by checking the value of the variable %WIFIOC. If a wifi connection is established, it skips to turning on automatic syncing (settings/accounts and sync to view what will sync), if it isn’t, it turns wifi off and uses your phone’s data connection until either eventuality ends up at action 16 where wifi is requested to switch off IF it was off when the task began using the value of %WIFIORS (clever hey).
Mobile Data (added in V4)
Due to popular demand, the context of mobile data has been added as a profile and then to the tasks. Limitations allow the task only to tell if the mobile data is on, it cannot tell if your preferences are 2g only for example. The variable %MOBORS acts in the same way as %WIFIORS above and will not switch off the mobile data connection if it was on at the beginning of AutoSync. As standard, the profiles assume that your device was set to 2g only to preserve battery. The tasks therefore look to return the device to this state. If you always use 3g preferred, you will need to remove these entries.
Finally, logcat commands are run and files are created, renamed with date and time stamp, moved and zipped up for your future perusal.. *LOGCAT ACTIONS REMOVED IN LATER VERSIONS* The task STOPS if %WIFIORS tells tasker that wifi was on originally or it continues on to switch to 2g only and kill the mobile data connection (these wouldn’t have been activated if wifi had connected or already been on).
So there you have it… Full wifi control and full sync management, with not a single byte of data or rouge connection in sight… You are free to switch off your wifi, data connection, uncheck auto-sync (settings/accounts and sync) and go to 2g only. Tick the profile boxes, hit apply and it’s job done.
Don't forget to set all of your applications and widgets etc that will be syncing to just below the AutoSync repeat time!
Give me your feedback please folks and don’t forget the thanks meter! – At the moment I feel very unappreciated
What do I do with the logcat file? *THESE HAVE NOW BEEN REMOVED*
The logcat files are zipped up and stored in the /tasker folder on your sd card. Looking through these will alert you to any unexpected processes that are requesting to send/receive data. These may be applications you don’t use any more and therefore could be uninstalled or archived (archiving can be achieved with applications such as Bloat Freezer).
Another reason I have stored the logcat is so Tasker could read it and therefore confirm which of your applications have successfully synced, or alert you to failures. This is effort to design and I will only go on to do this by popular demand. In addition, Tasker could be used to kill the rouge processes that are lining up to sync, but are unnecessary… Again, you tell me…
What’s next?
Over to you! Please give me your suggestions. These profiles were set up to suit my individual usage and it may be that most of you focus on your mobile data connection management rather than wifi? Don’t be afraid to post and let me know.
Credits
Unknown for zip file profile
Bdanders for wifi variable inspiration
Conclusion
Knowing my phone can remain in deep sleep between syncing times with all data connections switched off has got to be good for battery life? If I ever stop fiddling with my phone for long enough, I'll let you know!
Let me know your feedback please folks, inconsistencies, errors, I’m all ears.
FAQ
Q) I didn't understand the %WIFIPREF variables and how and where I add in my own %WIFIWORK ones etc? Help!
A) A wrote an additional tutorial on how to do this and why here
Q) These profiles always turn my phone to 2g only. I like to use 3g preferred - what do I do??
A) Remove action #21 in the task AutoSync
Q) I don't always want my data connection to be turned off after I sync & I want to leave wifi on if connected to a preferred network.
A) See this post for ideas - credit Nacrul
Q) I don't want to switch between 2g/3g and how do I keep mobile data connections to their original state so I don't disconnect?
A) See this post for ideas - credit lodder
Q) I have many other Tasker questions, can I post them here??
A) To avoid clutter, probably best to use this official Google group
Q) Where can I learn more about Tasker?
A) The manual and Profiles and step-throughs on the Tasker wiki and you’ll be up to speed in no time.
Change Log
Code:
The profiles and tasks include a lot of 'wait' times. These can be reduced to therefore reduce the time you are syncing and the profile is active. They are set to thresholds that ensure enough time is given to each task - you can adjust these manually depending on your device's performance and testing experience.
[B][U]V2[/U][/B]
Additional wait times added to allow data connection more time after switching from 2g to 3g
Added additional example of [B]%WIFIWORK [/B]
[B]%WIFIWORK [/B]& [B]%WIFIHOME[/B] are reverted correctly to a value of 1 in the exit task
Unneeded split variables cleared for good housekeeping - credit Nacrul
Voice-overs removed (if you want to check your variables are assigning correct, add a pop up or speech anywhere!).
Adjusted positions of data connection to prevent lag.
Added time based notifications to show LAST successful sync
New [B]%INCALL[/B] variable added to ensure 2g/3g switch does not happen during calls *
* The [B]%INCALL[/B] variables are already created in my CPU tutorial [URL="http://forum.xda-developers.com/showthread.php?t=1018245"]here[/URL]. If you are not running these, then you'll need to create two simple profiles:
[B]DuringCall [/B]- the event is '[B]phone offhook[/B]' and in the task 'variable set' [B]%INCALL[/B] to a value of 2 (2 = call active)
[B]EndCall [/B]- the event is '[B]phone idle[/B]' and in the task 'variable set'' [B]%INCALL[/B] to a value of 1 (1= no call is taking place)
The above will come in handy in many other profiles I'm sure...
[B][U]V3[/U][/B]
[COLOR="Red"]REMOVED ALL LOGCAT ACTIONS
[Should the running task be interrupted, the logcat may continue to be written to /sdcard/taskerlogcat.txt. Please check that this file is not present! If it is, delete it.] [/COLOR]
If you are really interested in the logcat contents to see what your device is up to when it has a data connection, V2 is stable and works well - the above considered.
Credit (and apologies) for the above - pasteyface
[B][U]V3.1[/U][/B]
Updated incorrect 'goto' action in the exit task [B]WifiDisVar[/B]. Should have been 'goto' action 7 (not 6). Credit [URL="http://forum.xda-developers.com/member.php?u=3311156"]torsrex[/URL]
[COLOR="Red"]Nothing else has changed from V3, so very easy to change for those currently on V3, no need to download and re-install![/COLOR]
[B][U]V4[/U][/B]
Fixed device-asleep notifications
Adding mobile data controls (equivalent to [B]%WIFIOC[/B] and [B]%WIFIORS[/B])
Added WiFi or Data to notifications so you can tell which your device used to sync.
Added Minimalistic Text task for home-screen widget.
Added days of the week as a context
Bugs
'Sync Successful - %TIME' notifications not cancelled when device asleep - Fixed in V4
Future Requests
* Wifi remaining on when certain SSID's detected - I'll write up the instructions for this soon...
* Data connection to remain on if it was on at the beginning of the task - I'm working on it... Added in V4
Installation Instructions
In menu options/profile data 'Import One Task':
WIFIPREFCON.tsk.xml
In menu options/profile data 'Import One Profile':
AutoSync.prf.xml
WIFI-AutoDiscon.prf.xml
WIFI-OnCon.prf.xml
MobileData.prf.xml
The thanks meter lets me know I'm appreciated!
Questions
Questions:
1)
Does these profiles/tasks work out of the box, or do I have to change them to make them work?
2)
"I am going to assume the phone starts in full battery saving mode and go
from there. "
Is this Auto-set by the profiles?
3)
"Import all the profiles (un-tick them) and tasks and with the relevant
profile and tasks open (it will make a whole lot more sense then),
follow the guide below."
I guess un-tick means deactivate. When should I tick (activate) them again?
4)
"It then sets a variable of %WIFIHOME to the value 2 only IF the name matches that of your home wireless SSID. You can set and add as many of these variables in as you like e.g. %WIFIWORK, %WIFIGIRLFRIENDHOUSE, %WIFIMASSAGEPARLOUR with the IF statement for their respective SSID’s"
Do I have to set SSID manually?
5)
You can set and add as many of these variables in as you like e.g. %WIFIWORK, %WIFIGIRLFRIENDHOUSE, %WIFIMASSAGEPARLOUR with the IF statement for their respective SSID’s.
Where/how can i set up those?
6)
"The logcat files are zipped up and stored in the /tasker folder on your sd card"
I can't find any LogCat file in my /Tasker folder...
7)
"Don't forget to set all of your applications and widgets etc that will be syncing to just below the AutoSync repeat time!"
So if the AutoSync repeat time is set to 30 min, the AppSync time should be <29 min...?
/Peter
peswe said:
Questions:
1)
Does these profiles/tasks work out of the box, or do I have to change them to make them work?
Click to expand...
Click to collapse
They work straight out of the box. You only need to enter your wifi SSID in place of the SKYXXXXX and adjust the sync times to suit you
peswe said:
2)
"I am going to assume the phone starts in full battery saving mode and go
from there. "
Is this Auto-set by the profiles?
Click to expand...
Click to collapse
No. If I had to consider all phone conditions from outset, such as wifi on, wifi off and data on, 3g off etc etc it would have been very complicated. It simply assumes all data connections are off and phone is set to 2g, which is the ideal battery saving state.
peswe said:
3)
"Import all the profiles (un-tick them) and tasks and with the relevant
profile and tasks open (it will make a whole lot more sense then),
follow the guide below."
I guess un-tick means deactivate. When should I tick (activate) them again?
Click to expand...
Click to collapse
Once you have made all of the adjustments you see fit (sync time, SKYXXXXX and tested) you can activated them.
peswe said:
4)
"It then sets a variable of %WIFIHOME to the value 2 only IF the name matches that of your home wireless SSID. You can set and add as many of these variables in as you like e.g. %WIFIWORK, %WIFIGIRLFRIENDHOUSE, %WIFIMASSAGEPARLOUR with the IF statement for their respective SSID’s"
Do I have to set SSID manually?
Click to expand...
Click to collapse
In the task WIFIOnConVar a variable is created of %WIFIHOME by matching the SSID with the IF statement.
You can create as many new variables here as you like, such as %WIFIWORK or %WIFICOLLEGE , just put the corresponding SSID in the IF statement. Tasker will look at the IF statement of each and when it finds a match, update the correct %WIFI'LOCATION' to a value of 2 - which means you are there! You can then reference this in other tasks you create - For example when %WIFIWORK = 2, set phone ringing volume to low. In other words, Tasker knows you are at work from the SSID and knows you want your phone to ring quietly when you are there. An exit task could be added so that when you leave, the phone volume increases again....
Get it?
peswe said:
5)
You can set and add as many of these variables in as you like e.g. %WIFIWORK, %WIFIGIRLFRIENDHOUSE, %WIFIMASSAGEPARLOUR with the IF statement for their respective SSID’s.
Where/how can i set up those?
Click to expand...
Click to collapse
As above, in the task WIFIOnConVar, same as action 3. Press +, select variable, select variable set, name it %WIFIWORK (for example), 'to' 2, tick 'IF' and enter %WIFIPREF matches your works SSID. ....
peswe said:
6)
"The logcat files are zipped up and stored in the /tasker folder on your sd card"
I can't find any LogCat file in my /Tasker folder...
Click to expand...
Click to collapse
It won't be created in that location until the profile AutoSync has run.
peswe said:
7)
"Don't forget to set all of your applications and widgets etc that will be syncing to just below the AutoSync repeat time!"
So if the AutoSync repeat time is set to 30 min, the AppSync time should be <29 min...?
Click to expand...
Click to collapse
Theoretically yes. My point was that your widgets, emails, etc etc should be waiting to sync when a data connection becomes active. If they are set to update every 1.5 hours but your AutoSync profile is set up for 1 hour, then they won't sync correctly every time!
Hope this answers all of your questions?
brandall said:
They work straight out of the box. You only need to enter your wifi SSID in place of the SKYXXXXX and adjust the sync times to suit you
Click to expand...
Click to collapse
Could you please tell me were to look (Which Profile/Task?)
brandall said:
You can create as many new variables here as you like, such as %WIFIWORK or %WIFICOLLEGE , just put the corresponding SSID in the IF statement. Tasker will look at the IF statement of each and when it finds a match, update the correct %WIFI'LOCATION' to a value of 2 - which means you are there! You can then reference this in other tasks you create - For example when %WIFIWORK = 2, set phone ringing volume to low. In other words, Tasker knows you are at work from the SSID and knows you want your phone to ring quietly when you are there. An exit task could be added so that when you leave, the phone volume increases again....
Get it?
Click to expand...
Click to collapse
Not really. In this and the next Question I need a full guideline.
If I add a Variable Set for let's say %WIFIWORK. Then I suppose it must have an corresponding Variable Set in the WIFI-OnCon<=Exit Task like %WIFIWORK To 1, and that affects the Goto Action 7 (in the first line).
A little step-by-step info about how to add multiple SSIDs would be nice.
brandall said:
As above, in the task WIFIOnConVar, same as action 3. Press +, select variable, select variable set, name it %WIFIWORK (for example), 'to' 2, tick 'IF' and enter %WIFIPREF matches your works SSID. ....
Click to expand...
Click to collapse
peswe said:
You can create as many new variables here as you like, such as %WIFIWORK or %WIFICOLLEGE , just put the corresponding SSID in the IF statement. Tasker will look at the IF statement of each and when it finds a match, update the correct %WIFI'LOCATION' to a value of 2 - which means you are there! You can then reference this in other tasks you create - For example when %WIFIWORK = 2, set phone ringing volume to low. In other words, Tasker knows you are at work from the SSID and knows you want your phone to ring quietly when you are there. An exit task could be added so that when you leave, the phone volume increases again....
Click to expand...
Click to collapse
Not really. In this and the next Question I need a full guideline.
If I add a Variable Set for let's say %WIFIWORK. Then I suppose it must have an corresponding Variable Set in the WIFI-OnCon<=Exit Task like %WIFIWORK To 1, and that affects the Goto Action 7 (in the first line).
Click to expand...
Click to collapse
Yes, your understanding is correct! I know this can get a little confusing, but having these %WIFI'location' variables created can really come in handy in other profiles. In the next post I'll type a detailed explanation and update the FAQ so others can follow.
Creating location based wifi variables
A little tutorial for you:
In the task WIFIOnConVar the first action is to run a separate task called WIFIPREFCON (standing for 'wifi is connected to a preferred network'). To view its actions, click on tasks on the main Tasker page and scroll down to select WIFIPREFCON.
You'll see that it uses the inbuilt 'wifi information' variable (%WIFII) and writes the information it contains to a text file called wifii.txt on the route of your storage card. Make sure you are connected to a wireless network and press the 'test' button. The file will then be created and you can use your file explorer to view its contents.
The only information we require from this text file is the SSID (the public name of your wireless network). In the task WIFIPREFCON, the next step is to extract ONLY that, by 'splitting' (using variable split) the text file before and then after the SSID. This snips out the SSID and writes it to a new variable we create called %WIFIPREF.
So, at this point, when wifi is on and you are connected to a network, the SSID of that network will be contained in the variable %WIFIPREF. Back over in the task of WIFIOnConVar, tasker is setting the variable of %WIFIOC (on & connected) to a value of 2. (1=not connected 2=connected 3=recently disconnected). Our newly created %WIFIPREF variable contains the SSID name of your current connection. The next action is to set a variable that it matches. A variable is only set to a value of 2 (2=connected) >>IF<< the SSID name stored in %WIFIPREF matches the SSID you enter in the IF statement.
For example, my home SSID is SKY12345, so if I was creating the action from scratch +,variable, varible set, name = %WIFIHOME, To 2 , IF %WIFIPREF ~ (matches) SKY12345. You should add in ALL of your frequently used preferred networks in the same way:
name = %WIFIWORK, To 2 (connected), IF %WIFIPREF ~ (matches) Linkys12345.
name = %WIFIPARENTS, To 2 (connected), IF %WIFIPREF ~ (matches) BT-HomeHuB12345.
name = %WIFIGIRLFRIENDSHOUSE, To 2 (connected), IF %WIFIPREF ~ (matches) VIGIN54321.
This way Tasker can always determine where you are if you are connected to a preferred wireless network.
Why is this useful though? There are many profiles kicking around that use GPS or cell tower location so Tasker can estiblish your location. Such profiles can be battery intensive, so avoiding using them would be a bonus whenever possible.
Let's use a scenario:
You are at your girlfriend's house and your last AutoSync used her wireless network. Tasker will know that you are there because %WIFIPREF found her SSID, saw it matched the IF statement in %WIFIGIRLFRIENDSHOUSE and updated the value to 2 (connected). Imagine you are cheating on her and you set up a profile that activates when you are at your girlfriend's house (%WIFIGIRLFRIENDSHOUSE=2). The CheatingProfile reacting to %WIFIGIRLFRIENDSHOUE being updated to a value of 2, diverts all calls from your other girlfriend directly to voicemail, changes the text message recieved profile for just her to silent, copies the text message to a zip folder on the SD card and deletes her message from the inbox, before automatically reply to her saying "stuck in traffic, no hands free, battery low, catch you later princess, love you enternally xxx" Get it?
Another one:
You are at work. When you are at work you use your PC to check your emails and therefore to preserve battery you want to change your AutoSync shedule to 3 hours apart. This can be activated when Tasker sees that %WIFIWORK has been updated to a value of 2. It could also lower you ring tone volume and change it to something more business-like. Really pushing the boundaries it could read your calendar, check when you're next entry label is set to 'busy', read the location information within the entry, check the distance using an HTTP GET command for directions and load up sat Nav for you 5 minutes before the time it's read from google maps you would have to leave the office to get there! Not forgetting to change your AutoSync back to its normally interval. Oh and in your rush to leave, if you forget to turn off wifi, don't worry though, the profile WIFI-AutoDiscon will do it for you in one minutes time
Yes, with Tasker, the possibilities are endless, I just wish it could actually get me a girlfriend, let alone 2!
I really hope that's helped you understand how having location variables ready to use can assist you further in whatever profiles you choose to create.
Don't forget, that for every new location variable you set in WIFIOnConVar you will need to add the equalivalent entry into the exit task. An example is already in there under %WIFIHOME being set back to a value of 1 (disconnected). And finally, don't forget to change the first GoTO action so it points to the correction action after STOP.
I've just realised, that they also need to be added in to change the values to 1 in the profile WIFI-AutoDiscon - Oops! I'll do that in version 2.
Credit peswe for making me realise this!
Any questions, let me know...
hmmm... Not much interest so far!?
Version 2 out after the weekend - Mainly to prevent 2g/3g switching during a call! Oops...
Any feedback as yet, or suggestions?
brandall, I've subscribed and am interested, I'm just gonna have to try and find some time this weekend to read all of this and see about implementing. I will and will report back
I have juicedefender ultimate and it does all this automatically. Still, kudos to you for the write-up.
Just tested the profiles.
Seems to work so far, but got a question:
Do you need the WIFII1, WIFII2... variables later again? If not you can clean up the variables in the next version
Combined with my homeprofile this setup may replace the my old one
I just read through a bit and one thing I noticed:
Above, we set the variable of wifi on and connected (%WIFIOC) to a value of 3 when the state became ON but NOT connected.
Click to expand...
Click to collapse
This is one of my problems with Android, it can take up to 10 minutes before it realizes that you are out of range of your access point.
For instance, I'm at work with WiFi connected, I put phone in pocket and get in my car for the 10 minute ride home. Tasker is supposed to switch Bluetooth/GPS on for me when Wifi is disconnected. Well, my car's Bluetooth device won't pick the phone up sometimes until I'm pulling into my driveway, because Android is still thinking I'm connected to work Wifi and I'm 5 miles away! This happens on AOSP and OTA and on 2 separate phones, the EXACT behavior. The phone should more aggressively switch from WiFi to 3G.. meaning when I step outside from Work, and I am definitely out of range, it shouldn't require me to wake the phone up so it checks "oh yeah, no WiFi lets switch"
I can improve the behavior a bit by using "Wifi connected" profiles in conjunction with "Cell near" stuff , but that only marginally improves the time and eats more battery..
The bottom line here is Android's WiFi management has some problems and you're stuck with leaving it on all the time or manually managing it
sacredsoul said:
I have juicedefender ultimate and it does all this automatically. Still, kudos to you for the write-up.
Click to expand...
Click to collapse
Thanks for the kudos!
Agreed on juicedefender - it's just something about Tasker that makes me want to use it instead of other applications by replicating what they do... It gets pretty addictive! My next tutorial is how to use it as a task manager and they are ten a penny on the market!
It's just the complete flexibility that Tasker provides, the things you'd love to tweak and adjust on other applications, with Tasker you can...
Nacrul said:
Just tested the profiles.
Seems to work so far, but got a question:
Do you need the WIFII1, WIFII2... variables later again? If not you can clean up the variables in the next version
Combined with my homeprofile this setup may replace the my old one
Click to expand...
Click to collapse
I think you are talking about WIFII2 and WIFI21 in the task WIFIPREFCON?
They are splitting the information contained in the variable %WIFII, which unfortunately doesn't just show the SSID - we have to extract it by showing Tasker where to start reading and where to stop <-- the stop is set by WIFII2 and the output is sent to %WIFII21 = SSID
If you have a look at the text file on your storage card/wifi.txt you'll see what %WIFII originally contained and why it needs dissecting.
That process can be removed if you don't find the SSID useful - but if you read post 8 here, I hope you can see how they are very handy!
Let me know if I didn't answer the right question!
crachel said:
This is one of my problems with Android, it can take up to 10 minutes before it realizes that you are out of range of your access point.
For instance, I'm at work with WiFi connected, I put phone in pocket and get in my car for the 10 minute ride home. Tasker is supposed to switch Bluetooth/GPS on for me when Wifi is disconnected. Well, my car's Bluetooth device won't pick the phone up sometimes until I'm pulling into my driveway, because Android is still thinking I'm connected to work Wifi and I'm 5 miles away! This happens on AOSP and OTA and on 2 separate phones, the EXACT behavior. The phone should more aggressively switch from WiFi to 3G.. meaning when I step outside from Work, and I am definitely out of range, it shouldn't require me to wake the phone up so it checks "oh yeah, no WiFi lets switch"
I can improve the behavior a bit by using "Wifi connected" profiles in conjunction with "Cell near" stuff , but that only marginally improves the time and eats more battery..
The bottom line here is Android's WiFi management has some problems and you're stuck with leaving it on all the time or manually managing it
Click to expand...
Click to collapse
I'm sure you are correct crachel, but I have to say this is not my experience... I don't know why that would be though?
I've tested the WIFI-AutoDiscon in different ways, in different places and each time (even with the phone sleeping and speech updating me of the state) it shuts wifi down in around 1 minute.
Have you looked in the preferences in Tasker and looked what your display on and off settings are? I'm sure you are aware they will eat your battery if reduced dramatically.
None of my profiles are location based and therefore do not rely on these settings. Try them! It should kill wifi in one minute (less if you reduce the wait time).... Whatever you set the interval to in AutoSync is the longest it will take Tasker to realise where you are, as long as you've added in the SSID as detailed here, you can kick off other profiles such as 'work' or 'home' using the created variable %WIFIPREF
The times you normally arrive at work or back home you could have Tasker syncing every 5 minutes to pick this up quicker and then 1 hour at other times...?
You may know all of the above (it's hard to know what level people are at with Tasker), but regardless I hope they help and please let me know your feedback or ideas!
This is a paid app, so I am moving it to the Paid app section.
Im using this variable too, but i delete the unused variables after extracting the SSID. I check sometimes all variables in use with flash all variables and the splitted variable needs too much space for me of not needed. (And also better programming style to delete variables u dont need anymore i think)
Nacrul said:
Im using this variable too, but i delete the unused variables after extracting the SSID. I check sometimes all variables in use with flash all variables and the splitted variable needs too much space for me of not needed. (And also better programming style to delete variables u dont need anymore i think)
Click to expand...
Click to collapse
Thanks for this Nacrul - I can understand clearing the variables is good 'house-keeping', but I didn't consider that not clearing them would take up resource. I've just tested this and indeed the variables %WIFII2 and %WIFII21 contain unnecessary data and clearing them does not affect the content of %WIFIPREF which was my concern.
I'll update this in the next release! (and look over all of my previous profiles!). Thanks again.
ps. 'flash variables' - I always 'speak' them - do you have an alternative method to quickly show their content??
V2 Up
V2
Additional wait times added to allow data connection more time after switching from 2g to 3g
Added additional example of %WIFIWORK
%WIFIWORK & %WIFIHOME are reverted correctly to a value of 1 in the exit task
Unneeded split variables cleared for good housekeeping
Voice-overs removed (if you want to check your variables are assigning correct, add a pop up or speech anywhere!).
Adjusted positions of data connection to prevent lag.
Added time based notifications to show LAST successful sync
New %INCALL variable added to ensure 2g/3g switch does not happen during calls **.
* The %INCALL variables are already created in my CPU tutorial here. If you are not running these, then you'll need to create two simple profiles:
DuringCall - the event is 'phone offhook' and in the task 'variable set' %INCALL to a value of 2 (2 = call active)
EndCall - the event is 'phone idle' and in the task 'variable set'' %INCALL to a value of 1 (1= no call is taking place)
The above will come in handy in many other profiles I'm sure...
--------
Feedback needed as always please!

[Q] Still not getting Internet with Android

Hi:
I am loving my HTC HD2 running Windows Mobile and Android. I am using the following latest builds which work very well:
AmericanAndroid
MCCMBoxMax
and another which doesn’t come to my mind.
The only thing that is keeping me from a perfect experience is getting internet connection while in Android.
1. In Android OS, If I am connected to WIFI I get perfect internet at home or anyplace else where there is WIFI
2. In Windows Mobile, if there is no WIFI, I can connect to internet via my cell phone connection. I guess this is called data connection. I seem be having trouble doing this regardless of what Android build I use. Is there some setting I should be using in Android to get this to work? I’m almost certain I have the Mobile network setting checked. If there is some other setting, I must be missing it
I don't get any error messages, just that there is no internet connection when I goto a web page or try to goto Market.
Any help with this issue would be greatly appreciated, and thank you for your help in advance!
Chaz
There are many reasons why your data connection might not be working well because of.
First, your APN Settings may not be correctly set.
Second, in case you're running off NAND and you're using cLK with rmnet.
Third, your phone couldn't resolve the DNS server thus giving you no connectivity.
To fix the:
First, check your settings.
Second, Enable ppp instead of rment.
Third, editing the build.prop in your device.
after opening it, look for DNS1 and DNS2 .
Set DNS1 (or Primary DNS) to: 8.8.8.8
Set DNS2 (or Alternative DNS) to : 8.8.4.4
build.prop is located in system folder in your device.
Reboot, and check if it is working.
Well, maybe I mistated....It doesn't connect to anything while booted in Android. The only so far to get internet connection is thru a WIFI connection. If there is no WIFI then I get nothing. With WINMO 6.x I get data, but not with Android.
Will those instructions you gave still work? If so, I will try it after work.
Thank You!
You mean you see the "H", "3G", "E" or "G" but you can't get internet. or you don't even see them?
what does it say when you turn on Data connection?
Ah...maybe thats the problem. I get 5 bars, but those letters are no where to be found. When I'm on the WINMO side, I get those letters.
Wait....as I'm typing this, I just saw the letter H with up and down arrows below it. What does that mean?
kawazaki said:
There are many reasons why your data connection might not be working well because of.
First, your APN Settings may not be correctly set.
Second, in case you're running off NAND and you're using cLK with rmnet.
Third, your phone couldn't resolve the DNS server thus giving you no connectivity.
To fix the:
First, check your settings.
Second, Enable ppp instead of rment.
Third, editing the build.prop in your device.
after opening it, look for DNS1 and DNS2 .
Set DNS1 (or Primary DNS) to: 8.8.8.8
Set DNS2 (or Alternative DNS) to : 8.8.4.4
build.prop is located in system folder in your device.
Reboot, and check if it is working.
Click to expand...
Click to collapse
How do you enable ppp?
Sent from my HTC HD2 using XDA App
That means you're now connected to the internet, you probably have network select set on "WCDMA Only" and your area has insufficient 3G coverage. Just set it to "WCDMA/GSM Auto" .
Gunblade77 said:
How do you enable ppp?
Sent from my HTC HD2 using XDA App
Click to expand...
Click to collapse
Depends on your build, reading the OP of your build will definitely give you the answer but in most cases you can do so by editing the config.txt file on your sd card (create if not there) .. also keep in mind that not all builds support config.txt nor PPP. Refer to your build's thread. you also have to have a compatible kernel.
I'm using HyperDroid GBX v12, couldn't find anything on the rom's thread. Although I did find a ppp.txt right next to my build.txt in my system folder. Does this mean it is enabled?
Sent from my HTC HD2 using XDA App
I'm not really sure, but you could try making a txt file on the root of your sd card and name it "config.txt" and write in it the following:
Code:
ppp_mode=1
Then reboot your phone with sd card on, and see if it works.
chazperx said:
Hi:
I am loving my HTC HD2 running Windows Mobile and Android. I am using the following latest builds which work very well:
AmericanAndroid
MCCMBoxMax
and another which doesn’t come to my mind.
The only thing that is keeping me from a perfect experience is getting internet connection while in Android.
1. In Android OS, If I am connected to WIFI I get perfect internet at home or anyplace else where there is WIFI
2. In Windows Mobile, if there is no WIFI, I can connect to internet via my cell phone connection. I guess this is called data connection. I seem be having trouble doing this regardless of what Android build I use. Is there some setting I should be using in Android to get this to work? I’m almost certain I have the Mobile network setting checked. If there is some other setting, I must be missing it
I don't get any error messages, just that there is no internet connection when I goto a web page or try to goto Market.
Any help with this issue would be greatly appreciated, and thank you for your help in advance!
Chaz
Click to expand...
Click to collapse
I'd advise you to use a permanent Android Version, such as BOYPPC (which is the best in my mind)!
Otherwise install a newer SD-Android Version, and turn on the data connection in settings! Should work.
If there appears a E, G, 3G or H in your task bar, then u have internet connection!
Thank you for all your help and suggestions. I just installed:
[08 JULY][SD/MAGDLR] MccMBoxmaX GS V8 Gingerbread
And I finally got the Data to work. I don't know what happened, but it working. I am so happy I waited a year to by the HD2 Telstra.....Thanks again!
chazperx said:
Thank you for all your help and suggestions. I just installed:
[08 JULY][SD/MAGDLR] MccMBoxmaX GS V8 Gingerbread
And I finally got the Data to work. I don't know what happened, but it working. I am so happy I waited a year to by the HD2 Telstra.....Thanks again!
Click to expand...
Click to collapse
I m having same problem tried Following SD builds:
1.BoxmaX KS.6.5.SD.Tyr5
2.Android 2.2 superram
but no use.. .actually my problem is i am unable to save APN settings...the moment i click save button it doesnt show up even though i filled up all required fields..anyways i hv downloaded above mentioned rom just now...but can you let me know what exactly u did ?...i mean anything else u did other than just applying above mentioned ROM ..which i should do too...
any help on this is highly appreciated!!!
Thanks

how i can use a VPN in jb 4.2 with multiuser

Well im using CM 10.1 with JB 4.2.2 the problem its VPN, seems in the main user i can use the vpn, in second user there is no VPN option on settings (im using a setting shortuts to open it) and i guess its not visible because i cant use it. i tried loading my VPN info but doesent even connect, dont even try. so im wondering its possible?
i tried use openVpn for android but its weird, i couldn't make it work, as a work around i have to change from users open it in main user and swtich to secondary and seems it tries but i get a message like cant find TUN, or the interface 0 problem ( i guess this is network but cant be shared or something)
any advice to fix this (if its possible)
Thanks

[AOSP] App Op for internet access

Hi everybody,
one main reason I am staying on Kitkat and not switching to Lollipop is that it runs on Art and thus Xposed is not working (yet). I want it mainly because of XPrivacy to block internet access for certain applications.
Because that's the main reason to have XPrivacy I searched for an easier way (and maybe built-in) way to block internet access.
I finally found some time to dig into the AOSP source code and investigate how the app ops are implemented. I will first describe my development process and then give the code. If you're only interested in code go to the end of this post.
I noticed that it is rather simple to add a new toggleable permission to the AppOpManager (additionally I discovered this commit).
Well, adding a new operation does nothing by itself. The framework has to check somewhere if it is allowed to perform a specific operation.
In my investigations I discovered that nearly* all requests for a network socket pass the class java.net.InetAddress, namely methods lookupHostByName(String, int) and getByAddress(String, byte[], int).
* I say here nearly because I was not able to intercept the internet connection of the stock AOSP browser (XPrivacy has the same problem btw).
java.net.InetAddress is part of the standard Java implementation (platform_libcore) and thus cannot access framework classes and methods. I solved the problem by creating an interface and a static field holding an instance of the interface. Now this field has to be initialized so the method of the interface can be called.
The next step was to find the proper place where that initialization should take place. I chose a static initializer of the android.content.Context class.
Reasoning: every application runs in its own context. So when creating the context for an app the static field will be initialized. Otherwise I sometimes run into NPEs.
I also wanted to have consistent behavior between getting the connectivity state and the actual ability for accessing the internet. So I also changed the com.android.server.ConnectivityService.getNetworkInfoForType(int) method to fake no connection available.
Overall these changes included modifications in three projects which you can find in my Github. As a base I took the stock AOSP code at android-5.0.0_r7 so it is as developed and generic as possible.
platform_packages_apps_settings:
add op for internet access
platform_frameworks_base:
add op for internet access
block internet access if not allowed
fake no connection if internet access is not permitted
platform_libcore:
add an hook into methods that correspond to internet connections
All code is tested and working fine for me.
I hope some rom developers will read this post and apply these changes to their roms .
If anyone has suggestions on improvements or how to block apps like the AOSP browser please comment.
how can i block any specific app from access internet in aosp and where i can find API for Requesting internet
I want to customize os, there How can i restrict specific applicaion from accessing internet .
Actually i want to know where i can set network policy rule so that i can restrict internet.
please let me know if anone having any suggestion.
NetworkPolicyManager
ConnectivityManager
Inetd
It is neccessary to implement in all these or in any one to restrict internet ?
anu10121998 said:
I want to customize os, there How can i restrict specific applicaion from accessing internet .
Actually i want to know where i can set network policy rule so that i can restrict internet.
please let me know if anone having any suggestion.
NetworkPolicyManager
ConnectivityManager
Inetd
It is neccessary to implement in all these or in any one to restrict internet ?
Click to expand...
Click to collapse
I am running A11, Bliss (And I think its also in A8 Oreo). If you go into Settings>Apps & Notification>"see all apps">"App Name">Mobile Data & WiFi>Allow network Access ==>OFF This has worked a treat for me. The only caveat is that for the first week, internet content was sometimes being displayed, from what I can only assume was a cache. After a week, its as I expect.
ie No coding required. Interesting that android explicitly blocks removing the internet permission (but not other permissions) via a root shell, but works fine using the even easier GUI

Categories

Resources