Hey guys just a heads up and quick howto:
Here is how to get adb wireless working so you dont need to use a cable any longer to easily push/pull files and logcats/debugging
(its beyond me why google doesnt have a ui option to turn this on)
Open up a terminal emulator (I use rom toolbox pro) with droidmote and do this:
Code:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
From pc do this:
Code:
adb tcpip 5555
adb connect 192.168.0.101:5555
Code:
adb shell
adb push blah etc
To automate this on boot, add this as a script to rom toolbox/pro to execute on boot
defconoi said:
Hey guys just a heads up and quick howto:
Here is how to get adb wireless working so you dont need to use a cable any longer to easily push/pull files and logcats/debugging
(its beyond me why google doesnt have a ui option to turn this on)
To automate this on boot, add this as a script to rom toolbox/pro to execute on boot
Click to expand...
Click to collapse
I'm not seeing ADB-over-wifi stay on all the time. I have the script set up to run at boot. Is Android stopping/starting the ADB service?
IBNobody said:
I'm not seeing ADB-over-wifi stay on all the time. I have the script set up to run at boot. Is Android stopping/starting the ADB service?
Click to expand...
Click to collapse
the adb service stays on for me, I also have selinux set as permissive on boot with setenforce 0, that could be it, selinux likes to control stuff on its own
defconoi said:
the adb service stays on for me, I also have selinux set as permissive on boot with setenforce 0, that could be it, selinux likes to control stuff on its own
Click to expand...
Click to collapse
I can try that. What are the commands I need to do to set selinux to be permissive?
IBNobody said:
I can try that. What are the commands I need to do to set selinux to be permissive?
Click to expand...
Click to collapse
Su then setenforce 0
defconoi said:
Su then setenforce 0
Click to expand...
Click to collapse
Thanks. I've tried this using Script Manager. It worked, and I am 24h without losing access.
https://play.google.com/store/apps/details?id=os.tools.scriptmanager&hl=en
Here is the contents of the script.
Code:
#!/system/bin/sh
setenforce 0&&setprop service.adb.tcp.port 5555&&stop adbd&&start adbd&&echo Done
The script is set to run on boot and after a network change.
I chained the commands together for convenience. (If I don't see "done", I know a command failed.)
This is a pretty useful find! Thanks! I'd like to add a startup script for this, where can the init script directory be found for startup script placement on the nexus player? I can't seem to find it anyplace browsing the root filesystem using adb shell. I'm already rooted and what not.
Sent from my Nexus 6 using Tapatalk
Thank you all!
Works fantastically. Using the script provided by IBNobody, the Scripter tool in ROM Toolbox Pro, and the PC commands from the OP, wireless USB Debugging is recognized.
Cheers!
The adb over WiFi app works as well.
Just an FYI Folks
you don't need to do all the su business on the device .. just connecting the device up the a pc with usb and doing
Code:
adb tcpip 5555
adb connect .....
As the adb usage helpfully points out
"adb tcpip <port> - restarts the adbd daemon listening on TCP on the specified port"
Click to expand...
Click to collapse
Thanks
trevd
no script needed to autostart wireless adb
FYI peeps
No script needed to auto start wireless adb.
Obvious security concern though
Just add the line
service.adb.tcp.port=5555
to build.prop
It will auto start wireless adb at boot.
So far it has worked on all 15 android devices I've owned up to 4.4.2 not sure about lollipop.
I pretty much do everything on my TV sticks from my couch.
BTW android commander is a great free adb gui to perform basic tasks.
Very slow on my network though.
DON'T BLAME ME!!
Good luck
rellik1000 said:
FYI peeps
No script needed to auto start wireless adb.
Obvious security concern though
Just add the line
service.adb.tcp.port=5555
to build.prop
It will auto start wireless adb at boot.
So far it has worked on all 15 android devices I've owned up to 4.4.2 not sure about lollipop.
I pretty much do everything on my TV sticks from my couch.
BTW android commander is a great free adb gui to perform basic tasks.
Very slow on my network though.
DON'T BLAME ME!!
Good luck
Click to expand...
Click to collapse
This did the trick for me. Thank you.
Sent from my Nexus 6 using Tapatalk
Nice man I'm gonna try this on my game stick after work
Sent from my SM-G386T using Tapatalk
rellik1000 said:
FYI peeps
No script needed to auto start wireless adb.
Obvious security concern though
Just add the line
service.adb.tcp.port=5555
to build.prop
It will auto start wireless adb at boot.
So far it has worked on all 15 android devices I've owned up to 4.4.2 not sure about lollipop.
I pretty much do everything on my TV sticks from my couch.
BTW android commander is a great free adb gui to perform basic tasks.
Very slow on my network though.
DON'T BLAME ME!!
Good luck
Click to expand...
Click to collapse
Thanks for the info ! Question though I'm on Nougat if I downgrade to marshmallow for root and change build.prop will I lose this in build.prop if i reupgrade to Nougat?
This works for me on wireless, but from my wired (ethernet) desktop I get "device offline". Any ideas? Thanks.
Related
Hey If anyone can help i have a few questions about rooting the slide in ubuntu
the "loop" script will not run regardless of what i do....also i can't seem to get the phone to show up with adb devices when i am in the bootloader
i can see the phone when it is in the rom but for some reason it won't show in the bootloader
thanks in advance
just type
Code:
adb devices
in terminal, and then when you select recovery and press enter, press "ENTER, UP, ENTER, UP, ENTER, UP...) really fast...and hope it works! if not lather, rinse, repeat...
There are instructions in the rooting thread on making an equivalent script for MacOS (which should work under Linux as well.) If you tried to run a DOS batch file under Linux thinking it would work...well, that's a judgment for another day
-------------------------------------
Sent via the XDA Tapatalk App
The Mac script does not run as a sh script on linux.
(PS: don't for the ./ before adb on a linux term. (./adb etc...))
beartard said:
There are instructions in the rooting thread on making an equivalent script for MacOS (which should work under Linux as well.) If you tried to run a DOS batch file under Linux thinking it would work...well, that's a judgment for another day
-------------------------------------
Sent via the XDA Tapatalk App
Click to expand...
Click to collapse
Sent from my T-Mobile myTouch 3G Slide using Tapatalk
Ive got a loop script for linux that I can send you when I get home. And like Indikut said, don't forget to add "./" before adb.
chrisinaz said:
Ive got a loop script for linux that I can send you when I get home. And like Indikut said, don't forget to add "./" before adb.
Click to expand...
Click to collapse
No need for the ./ if you added the sdk tools folder to your PATH.
Why that MacOS script doesn't work in bash on Ubuntu is beyond me. It looks to be formatted correctly.
Code:
#!/bin/sh
while [ 1 ]; do
adb devices;
sleep .25;
done
You could always use the following equivalent:
Code:
#!/bin/sh
watch -n .25 adb devices;
done
Assuming adb is in your path, this would run it every 1/4 second. You could, of course, change it to suit your location for adb (/usr/local/bin/adb or other location).
Cool thanks ..I will try that for the loop script
The other issue I have is that I can't see my phone as a device when I type adb devices in the bootloader ...it works fine when the phone is in the rom tho....I tried searching for the problem but I can't seem to find a solution ....I may just have overlooked it tho
beartard said:
Why that MacOS script doesn't work in bash on Ubuntu is beyond me. It looks to be formatted correctly.
Code:
#!/bin/sh
while [ 1 ]; do
adb devices;
sleep .25;
done
You could always use the following equivalent:
Code:
#!/bin/sh
watch -n .25 adb devices;
done
Assuming adb is in your path, this would run it every 1/4 second. You could, of course, change it to suit your location for adb (/usr/local/bin/adb or other location).
Click to expand...
Click to collapse
thanks again for the help with my problem i have a feeling the macos script would of worked i was using the wrong command i ended up typing "sh loop.sh" and it ran the script ....alltho i don't see it spamming adb devices ...it seems to just output it one time ....
now all i have to do is get the phone to show up when its in the bootloader....off to the search button i go
newspeak said:
thanks again for the help with my problem i have a feeling the macos script would of worked i was using the wrong command i ended up typing "sh loop.sh" and it ran the script ....alltho i don't see it spamming adb devices ...it seems to just output it one time ....
now all i have to do is get the phone to show up when its in the bootloader....off to the search button i go
Click to expand...
Click to collapse
As soon as you hit power to go to recovery either A) Activate the stupid script or B) mash ENTER+UP+ENTER+UP+ENTER until your keys fall off. I only got it to work the latter way.
Also, in Linux I've found that you'll get ???????? NO PERMISSIONS unless you do sudo ./adb devices.
The first time you run adb in a session, it should be started with sudo, since that starts the adb daemon. After that, any normal user's permissions (like running the script) should be ok. Make it easy on yourself and copy the adb executable to some place in your path (I use /usr/local/bin/). That way, you can delete the entire SDK unless you have plans for developing apps for Android.
I tried using my second code snippet above as loop.sh. I didn't go any higher, but it really doesn't have to work really quickly. I went up to .5 (executing "adb devices" twice a second) and it worked fine. You won't see a scrolling output like you would in DOS. The screen just updates if/when new info comes up (like showing the phone offline or in recovery.) When you get to the phone icon with the red triangle, hit VolUp and Power at the same time to get the recovery menu. The rest of the normal root tutorial should work for you.
ok thanks again for the help so far....here is where i am at ...i put adb in /usr/local/bin ...i can use adb devices ....the script is working for me but now when i get to the point where i push over the first file it says permission denied
i make sure to start adb with sudo ....i even tried running everything from a root terminal but i still get the same thing....i have already tried killing the adb server and restarting it with root permissions ...i have tried pushing the file with devices still listed as offline
kind of at a loss
here is what i get btw
"[email protected]:~/androidsdk/tools$ adb push ota.zip /sdcard/update.zip
failed to copy 'ota.zip' to '/sdcard/update.zip': Permission denied
[email protected]:~/androidsdk/tools$
"
I'm using a pretty fresh install of Ubuntu Lucid. I haven't messed with my user's groups or anything, so it's still fairly stock.
All I've done is copied adb to /usr/local/bin. The first run of adb (adb devices) is done as root using sudo. You could try running "sudo adb root" to begin with, and see if that makes a difference. After that, I can run any adb push commands as the normal user in GNOME's terminal.
Assuming you're set up like I am, if you're getting a permissions error after doing that, I'd hazard a guess and say the problem is on the phone's side rather than the computer.
Check and make sure USB debugging is checked in your settings. Beyond that, I'm stumped.
Some people have picked up an annoying bug - I'm not sure where it comes from, some believe it is the voodoo kernel, I think it is probably JPC firmware or similar.
The bug: When you have wifi on and you turn the screen off, wifi does not turn off like it should.
The reality: The wifi turn-off time has been reset to the android default 15 minutes. You can change this setting if you want. (I like 10 seconds myself.)
You will need:
1. ADB root shell access.
2. SQLite3 Explorer - http://www.singular.gr/sqlite/
or SQLiteBrowser - http://sqlitebrowser.sourceforge.net/
What to do:
1. shell command: busybox cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
2. adb command: adb pull /sdcard/settings.db
3. Open settings.db in SQLExplorer
4. Right click on gservices or secure folders**, choose 'Show Data'
5. Click on the green plus icon "Insert Record"
6. Double click on name column, insert "wifi_idle_ms" - Double click on value column and insert "10000" for 10 seconds for wifi to turn off. 30000 for 30 seconds, etc.
7. Click on the green tick.
8. Right click on the folder again, choose show data, scroll to the bottom and ensure that your change has been made.
9. File -> Close Database
10. adb command: adb push settings.db /sdcard/settings.db
11. shell command: busybox mv /dbdata/databases/com.android.providers.settings/settings.db /dbdata/databases/com.android.providers.settings/settings.db.bak
12. shell command: busybox cp /sdcard/settings.db /dbdata/databases/com.android.providers.settings/settings.db
13. shell command: chown system.system /dbdata/databases/com.android.providers.settings/settings.db
** I'm not sure if the correct folder is gservices, or secure. I believe secure is the correct one though. I just added it to both.
This is too hard:
If there are 10 or more people who have this bug but can't do the required fix, I'll make a small utility to do it for you. Let me know.
Guess I'm one of the few who really likes this feature/"bug."
kareeem said:
Guess I'm one of the few who really likes this feature/"bug."
Click to expand...
Click to collapse
If you like this bug, you might like this even more!
Settings->Wireless and network->Wi-Fi settings->menu button->Advanced->Wi-Fi sleep policy set to never
Code:
D/WifiService( 2333): setting ACTION_DEVICE_IDLE timer for 900000ms.
RyanZA said:
:
If there are 10 or more people who have this bug but can't do the required fix, I'll make a small utility to do it for you. Let me know.
Click to expand...
Click to collapse
Had a quick google but how do I get my adb shell into root? The rest makes sense.
Really i dont understand why people are so fuzzed about this "bug".Im really happy with it because at home i always use wiffi and usually i stay at home in the afternoons.So i set wiffi settings to never disconect even at night.Data connection over 3g is expensive here in portugal and i have 600mb month limit wich cost about 15 euro plus my normal bill.And its not by having wifi on during 15 minutes that will drain the battery so much.Anyways i want to thank you again for your work and dedication to help people like me that have some dificulties understanding how the android system works.
Treggs said:
Had a quick google but how do I get my adb shell into root? The rest makes sense.
Click to expand...
Click to collapse
adb shell
su
confirm in SuperUser.
done.
xan said:
adb shell
su
confirm in SuperUser.
done.
Click to expand...
Click to collapse
Ah, missed the prompt on the phone. Thanks.
fane1 said:
Really i dont understand why people are so fuzzed about this "bug".
Click to expand...
Click to collapse
Becuae WIFI, uses more battery, when not being used for data, than 3G does.
ANdpossibly, why peoples batteries, are draining so much
fane1 said:
Really i dont understand why people are so fuzzed about this "bug".Im really happy with it because at home i always use wiffi and usually i stay at home in the afternoons.So i set wiffi settings to never disconect even at night.Data connection over 3g is expensive here in portugal and i have 600mb month limit wich cost about 15 euro plus my normal bill.And its not by having wifi on during 15 minutes that will drain the battery so much.Anyways i want to thank you again for your work and dedication to help people like me that have some dificulties understanding how the android system works.
Click to expand...
Click to collapse
If you want, you can use the guide to increase it up to 30 minutes or more. Point is - choice is good.
I am having trouble getting this to work
I am typing
adb pull /sdcard/settings.db
and I am getting
abd: not found
?
This is what I have done,
Opened CMD, in the adb folder.
adb shell
su
accepted SU permissions
#busybox cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
#adb pull /sdcard/settings.db
Am I doing something wrong ?
JaGuR said:
This is what I have done,
Opened CMD, in the adb folder.
adb shell
su
accepted SU permissions
#busybox cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
#adb pull /sdcard/settings.db
Am I doing something wrong ?
Click to expand...
Click to collapse
Nope worked for me. I'm trying to figure out how to edit the file....
Do I need USB debugging on ?
JaGuR said:
Do I need USB debugging on ?
Click to expand...
Click to collapse
Yep
10 char
ryanza, thanks for finding this out. tried but cant get sq3liteexplorer to work on win7 64. i get access violation errors.
hope you'll do a simple script for this. [email protected]
sunwee said:
ryanza, thanks for finding this out. tried but cant get sq3liteexplorer to work on win7 64. i get access violation errors.
hope you'll do a simple script for this. [email protected]
Click to expand...
Click to collapse
I thought I was doing it wrong but that's exactly what I'm getting and I'm on win 7 64 too.
Maybe I should try a compatibility mode...
sunwee said:
ryanza, thanks for finding this out. tried but cant get sq3liteexplorer to work on win7 64. i get access violation errors.
hope you'll do a simple script for this. [email protected]
Click to expand...
Click to collapse
Same here to RyanZA, having trouble gettin ADB, to play corrcetly.
And I know few from whirlpool. that would also appreciate, and easier fix
Cheers
JaGuR said:
This is what I have done,
Opened CMD, in the adb folder.
adb shell
su
accepted SU permissions
#busybox cp /dbdata/databases/com.android.providers.settings/settings.db /sdcard/settings.db
#adb pull /sdcard/settings.db
Am I doing something wrong ?
Click to expand...
Click to collapse
you need to exit before using adb pull
jdrake001 said:
you need to exit before using adb pull
Click to expand...
Click to collapse
Exit from what ?
I just copying what I see in the opening post, and outside of that have NO understaning
I have managed to get CIFS working on stock Nexus 10.
It's quite a bit more problematic on the Nexus 10 than normal.
There are 2 main issues to deal with. Newer versions of the Linux kernel require a UNC variable to be passed to them and the current version of busybox doesn't do this. There is a patch out. I have extracted the patched busybox binary from craigacomez's AOSP Nexus 10 rom.
(Check it out here: http://forum.xda-developers.com/showthread.php?t=1998585 ). Otherwise it should work on the stock mount command if you specify the unc= mount option with the share.
The other issue is the multiuser stuff. If you execute the mount command from inside Terminal Emulator (or a script program) it looks like it mounts ok and you can 'ls' in the directory but it doesn't work for Android apps, they just see an empty directory but if you do it via a 'adb shell' it works fine in Android apps. My theory is ADB is outside of the multiuser stuff. adb actually ships on the device.
1) Unlock bootloader (fastboot oem unlock)
2) Flash recovery adb flash recovery whatever.img
3) Root device (flash CWM-SuperSU-0.98.zip)
4) Install BusyBox (from the market)
5) Copy md4.ko and cifs.ko to device. The files can go anywhere you like. In this example I will just use the root of the sdcard. Some people like them in /system/modules or /system/lib/modules
6) busybox mount -o rw,remount /
7) adb shell
8) Override /system/bin/busybox with the patched version (maybe move it first so it's backed up).
9) insmod /sdcard/md4.ko
10) insmod /sdcard/cifs.ko
11) busybox mount -t cifs -o username=MYUSER,password=MYPASS,unc=\\\\192.168.1.1\\storage //192.168.1.1/storage /data/media/0/cifs/Storage
You will need to manually preform the last 3 commands each time you reboot the device from a adb shell.
NOTE: You can probably get rid of the -o flags completely. In theory the patched version of busybox makes the UNC bit redundant. Possibly you can use the stock busybox with the UNC flag and avoid using the patched one totally. I have just included it to be sure.
Make sure you type 'busybox mount' not 'mount', by default they are different binaries. Otherwise you can remove the /system/bin/mount command and make a new one linking /system/bin/mount to /system/bin/busybox.
Possibly there is some way to get the mount working in the multiuser environment without requiring busybox. If you figure it out please tell ☺
Some threads on the issue:
http://forum.xda-developers.com/showthread.php?p=34397868#post34397868
http://forum.xda-developers.com/showthread.php?t=733490&page=6
http://www.mail-archive.com/[email protected]/msg17650.html
The modules are for 3.4.5-g4e6298b.
EDIT: I added nls_utf8.ko by request
EDIT2: Since adb comes on the device, it is possible to use it to connect to local host:
1) Install cifs modules to /system/lib/modules
2) Install Script Manager from the play store
3) Copy script to device
4) Start SManager
5) Find your script and open it.
6) Tick the su box
7) Hit save
8) Goto home sccreen
9) Add a 'SMShortcuts' widget to your home screen
10) "Add one script shortcut"
11) Choose your script
12) Optionally use this pretty icon ☺
13) Give it a nice name like "Mount Shares"
Here is a shell script...
Code:
#!/system/bin/sh
# Your settings here
USERNAME="USERNAME"
PASSWORD="PASSWORD"
IPADDRESS="192.168.1.1"
SHARE="storage"
MOUNT_POINT="/data/media/0/cifs/Storage"
# If you need to change the mount command edit this
MOUNT_CMD="\
mount -t cifs \
\
-o \
user=$USERNAME,\
password=$PASSWORD,\
unc=\\\\\\\\\\\\\\\\$IPADDRESS\\\\\\\\$SHARE \
\
//$IPADDRESS/$SHARE \
$MOUNT_POINT"
COMMANDS="\
insmod /system/lib/modules/md4.ko; \
insmod /system/lib/modules/nls_utf8.ko; \
insmod /system/lib/modules/cifs.ko; \
$MOUNT_CMD
"
# Starting ADB...
PORT=`getprop service.adb.tcp.port`
setprop service.adb.tcp.port 5555
adb kill-server
adb start-server
stop adbd
start adbd
adb connect localhost
# Make sure we only use the first device (sometimes there is more than one)
SERIAL=`adb devices | head -n2 | tail -n1 | cut -f1`
if [ "$SERIAL" = "" ] ; then
echo "ERROR: Could not find ADB device.";
fi
echo Mounting share via adb...
adb -s $SERIAL shell su root -c "$COMMANDS"
# If you started adb, then stop it here for security:
adb disconnect localhost
stop adbd
setprop service.adb.tcp.port $PORT
start adbd
RESULT=`mount | grep $MOUNT_POINT`
if [ "$RESULT" = "" ] ; then
echo "Mounting failed..."
else
echo "Mounting sucess!"
fi
echo Done... You may close this script window.
EDIT3: Added usbserial.ko, option.ko and usb_wwan.ko
EDIT4: Some users have reported that the need to modify the script to get it working with their version of SU.
EDIT5: I have uploaded modules for 4.2.2, kernel 3.4.5-gaf9c307 but I haven't actually tested them myself (still on 4.2.1). Apparently the adb loophole has also been patched but it is possible to reenable it by putting a RSA key onto the device. Check out this set of instructions here.
EDIT6: I have updated to 4.2.2 on my Nexus 10 and can confirm the new modules work.
You must setup the adbkey or you will get a "device: offline" message. By default adb when adb first runs it tries to create the keys in the $HOME dir which is /data/.android, but the data directory isn't accessible by the 'shell' user.
I got it working simply by setting the HOME variable to /sdcard and restarting the adb server in the script then Android popped up a query (I have update the script above).
IMPORTANT: The Android Media scanner recursively scans folders for media to add the the database so it shows up in programs like Google Music. On large shares this can be a long process and use heaps of battery life. To prevent this add a blank file with the name ".nomedia" to the root of your mount points (or each individual share if you aren't used 1 folder for all your mounts). This will stop music showing up in programs though.
If you find that the device stops responding (the launcher might work but apps fail to load) or you get reboots (often after the previous bug) this is probably due to a bad wifi connection.
Is it posible to make a CWM flash file?
Great
This is great progress, do you know if there is some way I can use the same to mount my usb OTG with ADB shell so that I can read/write to my pen drives from my android apps/file managers?
I have tried using the busybox mount but that didn't work, do I need the modified mount or will none of this help anyway?
alias_neo said:
This is great progress, do you know if there is some way I can use the same to mount my usb OTG with ADB shell so that I can read/write to my pen drives from my android apps/file managers?
I have tried using the busybox mount but that didn't work, do I need the modified mount or will none of this help anyway?
Click to expand...
Click to collapse
Code:
busybox mount -t FSTYPE /dev/block/sda1 MOUNT_LOCATION
Example:
Code:
busybox mount -t vfat /dev/block/sda1 /storage/sdcard0/usbotg
craigacgomez said:
Code:
busybox mount -t FSTYPE /dev/block/sda1 MOUNT_LOCATION
Example:
Code:
busybox mount -t vfat /dev/block/sda1 /storage/sdcard0/usbotg
Click to expand...
Click to collapse
How is this different to what I'm doing already? Mounting this way doesn't work, only the process that mounted it can see the files.
Although I don't have nexus 10, I am having the similar mounting issue on my nexus 7 until I saw this post.
Advise about "adb shell" really helps me resolve the multiuser issue.
Thanks for sharing.
Any chance you could post the nls-utf8.ko for utf8 support?
Thanks!
H3g3m0n said:
1) Unlock bootloader (adb oem unlock)
Click to expand...
Click to collapse
Isn't it fastboot that unlocks the bootloader, and not adb? (unless adb can do it too; I've only heard of fastboot though)
momulah said:
Is it posible to make a CWM flash file?
Click to expand...
Click to collapse
Not a high priority right now as currently you need to do the manual adb shell stuff by hand to get things mounted, a little extra setup work isn't a huge difference.
alias_neo said:
How is this different to what I'm doing already? Mounting this way doesn't work, only the process that mounted it can see the files.
Click to expand...
Click to collapse
Are you mounting in a 'adb shell' or locally in something like terminal emulator? My OTG cable won't be here for a while so I can't really test myself.
weasal said:
Any chance you could post the nls-utf8.ko for utf8 support?
Thanks!
Click to expand...
Click to collapse
Posted, haven't tested it but it seemed to insmod fine.
espionage724 said:
Isn't it fastboot that unlocks the bootloader, and not adb? (unless adb can do it too; I've only heard of fastboot though)
Click to expand...
Click to collapse
Yeh typoed, i'll fix that now.
Currently I'm thinking of ways to hack around the 'adb shell' requirement, as a basic hackish fix would be to make a program that turns on adb wireless, connects to the local device and issues a command. Of course possibly there is a 'proper' way to do mounting. Another lazy way for those with their shares on a Linux system would be a script issue commands to the server via a ssh, getting it to log back into the phone and mount stuff over adb wireless.
alias_neo said:
How is this different to what I'm doing already? Mounting this way doesn't work, only the process that mounted it can see the files.
Click to expand...
Click to collapse
I've been working on getting OTG support natively in my AOSP based custom ROM and I have had some success... check out my ROM for details
H3g3m0n said:
Currently I'm thinking of ways to hack around the 'adb shell' requirement, as a basic hackish fix would be to make a program that turns on adb wireless, connects to the local device and issues a command. Of course possibly there is a 'proper' way to do mounting. Another lazy way for those with their shares on a Linux system would be a script issue commands to the server via a ssh, getting it to log back into the phone and mount stuff over adb wireless.
Click to expand...
Click to collapse
Just wanted to thank H3g3m0n as I was able to successfully mount over adb. Also came up with a workaround to bypass connecting to a PC, grabbed the arm fastboot binary from this thread and installed it on my nexus 7. Used it to connect wireless adb on the 10 and ran the mount commands on the 7.
H3g3m0n said:
Posted, haven't tested it but it seemed to insmod fine.
Click to expand...
Click to collapse
Thanks, I'll give it a try!
You might find my posts #156 and #162 at http://forum.xda-developers.com/showthread.php?t=1781411&page=17 helpful.
Sorry for the noob ? ...
What are the KO's do?
What is the practical use of then.
Sorry I did a little research on then but I could not find an answer in layman terms
Thank you for allowing me to learn.
Sent from my toroplus using xda premium
spdwiz18 said:
Sorry for the noob ? ...
What are the KO's do?
What is the practical use of then.
Sorry I did a little research on then but I could not find an answer in layman terms
Thank you for allowing me to learn.
Sent from my toroplus using xda premium
Click to expand...
Click to collapse
http://en.wikipedia.org/wiki/Loadable_kernel_module
craigacgomez said:
http://en.wikipedia.org/wiki/Loadable_kernel_module
Click to expand...
Click to collapse
That helps allot.... Now i have an understanding of ko's in general. But what specificly do the modules this thread refers to do and the practical use of then. Thanks foot the help.
Sent from my toroplus using xda premium
spdwiz18 said:
That helps allot.... Now i have an understanding of ko's in general. But what specificly do the modules this thread refers to do and the practical use of then. Thanks foot the help.
Sent from my toroplus using xda premium
Click to expand...
Click to collapse
These modules are needed to enable support for CIFS (Windows share) mounts...
spdwiz18 said:
That helps allot.... Now i have an understanding of ko's in general. But what specificly do the modules this thread refers to do and the practical use of then. Thanks foot the help.
Sent from my toroplus using xda premium
Click to expand...
Click to collapse
Basically you can setup a shared folder from a remote computer. It allows you to have files on another system accessible as if it was part of the internal storage in the device.
Just found out that Android ships with the adb binary on the device itself (after crosscompiling it myself :/, oh well the experience was useful).
It should be possible to setup a script to start the adb server, connect to the localhost and execute the mount without too much difficulty.
Ok, added a script and instructions to the front page for simple on tablet mounting.
I'm running on the 10.5.10.IN11BA build.
Just get a command shell to your OnePlus 8 Pro through adb, no need for the device to be rooted or anything.
Once you get there, just type:
Code:
am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
It will launch the FactoryMode app and get you directly to the manual camera test view.
Just press the bottom right icon until you get to the color filter.
I have no doubt there is easier and quicker ways to get the same result, maybe through an apk.
Edit:
As far as I know, this workaround could work on any OnePlus 8 Pro model.
Also, as pointed out by ster88, you also can take videos with the filter, which was not possible with the camera app.
I tried not working. I used th terminal app from google playstore.
Can u specifically provide which app and where.
And anything to enable on developer mode.
sajjadhussaini said:
I tried not working. I used th terminal app from google playstore.
Can u specifically provide which app and where.
And anything to enable on developer mode.
Click to expand...
Click to collapse
Sure !
To enable developper mode, go to "Settings > About phone" and tap the "Build number" until they tell you have developper mode enabled.
Then go to "Settings > System > Developper options" and under "Debugging" enable "USB Debugging" and "Wireless ADB Debugging".
Once that is done, on your computer, download the platform-tools, containing adb here :
Code:
https://developer.android.com/studio/releases/platform-tools
Once it is downloaded, go inside it with your command line.
If you are doing this wirelessly, get your phone IP address and type:
Code:
adb connect <your-phone-ip-address>
Then if it worked, to know what the transport id of our device is, type :
Code:
adb devices -l
Once you have the transport id, type this to get a shell to your phone:
Code:
adb -t <transport-id> shell
You can get more details on how adb works here:
Code:
https://developer.android.com/studio/command-line/adb
Then when you have access to the shell, just type:
Code:
am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
If everything went fine, you should get access to the camera !
I could not use a terminal app to run the command, usually because the terminal app doesn't want to let the camera application to take over the view, or something like that, not sure.
The ideal would be to have a dedicated apk to run the command, at least for the time being.
Tried to launch using an app called Activity launcher and it didn't work.
play.google.com/store/apps/details?id=de.szalkowski.activitylauncher
imgur.com/a/BS9Wqzc
I'm not rooted, are you sure this works for non rooted devices? I'll try later with adb to see what happens.
Here is the error from Termux. Hope it can be loaded via apk, not sure if it suffers same restrictions:
$ am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
Starting: Intent { cmp=com.oneplus.factorymode/.camera.manualtest.CameraManualTest }
Warning: Activity not started because the current activity is being kept for the user.
From what I understood, you need to run the command from an adb shell. You cannot run it from within the phone as far as I know.
You can still run it from adb and "lock" the application so it stays in the background.
And I tried with multiple Terminal apps, the command works with none of them (Termux, Terminal Emulator, Material Terminal, etc...)
Apparently, you have some rights on the adb command shell that you don't get as a simple user on the phone.
You man are genius. I found easy way also to keep it running if needed. After getting the camera test to run, you can lock the app so phone will not close it and always return to it. Thanks, finally I can enjoy my camera
Launched it without a computer by using ADB from temux
--no root required
https://github.com/MasterDevX/Termux-ADB
*Enable wireless debugging (wireless doesn't actually need to be on)
Note wireless debugging --takes some time to take effect, sometimes up to 3-5 minutes for me.
*Run the installer above in termux,
*Type adb devices
*Type adb connect 127.0.0.1
*Accept the trusted key
*type adb shell
Troubleshooting:
*If you get an error about multiple devices type adb kill-server
*type adb devices
*type adb shell
*Accept the trusted key
*then paste in: am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
lllsondowlll said:
Here is the error from Termux. Hope it can be loaded via apk, not sure if it suffers same restrictions:
$ am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
Starting: Intent { cmp=com.oneplus.factorymode/.camera.manualtest.CameraManualTest }
Warning: Activity not started because the current activity is being kept for the user.
Click to expand...
Click to collapse
Did you get any solution for this ?
aishkumar said:
Did you get any solution for this ?
Click to expand...
Click to collapse
...
lllsondowlll said:
Launched it without a computer by using ADB from temux
--no root required
https://github.com/MasterDevX/Termux-ADB
*Enable wireless debugging (wireless doesn't actually need to be on)
Note wireless debugging --takes some time to take effect, sometimes up to 3-5 minutes for me.
*Run the installer above in termux,
*Type adb devices
*Type adb connect 127.0.0.1
*Accept the trusted key
*type adb shell
Troubleshooting:
*If you get an error about multiple devices type adb kill-server
*type adb devices
*type adb shell
*Accept the trusted key
*then paste in: am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
Click to expand...
Click to collapse
I've made a script that allows you to launch the Camera from your phone by just typing ./camera in Termux. No root needed. It can be found here: https://github.com/lllsondowlll/OP8_Camera/blob/master/README.md
can u make a video on this how u used termux and what to do whole process screen recording will be helpful coz i am new to this and i dnt wanna mess up with my phone if i lost some files or smthing please make a video i really want to play with IR camera
It works but not really required
It's working, but have few questions to myself.
1. Does it really needed?
Ans: No, you won't keep clicking pics of plastic material to see inside.
2. Is it handy?
Ans: yes, once opened you can pin/lock it in recent app and open whenever required.
It is just a IR camera and nothing wrong in it, I believe OP will enable it in future, because it really doesn't show through the clothes and even if you want to see for some black thin clothes, you need to go near.
So if you are thinking to click the nude people and go closure you will be slapped.
Few images I have taken.
babsvsphudi said:
can u make a video on this how u used termux and what to do whole process screen recording will be helpful coz i am new to this and i dnt wanna mess up with my phone if i lost some files or smthing please make a video i really want to play with IR camera
Click to expand...
Click to collapse
https://youtu.be/iVQYu-CeN24
You can't hurt anything. Just follow the instructions.
lllsondowlll said:
You can't hurt anything. Just follow the instructions.
Click to expand...
Click to collapse
thanks man you are awesome love n respect for u brother
Starting: Intent { cmp=com.oneplus.factorymode/.camera.manualtest.CameraManualTest }
Error type 3
Error: Activity class {com.oneplus.factorymode/com.oneplus.factorymode.camera.manualtest.CameraManualTest} does not exist.
connected to localhost:5555
error: more than one device/emulator
I ran it as the video shows. But I got an error like above.
Is there any way to solve this problem or is it not possible with IN2020? Please forgive me for using a translator.
pcningen said:
Starting: Intent { cmp=com.oneplus.factorymode/.camera.manualtest.CameraManualTest }
Error type 3
Error: Activity class {com.oneplus.factorymode/com.oneplus.factorymode.camera.manualtest.CameraManualTest} does not exist.
connected to localhost:5555
error: more than one device/emulator
I ran it as the video shows. But I got an error like above.
Is there any way to solve this problem or is it not possible with IN2020? Please forgive me for using a translator.
Click to expand...
Click to collapse
I was able to resolve this issue by reinstalling factory mode. I apologize to you for a fuss over. Many thanks to the developers of this method.
Since I can't get termux to work for now, another idea if you want to have it accessible all the time(*), is to run this (beautiful) command with an adb shell from a computer and then lock the app so you can't accidentally close it.
After that you can always go back to it whenever you want it!
*App won't remain locked after reboot, obviously.
lllsondowlll said:
Launched it without a computer by using ADB from temux
--no root required
https://github.com/MasterDevX/Termux-ADB
*Enable wireless debugging (wireless doesn't actually need to be on)
Note wireless debugging --takes some time to take effect, sometimes up to 3-5 minutes for me.
*Run the installer above in termux,
*Type adb devices
*Type adb connect 127.0.0.1
*Accept the trusted key
*type adb shell
Troubleshooting:
*If you get an error about multiple devices type adb kill-server
*type adb devices
*type adb shell
*Accept the trusted key
*then paste in: am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
Click to expand...
Click to collapse
I wanna piggyback on this some, since this is similar to the process I just did.
So while this works for nonroot users (I didn't actually test the nonroot version myself), if you are rooted, AND using magisk, I personally install ADB and fastboot binaries from the repo from zackptg5(?) And then just told termux to run an elevated shell (su) and then pasted in the command linked in OP:
Code:
am start -n com.oneplus.factorymode/.camera.manualtest.CameraManualTest
It then loaded the testmode camera app, and (xXx caused it to crash, I had to disable it but I don't know if it's a setting with my config) voila. It worked! Thank you.
Edit: I wanna say just running termux in root would solve the issue either way still, but, my point still is there.
I am running lineageOS on a rooted firestick. I am using ADB on the Firestick to control it via Homeassistant. The problem is that the adb debugging does not automatically work on reboot. Everytime i reboot i have to manually go to the menu turn off the ADB debugging and then turn in back on. After doing this i am able to reconnect adb via network (i.e, on homeassistant).
I want to ask is there any way i can use a script to automatically do this on restart of firestick. I have tried creating a script in init.d with the following contents but it doesn't seem to work.
adb tcpip 5555
I have added the following line to build.prop but this doesn't seem to work too
service.adb.tcp.port=5555
On restart the adb debugging is on in the developer tools but somehow it doesn't connect (either to Homeassistant or to my laptop), what seems to make it work is toggling it off and then back on.
Have you tried persist, so that the setting sticks between reboots?
Code:
ADB shell setprop persist.adb.tcp.port 5555
Just tried it. Still not working after reboot.
I there any command i can use to toggle the adb debugging via a startup script or crontab?
symbiansucks said:
Just tried it. Still not working after reboot.
I there any command i can use to toggle the adb debugging via a startup script or crontab?
Click to expand...
Click to collapse
Be sure you are running the above command as root user. Type su at the shell prompt, then type whoami to confirm you are root.
I guess you could make a script to run the following on each boot if the above doesn't work:
Code:
settings put global adb_enabled 1
setprop service.adb.tcp.port 5555
stop adbd
start adbd
exit 0
But I don't think this should be necessary.
Finnzz said:
Be sure you are running the above command as root user. Type su at the shell prompt, then type whoami to confirm you are root.
I guess you could make a script to run the following on each boot if the above doesn't work:
Code:
settings put global adb_enabled 1
setprop service.adb.tcp.port 5555
stop adbd
start adbd
exit 0
But I don't think this should be necessary.
Click to expand...
Click to collapse
Thanks. yes the command was run as root. Can i ask you one more thing, whats the best place to put the startup scripts in? I have tried init.d/ directory but the scripts don't get loaded from there i believe?
I have set permissions to chmod 755 for the script.
You can follow this guide,
Android (LineageOS 16) Execute Script on Start Up | sqall's blog
but it seems like there should be a much easier way to make ADB tcpip persist between reboots. I don't want to steer you wrong. @Sus_i would know better, he uses your build of LineageOS, and may have a cleaner solution.