Send ssh command to switch settings? - Philips, Sony, TCL Android TV

My dream is to send ssh commands to my Sony Android TV to switch settings (picture mode for example). Any chance to have that someday?

you can use adb shell

Related

[APP] ADB enhanced Putty (replacement for "adb shell" command)

We all know that running "adb shell" from the command line is pretty crap, and when using a latter busybox version which has coloring support it's ultimately crap. One workaround was usually to start a telnet server on the phone, and use putty to connect to that telnet server. Actually there is a more easier way to do that which also works for non rooted phones.
Actually the Android Debug Bridge has a terminal connection feature (roughly speaking), which will be enabled after you connect to the adb server in "0006shell:" mode. You can actually use the putty to connect to this interface always, by setting the following things:
- Turn off line discipline in settings
- Use RAW mode to connect to localhost:5037
- Enter "0012host:transport-usb" (without quotes)
- Enter "0006shell:" (without quotes)
Now you've got a full fledged connection to your device. The main drawback is that it's tedious to repeat the above all the time, so I've made some modifications to the putty binary that adds a new type of connection, called "Adb"
To use the enhanced putty (via USB):
- Select Adb from the connection type list
- Enter "transport-usb" in the host (or any other connection string, check the adb socket interface documentation if you need something else than connecting via usb)
- Enter 5037 as port, if it's not already set there.
- Connect and enjoy (you might also save this connection, so next time you only have to double-click on the settings)
To use this via wireless adb:
- Connect to wireless adb using a command shell: "adb connect IPORT" (substitute ip and port for the real values)
- Enter "transport-any" in the host
- Enter 5037 as port if it's not already set there
- Connect and enjoy
To use this via the android emulator:
- Enter "transport-local" in the host. Everything else is the same
If you have multiple devices (for example multiple devices connected to usb and/or wileressly)
- Enter "transport:serial-number" in the host, where you substitute "serial-number" with the serial of the device you get by using "adb devices". Everything else is the same.
DL and source: http://github.com/sztupy/adbputty/downloads
Thanks
Great job
Love to use putty.
If this do what your say it's good buy adb shell!!
i am using putty for a long time, and i just tried urs, it looks great but i failed to connect coz i'm connecting to 2 devices....
so how can i add the -s param to specify which phone i'm gonna connect?
thx
EDIT: wow!!! i removed one of my devices and connected to it now!! ctrl-U now works!!!! THANK YOU!!!
EDIT2: quick question. if i use a normal putty, where to type in 0012transport-usb and 0006shell: ? i typed them in the term but it closed after 0006shell
Thanks. It works, but any idea how to get the up and down arrow keys to work on Putty? They work on the windows adb shell.
ykk_five said:
i am using putty for a long time, and i just tried urs, it looks great but i failed to connect coz i'm connecting to 2 devices....
so how can i add the -s param to specify which phone i'm gonna connect?
thx
EDIT: wow!!! i removed one of my devices and connected to it now!! ctrl-U now works!!!! THANK YOU!!!
EDIT2: quick question. if i use a normal putty, where to type in 0012transport-usb and 0006shell: ? i typed them in the term but it closed after 0006shell
Click to expand...
Click to collapse
The complete specification is here: http://android.git.kernel.org/?p=pl...T;hb=f41986bbc79055a4feed7266cac5c1b540296daf
This is what you can use:
- transport-any (either usb or local emulator)
- transport-usb (the only usb device)
- transport-local (the only emulator)
- transport:SERIALNUMBER (the concrete device with the appropriate serial number)
so in your case you have to use the latter.
For the second question, you need to ensure that all of the things are present:
- You are using RAW mode (connecting to localhost:5037)
- Line discipline is on "Force OFF" (in the terminal settings dialog)
- You make some pause between writing the two commands
- You don't press enter/backspace or any other key while entering the commands (the easiest way is to write the commands in eg. notepad, copy them, and paste them into putty by pressing ****+RIGHT MOUSE BUTTON)
hardcore said:
Thanks. It works, but any idea how to get the up and down arrow keys to work on Putty? They work on the windows adb shell.
Click to expand...
Click to collapse
The up and down arrow keys were actually handled by cmd.exe, which is non existent in putty. Instead it's now the responsibility of the shell to do the hard work. The included sh in the phone's sotfware (toolbox sh) is mostly useless here, but if you have busybox installed, you might want to run "busybox sh" after connecting (some rooted phones have busybox's sh as default, on them it should work out of the box).
Busybox's sh can not only handle the up and down arrows, but other things like tab completion works too.
sztupy said:
The up and down arrow keys were actually handled by cmd.exe, which is non existent in putty. Instead it's now the responsibility of the shell to do the hard work. The included sh in the phone's sotfware (toolbox sh) is mostly useless here, but if you have busybox installed, you might want to run "busybox sh" after connecting (some rooted phones have busybox's sh as default, on them it should work out of the box).
Busybox's sh can not only handle the up and down arrows, but other things like tab completion works too.
Click to expand...
Click to collapse
Use the ash.
edit:
Btw, thank you for this adb-putty.
sztupy said:
The complete specification is here: http://android.git.kernel.org/?p=pl...T;hb=f41986bbc79055a4feed7266cac5c1b540296daf
This is what you can use:
- transport-any (either usb or local emulator)
- transport-usb (the only usb device)
- transport-local (the only emulator)
- transport:SERIALNUMBER (the concrete device with the appropriate serial number)
so in your case you have to use the latter.
For the second question, you need to ensure that all of the things are present:
- You are using RAW mode (connecting to localhost:5037)
- Line discipline is on "Force OFF" (in the terminal settings dialog)
- You make some pause between writing the two commands
- You don't press enter/backspace or any other key while entering the commands (the easiest way is to write the commands in eg. notepad, copy them, and paste them into putty by pressing ****+RIGHT MOUSE BUTTON)
Click to expand...
Click to collapse
thx for u reply, but all i got in the log:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2010.10.09 13:10:54 =~=~=~=~=~=~=~=~=~=~=~=
0012transport-usb
0006shell:
FAIL0012device offline (x)
with adb turned on and working
sztupy said:
The up and down arrow keys were actually handled by cmd.exe, which is non existent in putty. Instead it's now the responsibility of the shell to do the hard work. The included sh in the phone's sotfware (toolbox sh) is mostly useless here, but if you have busybox installed, you might want to run "busybox sh" after connecting (some rooted phones have busybox's sh as default, on them it should work out of the box).
Busybox's sh can not only handle the up and down arrows, but other things like tab completion works too.
Click to expand...
Click to collapse
Yes and it will be great if busybox can handle history like linux
ADB over wireless ?
Hi, thanks for your great work
I'm using ADB Wireless
The first step is to connect first with
Code:
adb.exe connect 192.168.6.14:5555
And then the standard procedure
Is it possible for you to include these two phases directly inside Putty ?
So we just have to enter the IP address of the phone and here we go
PS : to disconnect, we have to do
Code:
adb.exe disconnect 192.168.6.14:5555
but that's not an obligation
seems to be a windows/putty problem because adb shell works wonderful on ubuntu with the default shell ...
btw. you can also easily get a sshd (dropbear) running. then you can ssh onto the device over wifi ... i can provide the binary+explanation if anybody is interested.
I'm very interested in that !
Sent from my GT-I9000 using XDA App
virus found
mathieumeuh said:
I'm very interested in that !
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
here is the explanation how to set it up (cyanogenmod wiki):
http://wiki.cyanogenmod.com/index.php?title=Howto:_Connect_to_Device_with_SSH
basically you have to create the keys on your pc and copy them onto the device. then you can connect via key-auth. if you want dropbear to autostart @boot you could add it to playlogos1 ...
and here are the binary's you need (including the missing dropbear-keygen) and a bash binary:
http://www.multiupload.com/B0L9FDQHPB
bash is optional of course but it's very nice to have tab-completion and the other improvements bash offers over sh. to replace sh with bash do the following:
Code:
cp bash /system/bin/
chmod 0755 /system/bin/bash
mv /system/bin/sh /system/bin/sh_OLD
ln -s /system/bin/bash /system/bin/sh
the chmod is really important. i forgot it once and then was unable to get shell access even over adb. was a pain in the ass to fix it again
jodue said:
seems to be a windows/putty problem because adb shell works wonderful on ubuntu with the default shell ...
btw. you can also easily get a sshd (dropbear) running. then you can ssh onto the device over wifi ... i can provide the binary+explanation if anybody is interested.
Click to expand...
Click to collapse
You seem to miss the point of this development. First, your method is mentioned as one of the possible workarounds in the first post. Second you need to have some kind of telnet/ssh server running on the phone, which you don't need, if using adb.
Meanwhile you don't even need a rooted phone or busybox or anything to get this thing working.
The main problem with adb shell under windows, that it uses the standard cmd.exe to run, and uses the standard cmd.exe's "readline" support, which only supports the up and down keys for history (and even that it only supports that within one session).
Putty is mainly the only good (xterm compatible) terminal emulator for windows (msys's or cygwin's rxvt is good too, but "adb shell" was programmed in a way that makes it kinda useless under rxvt too). There are two ways to fix this. One is to make adb.exe more comptible with rxvt, the other is to skip adb.exe entirelly and communicate with the adb server without it. This project utilises the latter.
But what is the advantage compared to "normal" ABD
But what is the advantage compared to "normal" ADB ?
Thank you!
DirkStorck said:
But what is the advantage compared to "normal" ABD
Click to expand...
Click to collapse
It has a real xterm compatible terminal emulator. Is you use busybox >= 1.17.1 you've got coloring, tab completion, resize events, keyboard events (applicatios like vi is working), etc.
This is the reason I recommend a faulty device: without the problems with the SGS the developments would go much slower Thank you for this putty, i have it connecting to the bash. Color coding and keys work perfectly.
Thanks for this Sztupy!
I hated using windows cmd.exe to access a linux shell

native adb

Does anyone know how to connect your phone, to its own native adb. If your running 4.0 or better like the new 4.0.1 sense on evo 4g lte you have the native adb, in the terminal you can start it by typing adb start-server, but I cannot connect the phone to it.
This is nice to use to connect to other phones and use it as a debug station, but does anyone know how to connect to the phones adb server from the terminal on its own phone. When I start the server it says its listening on 5083 I have tried adb forward tcp:5555 tcp:55, tried adb tcpip 5555, but none of the forwarding ports seems to work. I have started adb on the phone and adb over wifi but still do not see the ip in adb.
Some help on this would be nice, I will keep thinking, but any help would be nice.
Some ideas might be to start a wifi server using the phones wifi tether, or hotspot to connect to itself
ip addr add 192.168.1.10/24 dev eth0
ip addr add 192.168.1.10/24 dev wlan0
maybe we can manually add and connect the devices threw wifi hotspot or tether with this. someone want to take this on and get back to me
There are posts on StackOverflow about this, and those have worked for me. Search "adb over wifi"
Sent from my PG06100

IP / REST API for controlling Fire TV?

There does not seem to be an official documented API to send commands to the Fire TV via IP. The interface obviously exists and is used by the Fire TV Remote app. Does anybody know how to control the Fire TV via IP?
attunezero said:
There does not seem to be an official documented API to send commands to the Fire TV via IP. The interface obviously exists and is used by the Fire TV Remote app. Does anybody know how to control the Fire TV via IP?
Click to expand...
Click to collapse
I need the same thing so I can control it via Tasker. Unfortunately, communication is encrypted and far from simple (I sniffed the traffic with IP captcher)
djsvetljo said:
I need the same thing so I can control it via Tasker. Unfortunately, communication is encrypted and far from simple (I sniffed the traffic with IP captcher)
Click to expand...
Click to collapse
Well you could try decompiling the android apk and see if you can figure out what it's doing.
rbox said:
Well you could try decompiling the android apk and see if you can figure out what it's doing.
Click to expand...
Click to collapse
Unfortunately, my programming skills end with block diagrams, Tasker at most.
---------- Post added at 04:46 PM ---------- Previous post was at 04:42 PM ----------
BTW, do you know someone that knows SMALI? I need another app that needs a very simple change - doubling the output of one function. I was able to de-compile and find the function in .java but i can't compile it back to class/.smali (a friend of my helped me on this a bit).
Hi,
I am also interested in ip control for the Fire TV. So are there any news on this topic?
Thanks,
Wolfgang
If anyone is still interested it can be controlled by sending keyevents via adb. adb debugging must be enabled on the firetv and adb must be connected then you can send commands like so:
adb shell input keyevent KEYCODE_MEDIA_PLAY_PAUSE
A list of keycodes can be found here: developer dot amazon dot com/docs/fire-tv/remote-input.html#input-event-reference
I believe you can also find commands to start apps and things too.
despian said:
If anyone is still interested it can be controlled by sending keyevents via adb. adb debugging must be enabled on the firetv and adb must be connected then you can send commands like so:
adb shell input keyevent KEYCODE_MEDIA_PLAY_PAUSE
A list of keycodes can be found here: developer dot amazon dot com/docs/fire-tv/remote-input.html#input-event-reference
I believe you can also find commands to start apps and things too.
Click to expand...
Click to collapse
Can you connect to ADB via network (wifi) ?
https://forum.xda-developers.com/fire-tv/themes-apps/windows-app-simple-adb-remote-t2898206
TimmyP said:
https://forum.xda-developers.com/fire-tv/themes-apps/windows-app-simple-adb-remote-t2898206
Click to expand...
Click to collapse
It looks like it will be hard to implement via Tasker (which is what I needed in first place). Controlling mine with Harmony and Tasker Plugin for Harmony
djsvetljo said:
Can you connect to ADB via network (wifi) ?
Click to expand...
Click to collapse
Of course.
Code:
adb connect IP_of_your_FireTV
https://forum.xda-developers.com/fi...adb-remote-t2898206/post55882391#post55882391
djsvetljo said:
Can you connect to ADB via network (wifi) ?
Click to expand...
Click to collapse
Yes, that was my point. Sorry, thought that was implied.
I wrote this shell script to make sending the commands a bit easier. I use it in OpenHAB to control my FireTV via my home automation system Maybe somebody else might find it useful.
Code:
#!/bin/bash
# script to execute a comand on a fire tv via adb
# $1 : ip or hostname and connection port of firetv e.g. Snug-FireTV:5555
# $2 : command to execute
# array of available commands
declare -A COMMANDS=(
["UP"]="19"
["DOWN"]="20"
["LEFT"]="21"
["RIGHT"]="22"
["ENTER"]="66"
["BACK"]="4"
["HOME"]="3"
["MENU"]="KEYCODE_MENU"
["PLAYPAUSE"]="85"
["PREVIOUS"]="88"
["NEXT"]="87"
["WAKE"]="KEYCODE_POWER"
)
if [[ ! -z $1 && ${COMMANDS[$2]+_} ]]; then
# check for existing connection and create new if none found
CON=$(adb devices | grep $1 -c -i)
if [ $CON -eq 0 ]; then
adb connect $1
fi
# execute command
adb -s "$1" shell input keyevent "${COMMANDS[$2]}"
fi

TCL Android (55P8S) Turn off button sound

Help me out guys... TCL Android TV (55 P8S). Every time a button is pressed on the remote it utters a confirmation noise. Infuriating. I can't seem to find any menu to change button-press noise confirmation off. Any thoughts? It's like listening to a teenager texting in the mid 2000s lol.
On p8m it's in sound options or system settings (don't remember exactly). Not the android settings of course.
Hope you found your answer.
If not :
Go Settings > Sound > Advanced Settings > Sound Feedback > Off
I have a TCL P8M and this worked for me. In case yours is slightly different, go ahead and fiddle around till you find 'sound feedback' which is usually in Sound settings.
This can be fixed with ADB.
1. Enable ADB debugging on device
2. install ADB on your computer.
3. Start a shell (cmd for example if Windows) on computer, if ADB is not in your $PATH variable - navigate to folder where it's installed
4. Find the device IP of your Android TV
5. Connect to the TV using ADB from your computer:
NB! Replace the all of the X characters with the IP of your TV, e.g: 192.168.0.2:5555
Code:
adb connect x.x.x.x:5555
6. On the TV, allow ADB device
7. Run the following command in your shell on the computer:
Code:
adb shell settings put system SOUND_EFFECTS_ENABLED 0
I dont have the setting on my TV and the adb command dosent fix the problem.
Help?
please try:
adb shell settings put system sound_effects_enabled 0
this fixed the issue for me. It had to be small letters in my case.
There is also this apk if anyone in the future doesn't want to use adb
iangry0/TCLButtonSound: Disables or enables TCL android TV button sound (github.com)
TheNoobIsHere said:
There is also this apk if anyone in the future doesn't want to use adb
iangry0/TCLButtonSound: Disables or enables TCL android TV button sound (github.com)
Click to expand...
Click to collapse
Hello,
sorry for my ignorance. How can I use TCLButtonSound, can I obatain an apk files? I'd like to try to mute my menu sounds in a Telefunken tv.

Philips ADB Commands for HDMI1-4 with Buttonmapper ?

Hello.After last update on my 65PSU with AndroidTV 9.0 , its not anymore possible to switch directly to HDMI1 or HDMI2 via IR Codes from my Remote (RCOID app Android).
I tryed with Buttonmapper and Kecodes from here : https://elementalx.org/button-mapper/android-key-codes/
But i have no luck because the important one HDMI-1 to HDMI-4 are not activated on TV....
After long search i found a thread where you can per ADB command switch to HDMI-1 HDMI-4 directly via command :
Original Thread found here : https://community.home-assistant.io/t/android-tv-hdmi/234411/27
So i installed adb remote on myphone and testet this command ....and it works like a charm with my philips TV.
Code:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
HW5 = HDMI1
HW6 = HDMI2
HW7 = HDMI3 and so on....
is it possible with buttonmapper to send this ADB codes that i can remap my buttons to direct HDMI switcher buttons on my remote ?
i tryed with buttonmapper §shell
but shell doesnt work....i am linux newbeee.... perhaps someone can help to get this work....
I am searching for this as well. I am now trying via termux + termux widget add-on. I am connected to my TV over ADB in termux. I am not getting to switch to an HDMI port yet.
Switch to HDMI 1: should be possible like this but no succes yet
adb shell input keyevent KEYCODE_F6
After this the next goal is a short script that can be started from a widget icon on my phone's homescreen or even from my TV's remote control with button mapper
The android Keycodes didnt work for me.
but the code above in my 1 Post did Work via remote adb shell app on android.
its a shame that phillips deleted the option to siwtch discret hdmi1.
Has anyone found a sollution to get this working with button mapper?
adb shell input keyevent KEYCODE_F6 and
Code:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
work for me from the computer.

Categories

Resources