Did anyone try on Nougat 7.1 to change from 2G to 4G by running the classical shell scripts? I tried, but no luck.
Thanks
Yes with the app toggle network type
Javi22 said:
Yes with the app toggle network type
Click to expand...
Click to collapse
Could you, please, let me know how did you use the shell scripts in Tasker, since you say you have used the app toggle network type?
gothy.gothy said:
Could you, please, let me know how did you use the shell scripts in Tasker, since you say you have used the app toggle network type?
Click to expand...
Click to collapse
It works as a plugin, create task, add action, look for plugin, there you select toggle network app
Javi22 said:
It works as a plugin, create task, add action, look for plugin, there you select toggle network app
Click to expand...
Click to collapse
It doesn't work.
I wanted the help related to the shell script, but, anyway, thank you.
gothy.gothy said:
It doesn't work.
I wanted the help related to the shell script, but, anyway, thank you.
Click to expand...
Click to collapse
AFAIK you can't change 2g 4g with shell, but that plugin works.... Need to check the config of the app and select allow tasker to work
what do i do just download apk and put in phone and istall it thats it
You can actually switch 2G - 4G using shell command provided your phone is rooted. Check this - http://www.hackmyandroid.com/tasker...rk-when-your-device-is-connected-to-wifi/9129
Code:
settings put global preferred_network_mode 9
is the command which does that.
lalitindoria said:
You can actually switch 2G - 4G using shell command provided your phone is rooted. Check this - http://www.hackmyandroid.com/tasker...rk-when-your-device-is-connected-to-wifi/9129
Code:
settings put global preferred_network_mode 9
is the command which does that.
Click to expand...
Click to collapse
Can you please share on which device you got this working? On the Note4 MM is not working.
Thanks,
aleksandar.1 said:
Can you please share on which device you got this working? On the Note4 MM is not working.
Thanks,
Click to expand...
Click to collapse
I tried it on my ZenFone Zoom - Android 6.0 and it works well!
I think it depends on which device and/or Android version you have. The command itself works well, but the value is different. But you're able to query the value. Set the preferred network mode manually to e.g. LTE, and execute
settings list global
You will see a list of parameters and their value. Search for "preferred_network_mode1=". The shown value stands for LTE. You can do this for all network modes to get a list of all values.
I can't open tasker, I'm in nougat. 7.1.1
lalitindoria said:
You can actually switch 2G - 4G using shell command provided your phone is rooted. Check this - http://www.hackmyandroid.com/tasker...rk-when-your-device-is-connected-to-wifi/9129
Code:
settings put global preferred_network_mode 9
is the command which does that.
Click to expand...
Click to collapse
This command only effective when i open Settings, otherwise it will stay with 2G. anything need to refresh?
windongg said:
This command only effective when i open Settings, otherwise it will stay with 2G. anything need to refresh?
Click to expand...
Click to collapse
actually You need to issue 'service call ' command with appropriate parameters for 'phone' service.
briefly:
- issue 'service list' command and note string like 'phone: [com.android.internal.telephony.ITelephony]'
- decompile framework.jar
- jump to 'smali_classes2/com/android/internal/telephony/' directory
- get transaction index from 'ITelephony$stub.smali' file. in my case it looks like 'setpreferrednetworktype:I= 0x5a', which stands for 90 dec
- fire the command 'service call phone 90 i32 1'
where
90 - transaction index
i32 - service pointer telling we're passing digit (s16 for string)
1 - network mode You need (full list, 15 of them could be found in RilConstants file)
that's it. Thanks to my Russian colleagues at local forum.
for CM13 at least the command should look like 'service call phone 90 i32 0 i32 1'
where 'i32 0' tells the mode should be switched for the first SIM. 'i32 1' referrs to 'the second SIM'
axxbat said:
actually You need to issue 'service call ' command with appropriate parameters for 'phone' service.
briefly:
- issue 'service list' command and note string like 'phone: [com.android.internal.telephony.ITelephony]'
- decompile framework.jar
- jump to 'smali_classes2/com/android/internal/telephony/' directory
- get transaction index from 'ITelephony$stub.smali' file. in my case it looks like 'setpreferrednetworktype:I= 0x5a', which stands for 90 dec
- fire the command 'service call phone 90 i32 1'
where
90 - transaction index
i32 - service pointer telling we're passing digit (s16 for string)
1 - network mode You need (full list, 15 of them could be found in RilConstants file)
that's it. Thanks to my Russian colleagues at local forum.
for CM13 at least the command should look like 'service call phone 90 i32 0 i32 1'
where 'i32 0' tells the mode should be switched for the first SIM. 'i32 1' referrs to 'the second SIM'
Click to expand...
Click to collapse
Thanks for the detail information, is the 90 a fixed number?
Try this for lte
settings put global preferred_network_mode1 10
windongg said:
Thanks for the detail information, is the 90 a fixed number?
Click to expand...
Click to collapse
highly doubt. the issue is transaction codes are undocumented, so couldn't be considered constant. even assume they could be silently change between OS versions.
the previous post of mine was a kind of 'solution concept'. to figure out real transaction codes i'd dig into sources in every separate case.
UPD. for my specific Philips w8510 (MTK-based) even readings for transactions differ from canonical Android.
Code:
.field static final TRANSACTION_set3GCapabilitySIM:I = 0x89
.field static final TRANSACTION_setGprsConnType:I = 0x5b
.field static final TRANSACTION_setGprsTransferType:I = 0x5c
so, it highly depends on ROM developer
axxbat said:
highly doubt. the issue is transaction codes are undocumented, so couldn't be considered constant. even assume they could be silently change between OS versions.
the previous post of mine was a kind of 'solution concept'. to figure out real transaction codes i'd dig into sources in every separate case.
UPD. for my specific Philips w8510 (MTK-based) even readings for transactions differ from canonical Android.
Code:
.field static final TRANSACTION_set3GCapabilitySIM:I = 0x89
.field static final TRANSACTION_setGprsConnType:I = 0x5b
.field static final TRANSACTION_setGprsTransferType:I = 0x5c
so, it highly depends on ROM developer
Click to expand...
Click to collapse
Got it, thanks Bro.
axxbat said:
- issue 'service list' command and note string like 'phone: [com.android.internal.telephony.ITelephony]'
- decompile framework.jar
- jump to 'smali_classes2/com/android/internal/telephony/' directory
- get transaction index from 'ITelephony$stub.smali' file.
Click to expand...
Click to collapse
I've read what seems to be the original post about this using Google Translate, and I'm still confused about how to apply it to my phone. When I run service list I get the noted item, but framework.jar doesn't seem to have anything to decompile in the Google Pixel stock rom. Is there another way to track down the source for the "transaction index" and "network mode" items for my phone.
JasMan78 said:
I think it depends on which device and/or Android version you have. The command itself works well, but the value is different. But you're able to query the value. Set the preferred network mode manually to e.g. LTE, and execute
settings list global
Click to expand...
Click to collapse
On my stock rom Pixel, the preferred_network_mode and preferred_network_mode1 both remain the same as the network type settings are changed in *#*#4636#*#* testing.
I don't know this code and therefore I'm not sure what it exactly does or if it's still working on Pixel phones.
Have you tried to change the network in the menue, and checked then the values of both variables?
Related
**BE VERY CAREFUL WITH THESE TOOLS. IT IS ENTIRELY POSSIBLE TO DO IRREPAIRABLE DAMAGE.**
Ripped from the Xperia ROM, these programs allow control over a number of settings in the device.
RegisterEditor should allow direct reading and writing of registers on the qualcomm msm72xx chipset, which will allow control over virtually every setting available, just need to determine addresses and potential values, etc
TBattery talks directly to the battery chipset, and returns values such as mAh capacity, battery temperature, current draw, percentage remaining, etc.
DbgTerm allows real time display of Debug Log on device.
DebugTool allows among other things redirecting of KITL output to USB. You can also configure the level of logging for the Debug Log and have it save the log to SD.
Save Kernel KITL Log to SD:
1.) Open DebugTool.exe, input value 43D in [5]DebugFlags, click menu -> write
2.) Shut Down with Power Button (long press), and start up
3.) Do actions you want to be logged (load program that fails, drivers, etc.)
4.) Plug phone into usb, connect w/activesync and copy off /Storage Card/HtcLog/*.txt
5.) Open DebugTool.exe, input value 0 in [5]DebugFlags, click menu -> write
FMTuner allows direct advanced control over the FM Radio chipset, among other things allows activation without headphones (although I don't see a way to route audio to the speaker)
Uni-AT allows issuing of AT commands to the ROM.
dump a raphael ROM and open up rilphone.dll in a hex editor, look for the strings like +CRING, @AGPSADDRESS, $HSUPA_STATUS, these are AT Commands that can be issued to the radio ROM, to query status and alter settings.
Query an existing setting like so:
AT+CRING?
AT$HSUPA_STATUS?
[email protected]?
Querying a command should give you some input as to the required format.
Change a setting like so:
AT+CRING=1
AT$HSUPA_STATUS=1
[email protected]=1
For a setting with multiple parameters, such as AT+HTCNV, set it like so: AT+HTCNV=param1,param2,param3
Useful AT Commands:
AT+RADIOVER : returns radio rom version
AT+HTCNV : returns +HTCNV: 1,10,8 - param1 = DTM support, 1/0, param2 = MCS support 8/10/12, param3 = HSDPA Category 6/8/12
AT+HTCENS : ENS support 1/0
Reserved for more stuff
WOW!!!!!!!!
this would get alot more views in the diamond section.... thanx for posting it still
Looks like most of these tools were posted in Diamond section already here: http://forum.xda-developers.com/showthread.php?t=416334&highlight=htc+debug+tools
However everyone seemed to miss the significance of RegisterEditor entirely, it's listed in the linked Wiki as a 'very basic registry editor' but it has nothing to do with the registry at all..
Anyway, this is a dup post. Doh! But these versions are newer, and i'll try to make it more useful by including more knowledge about the apps
Wow! Kudos for this! Amazing. Register Editor is very powerful. Gotta map this out
Interesting. I wonder if these tools could be useful in unlocking the FM radio on CDMA Touch Pros.
[Edit: I noticed that you specified these were for the 72XX chipset. Any idea what kind of compatibility they have with the 75XX?]
Not sure, worth a try since they are similar, the api might be the same. You should be able to try a read operation without harming anything..
FMTUner Tested on Raphael
I've tested FMtuner on Raphael CDMA but nothing happens, I mean, the tool works, but no frequency is detected.
Fabian
bedoig said:
Interesting. I wonder if these tools could be useful in unlocking the FM radio on CDMA Touch Pros.
[Edit: I noticed that you specified these were for the 72XX chipset. Any idea what kind of compatibility they have with the 75XX?]
Click to expand...
Click to collapse
there is CDMA debugtools set, grab it from any cdma beta rom (maybe posted on ppcgeeks, if not, i can upload it here), similar to gsm but for example the AT tool differs (UNI_AT will not work on CDMA) etc etc.
bump for adding new AT commands
Is there some documentation for tBattery explaining exactly what each reading is?
Also have a suggestion if possible that it include a time hack with each sampe it saves to the log instead of just a start and end time.
Thanks in advance.
cmonex said:
there is CDMA debugtools set, grab it from any cdma beta rom (maybe posted on ppcgeeks, if not, i can upload it here), similar to gsm but for example the AT tool differs (UNI_AT will not work on CDMA) etc etc.
Click to expand...
Click to collapse
Could you post the CDMA debugtools set?
Thankyou very much
someone asked me in PM today to post the tools, see attachment.
tbattery
how exactly do i install this program? do i just copy it to my SD card and open it from my phone? thanks in advance
yup, copy to eg SDcard to DebugTools folder and run the debugtool
i know we have a few applications that allow us to use our phone's screen and keyboard to control our computer, and while it is cool, it's just not something that i have a use for currently. i was wondering if there were any apps that you know of that allow me to have a window on my comp that is my home screen on my phone and control things on the phone from the comp. i hate when i am working on my themes and i get 100 texts and i have to go from using the comp it using the phone and back and forth. WM had several apps like that and i loved them when i was running windows but now i run linux(ubuntu 8.10) and i would love to be able to type texts and run apps on my phone while using the computer keyboard.
i have looked through the market and can't seem to find anything on there and i was hoping someone could point me to one elsewhere or if i missed one on the market. thanks in advance
That would be cool. A VNC Server has already been ported to iPhone, so it's probably not too difficult for someone who knows what they're doing (i.e, not me =P)
It would definitely be great to be able to type text messages and whatnot using the computer's keyboard and screen instead of that tiny little G1 keyboard.
or if there are some commands i can run from adb shell that would work too, all i have been able to figure out how to do is play an mp3 on the phone by typing the command. cool but not what i would like.
alright, for those that care i have figured out how to start an app on the phone by using the adb shell commands, and i can even start to compose a text if i do it correctly
to start the messaging app you need to type in the adb shell(or android terminal but the point is to be able to do it from the comp
adb shell
am start -a android.intent.action.MAIN -n com.android.mms/com.android.mms.ui.ConversationList
the above line brings up the conversation list to allow you to choose a list, but i have yet to figure out how to atually pick a convo from that page
to bring up the compose message to start a new text type in the following
am start -a android.intent.action.MAIN -n com.android.mms/com.android.mms.ui.ComposeMessageActivity
from there i can input the number to send the message to but not what i want the text to say,
input text <string> #that inputs a single word and no more after the word text
so if i were to type
'input text hello android' my phone would act as if i had just typed hello, this also works on the home screen to search your contacts. i am working on in[utting more than one word and also choosing your conversation from the comp
Cool! nice progress. Maybe other Android intents can be used...
progress
i know i can start any app by knowing the commands for it now and typing it in. but for right now my main concern is getting a multi word string to appear in the text box. if i can get that then i just need to figure out how to attach "input keyevent 66" to it as well so it runs cleanly. key 66 is the enter key and i figured out several others along the way but i will list them later. i pulled the input file from the /system/bin directory and maybe someone else should have a look at it and figure out how to acheive multi word texts without placing "_" between all the words, cause right now that's where i'm at. i'm attaching the file for the guru's to take a look at. obviously it isn't saved as a .txt file on the phone but that's how i uploaded it to here.
CALLING THE ANDROID GURU'S TAKE A LOOK AT THIS
Cool. Once you figure out a bunch of commands, I could try making a user interface for it as a project...
just wanna drop this lines here, there is an app from motorola MPT Motorola Phone tools, and it does all that you want and more, the phone can be connected to the pc via USB or Bluetooth... you can send receive msg, phone calls, see and edit contacts, drop images, ringtones browse the files etc
juangil said:
just wanna drop this lines here, there is an app from motorola MPT Motorola Phone tools, and it does all that you want and more, the phone can be connected to the pc via USB or Bluetooth... you can send receive msg, phone calls, see and edit contacts, drop images, ringtones browse the files etc
Click to expand...
Click to collapse
Im not sure if you know that your posting in a forum dedicated to the G1/android but MPT supports, as the name would suggest, motorola phones only.
juangil said:
just wanna drop this lines here, there is an app from motorola MPT Motorola Phone tools, and it does all that you want and more, the phone can be connected to the pc via USB or Bluetooth... you can send receive msg, phone calls, see and edit contacts, drop images, ringtones browse the files etc
Click to expand...
Click to collapse
does said program work with the G1? i can't imagine moto being nice and making a program that works for everyone else's phone
kp126 said:
Im not sure if you know that your posting in a forum dedicated to the G1/android but MPT supports, as the name would suggest, motorola phones only.
Click to expand...
Click to collapse
yeah I know, my bad.. just wanted to put an example of an app (that of course is only for motorola) for any1 wanting to do something like it
i know there's several out there for different phones, but nothing for android. hell i'd be satisfied if i could just have the emulator read from my phone and let me control it that way. right now i don't like what i have to do to send a text
input text hello
input keyevent 62
input text android
input keyevent 66
that is a whole lot of typing for a simple text that says "hello android" and then sends it
would it be possible to write a program that takes what you type and breaks it into one word or one letter segments and runs the proper keyevent for each charecter there?
from what i remember of my programming in java and visual basic from years ago is that it would basically be set to read an input and use a case method to say if $input=="hello" then adb shell input text hello. it would be easier i would assume to just break it down into words and place "adb keyevent 62" between each word to input the spaces, and at the end of the line of input you would have to have the code "input keyevent 66"
i have the keyevent mapped out for each button and such on the phone if anyone is interested. i will see what i can come up with on my own though for now
Hope!
I would <3 who ever release's this in some form or another =)
I could really use an application that lets me use my phone from my computer. Preferably it'd show the desktop of the phone, and allow remote access to all the features.
I don't know if it's possible, but it sounds like some of you are progressing, so I hope for the best.
that is the goal, but right now i think i want to just get a java script written by the end of the week next week that reads the key i press on the computer and inputs it into the phone. so i have a lot of relearning to do since i haven't written javascript in 4 years and even then it was just simple stuff to be run in a console. if someone wants to take whatever i get done and run with it to make a FREE APP then by all means. if i find my work in a paid app then you better hope the US gov't can't find you cause i'll be at your door ready to kick your ass.
i'm not sure how one would go about coding the computer to display the phone desktop, but however it gets done i would prefer it to be written in java so all users of linux, mac, and windows can use it.
alright i have found a program that allows me to display the phone screen on the computer using java *hooray* but it does not switch to landscape when the phone does, and i can't control the phone from the app. it was written so that people could do presentations with the phone instead of using the emulator. the gist of it is described here
http://groups.google.com/group/cw-android/browse_thread/thread/d2dbcabee6bcba1a
i have already emailed the developer asking politely to see the code and for permission to try and run with it to make the ideal app. at this point the only thing i could come up with would be to make a javascript that had a case for each key on the keyboard and when a key is pressed it sends the corresponding command(adb shell input keyevent ##) to the phone. this would work fine to use the arrow keys to control the phone, and i am not sure how to code the mouse into it yet. i will be waiting for a response from the dev hopefully he will give his permission and blessing for us to use the app.
Tubaking182,
Perhaps I could offer some help. Brad Fitz has written a program that injects keys into the Linux input layer. Perhaps the source code to his project can help you. It appears to contain a key code map. Here is the link to his code:
http://github.com/bradfitz/android-misc/blob/master/type.pl
Also, here is a link to his live journal entry regarding his program.
http://brad.livejournal.com/2400054.html
All of this would be wonderful to have with my G1. I wish all involved the best of luck!
the developer of the program i posted gives his blessing but he claims what we are trying to do is impossible without certain firmware. he claims that android does not support remote control. i have already proven it can be done though but you have to use keyvalues instead of the mouse. i don't know much java, but i know i need a case switch that executes adb shell input keyevent when i press a key on the computer. if someone wants to tell me the proper syntax and java command to run a run a command then awesome i can write this up *hopfully* and start testing it.
would it work if i typed it as
int key = evt.getKeyCode();
switch (key){
case 65: run.exec(adb shell input keyevent 29);
break;
what would be the proper way to execute the adb command
tubaking182 said:
the developer of the program i posted gives his blessing but he claims what we are trying to do is impossible without certain firmware. he claims that android does not support remote control. i have already proven it can be done though but you have to use keyvalues instead of the mouse. i don't know much java, but i know i need a case switch that executes adb shell input keyevent when i press a key on the computer. if someone wants to tell me the proper syntax and java command to run a run a command then awesome i can write this up *hopfully* and start testing it.
would it work if i typed it as
int key = evt.getKeyCode();
switch (key){
case 65: run.exec(adb shell input keyevent 29);
break;
what would be the proper way to execute the adb command
Click to expand...
Click to collapse
I've been doing Java for about 4 or 5 years now, nothing to fancy, but anyway,
Code:
int key = evt.getKeyCode();
switch (key)
{
case 65:
Runtime.getRuntime().exec("adb shell input keyevent 29"); // I dont know if this is what you "run" variable is referring to. and you would need quotes around your command as it takes a String parameter.
break;
I like to whipe periodically for that fresh g1 feel and smoothness, only reason I hate doing it is that I have to manually punch in my WEP code for the wifi over and over again. It's an annoyance I would love to get rid of. I've tried a few backup apps, none do it though. Anyone know of a specific app that does, or a way I can do it through term/adb? Any way?
I'm sure there is a way to pull the wifi settings data from the system somehow but I've actually found a gscript which I edited a little that goes through and calls the settings screen, turns on wifi, clicks on the topmost network available (assuming youre near the one you want to connect) and enters the WEP key as defined in the gscript code.
You may be able to find it in the 'useful gscipt' thread that was around on xda but if not, I can post mine (edited of course) as soon as my g1 gets done flashing the latest CM rom. :]
EDIT: Here you go put this in gscript or make an empty txt document, paste the following, edit the bold type to reflect your WEP key, save as setupwifi.sh file and run through terminal "sh setupwifi.sh"
***Requires root / 'su' *** either way you run it.
setupwifi.sh said:
am start -a android.intent.action.MAIN -n com.android.settings/com.android.settings.Settings
sleep 1
input keyevent 20
input keyevent 23
sleep 1
input keyevent 23
input keyevent 20
input keyevent 23
input keyevent 20
input keyevent 20
input keyevent 23
sleep 1
input text CHANGE THIS TO WHATEVER YOUR WEP KEY IS
input keyevent 20
input keyevent 20
input keyevent 21
input keyevent 23
input keyevent 3
Click to expand...
Click to collapse
Just make sure your wifi is turned off for the purpose of this script, since first thing it does is go to settings, clicks wireles, turns on wifi. If you had the wifi on and ran this script, it'll turn off and script will sort of go haywire. No damage but just it wont do what its inteded to do.
It's actually fun to watch your phone do things on it's own and press keys and all that. If you want more details on what each of the keyevent's do, just find the GScript thread and its all in there.
Hello! Sorry for bringing this thread back up. But, before anyone gets angry at me, I'm sorry in advance... I did use the search (trust me, I'm in love with it) and didn't have any luck finding anything other than this.
Anyways, just had a small question: let's say I don't know the wep key because my admin at work put it in for me (they wont share it) but I don't want to ask him every time I flash a rom for it again and again. So I was wondering if the script below would make my device pull the inputted wep key from the device and memorize it after every flash or does it only work if the wep key is inserted?
Is there maybe an app that can just backup data (including wifi wep keys)? or another script that shows you the currently inputted wep key on my device that my admin types in it?
When I had my blackberry the desktop manager backup system would save the wifi wepkeys, don't know why Google wont synchronize settings, data, apps, and wep keys but I guess to each it's own.
I have a T-mobile USA G1
Thank you.
prash said:
I'm sure there is a way to pull the wifi settings data from the system somehow but I've actually found a gscript which I edited a little that goes through and calls the settings screen, turns on wifi, clicks on the topmost network available (assuming youre near the one you want to connect) and enters the WEP key as defined in the gscript code.
You may be able to find it in the 'useful gscipt' thread that was around on xda but if not, I can post mine (edited of course) as soon as my g1 gets done flashing the latest CM rom. :]
EDIT: Here you go put this in gscript or make an empty txt document, paste the following, edit the bold type to reflect your WEP key, save as setupwifi.sh file and run through terminal "sh setupwifi.sh"
***Requires root / 'su' *** either way you run it.
Just make sure your wifi is turned off for the purpose of this script, since first thing it does is go to settings, clicks wireles, turns on wifi. If you had the wifi on and ran this script, it'll turn off and script will sort of go haywire. No damage but just it wont do what its inteded to do.
It's actually fun to watch your phone do things on it's own and press keys and all that. If you want more details on what each of the keyevent's do, just find the GScript thread and its all in there.
Click to expand...
Click to collapse
Wifi settings are located here:
Code:
/data/misc/wifi/wpa_supplicant.conf
Copy the .conf file to a safe place before you wipe and install a new ROM and then push it back using ADB or place it on your sdcard and push it back using terminal.
With this method, there is no way to see what the key is, but then again, you don't have to because once you push the file back, all your data is remembered.
DirectMatrix said:
Wifi settings are located here:
Code:
/data/misc/wifi/wpa_supplicant.conf
Copy the .conf file to a safe place before you wipe and install a new ROM and then push it back using ADB or place it on your sdcard and push it back using terminal.
With this method, there is no way to see what the key is, but then again, you don't have to because once you push the file back, all your data is remembered.
Click to expand...
Click to collapse
Just open wpa_supplicant.conf with notepad on PC and whoops your wep key is there.
Write it on paper and make tatoo of it on your leg
Edit:
Solution(s) witouth PC
Or open it with TxTPad Lite (free on market) directly on phone and read it
Upload wpa_supplicant.conf to dropbox with droidbox free
I've enhanced my Webserver sample to support reading from the device (where allowed), as well as reading/writing IsolatedStorage
The XAP is located in the Webserver project.
To access the webserver, open the app on your phone (it will disable the idle timer and run behind the lock screen--but WiFi will turn off, so you'll want to be connected via USB or don't let it sleep)
//phone_ip/IsolatedStorage
//phone_ip/Windows
IsolatedStorage is a special case (virtual directory that uses the SDK IsolatedStore APIs), the filesystem is mounted at the root of the webserver. Note that if you navigate to //phone_ip/, you will not see anything, as we are not able to list the contents of the root directory.
I am working to create a real socket library that mimics System.Net/.Sockets, and System.IO for file access. TcpClient and TcpListener are in a mostly functional state already.
Most of the socket and I/O code came from jmorrill. I have pulled code from mono to mimic System.Net.
Perhaps I'll spend some time on the web UI next, maybe a fancy Silverlight uploader. There doesn't seem to be a ton of interest though, so we'll see.
Update ("v2"):
- Authentication
- UI
- Adapter list
- More reliable
nice.. will try it out.
Very nice! Thanks!!
I've updated the sample to one with a UI, Authentication and more reliability.
Looking at your code WP7 looks more and more like a normal windows CE with a secured UI.
Yeah, I think someone with a strong WM background could port code to [native, homebrew] WP7 pretty quickly. Pretty much everything works just fine.... I just wish we could add the System.Net .NET CF assemblies back to the GAC. :/
davux said:
I've enhanced my Webserver sample to support reading from the device (where allowed), as well as reading/writing IsolatedStorage
The XAP is located in the Webserver project.
To access the webserver, open the app on your phone (it will disable the idle timer and run behind the lock screen--but WiFi will turn off, so you'll want to be connected via USB or don't let it sleep)
//phone_ip/IsolatedStorage
//phone_ip/Windows
IsolatedStorage is a special case (virtual directory that uses the SDK IsolatedStore APIs), the filesystem is mounted at the root of the webserver. Note that if you navigate to //phone_ip/, you will not see anything, as we are not able to list the contents of the root directory.
Click to expand...
Click to collapse
Noob questions: It says "connect to your wifi address below". How? Also, connect the phone or the pc? And navigate via IE mobile?
As I said, noob questions. Thanks for any help.
start ie and type in http://wifi address
I have found on alternateboot.reg
HTML:
; Disable MTPz USB function driver
[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\CompositeFN]
"ClientDriverList"=multi_sz:"Serial_Class"
What is MTPz USB function driver?
ajhvdb said:
start ie and type in http://wifi address
Click to expand...
Click to collapse
... which gives me the ever-popular "cannot find server or DNS address". What am I doing wrong? I assume you meant IE on my phone.
piaqt said:
... which gives me the ever-popular "cannot find server or DNS address". What am I doing wrong? I assume you meant IE on my phone.
Click to expand...
Click to collapse
I think (might be misreading your question), you'll need to plug your device in to USB (or be prepared to loose the connection), then on your desktop, go to one of the IPs listed (in IE or any other browser).
On the screenshot shown, WiFi is the last one, with "BCMSDDHD1" attached to the label, thought the device name may be different for you. Try one that has "192.168.1." as that'll be the most likely option.
l3v5y said:
I think (might be misreading your question), you'll need to plug your device in to USB (or be prepared to loose the connection), then on your desktop, go to one of the IPs listed (in IE or any other browser).
On the screenshot shown, WiFi is the last one, with "BCMSDDHD1" attached to the label, thought the device name may be different for you. Try one that has "192.168.1." as that'll be the most likely option.
Click to expand...
Click to collapse
Thanks. Next noob question: It asks for a user/password. What do I use and or where do I set it?
piaqt said:
Thanks. Next noob question: It asks for a user/password. What do I use and or where do I set it?
Click to expand...
Click to collapse
I don't know what the default password is, but if you type admin/admin in on the device for user/pass that works fine.
EDIT:
Code:
// In order to secure the device, the default password is a random number, not a static default
So you'll need to change it, unless you can read minds
l3v5y said:
I don't know what the default password is, but if you type admin/admin in on the device for user/pass that works fine.
EDIT:
Code:
// In order to secure the device, the default password is a random number, not a static default
So you'll need to change it, unless you can read minds
Click to expand...
Click to collapse
OK. admin/admin works. Next nq: I get "Error opening directory:O". Is there a specific path to enter?
piaqt said:
OK. admin/admin works. Next nq: I get "Error opening directory:O". Is there a specific path to enter?
Click to expand...
Click to collapse
Try 192.168.1.XX/Windows and that should work.
l3v5y said:
Try 192.168.1.XX/Windows and that should work.
Click to expand...
Click to collapse
Ba-da-bing! We are in business.
this works great! does this work just over USB? I assumed that since I didnt see an SSID advertised that the webserver wasn't broadcasting over WiFi.
A few feature suggestions:
* Make it clearer in the device UI to use the last IP address. I had assumed I would use the SERIAL ON USB IP address
* When browsing files, show a detail view so that you can see date/time modfied, type (optional), size
* when in a subdirectory add an Up ellipsis (...) to more easily walk back up the directory tree.
* be able to filter a directory listing so that you can display just certain file types (ie *.exe)
* Be able to download files
I love it! Its handy to be able to get a file listing that you can copy so that you can capture file listings.
Scratch the suggestion to add downloading files, the filenames are of course URLs which enable http downloads
I found a bug. When you click on a file to download it the href seems to have an issue since the file extension is stripped. You can easily add it during the save but it would be easier to have that done by default. I need to check the syntax but for example for filebrowser.exe the html is:
FileBrowser.exe<br />
This was handy so that it was possible to download an EXE and see what certificate is used for signing.
It looks like if you press Back or Start the webserver shuts down or is tombstoned.
I wonder if anyone has come up with a way to keep an application from being killed.
If that was possible then the webserver could provide active control. In that case if it was running in the background a great feature to add would be a screen capture function.
Hello.
I have a tasker profile that's not quite working as I want it to, trying to get a screenshot method working because the buttons on my phone aren't reliable
(Task) 1: Run shell ~ Command screencap -p /sdcard/screenshots/screengrab-%DATE-%TIME.png
Use root (ticked)
2: Flash "Saved!"
It works, but I have to wait awhile before screenshotting again. If I want to take two screenshots in a row, the first one will save, the other won't. Seems like it's affected by what minute it is.... if it's 5:16 on the first screenshot, and 5:16 on the second, the second won't save. But if it's 5:16 on the first screenshot, and 5:17 on the second, it works. Is there something I need to add after %TIME so I'm not limited, or is this not a fixable issue?
This may not seem like a big deal for many people but sometimes I take screenshots of important emails, payment receipts, etc, sometimes they're too big to fit all on one screen and need 2 or 3 screenshots.
May or may not be relevant, but my phone is on 6.0 and stock ROM.
Bump
Found someone else with the problem I was having, adding %TIMES seems to have solved it.
Cinderbunny said:
Found someone else with the problem I was having, adding %TIMES seems to have solved it.
Click to expand...
Click to collapse
Hi,
Glad that you solved it. Just a friendly tip: to be able to save multiple (999, to be exact) screenshots per second, you could add %TIMEMS instead of %TIMES.
Additionally, if you want the actual, human-readable time in the filename, you could use the following task:
Code --> Java Function
Class Or Object: Date
Function: new {Date} (long)
Param (long): %TIMEMS
Return {Date}: date
Code --> Java Function
Class Or Object: SimpleDateFormat
Function: new {SimpleDateFormat} (String)
Param (String): yyyyMMdd-HHmmssSSS
Return {SimpleDateFormat}: formatter
Code --> Java Function
Class Or Object: formatter
Function: format {String} (Date)
Param (Date): date
Return {String}: %datetime
Code --> Run Shell
Command: screencap -p /sdcard/screenshots/screengrab-%datetime.png
Use Root: ticked
I hope this is of use to you, or anyone!