Sunny
Sunny

Reputation: 2154

adb connection over tcp not working now

I was trying to use adb over TCP/IP. I have followed these steps

adb tcpip 5555

adb connect 194.68.0.100:5555

I have used my device for 2 days and now I am unable to connect to my IP address like when I do

adb tcpip 5555

it doesn't respond anything. Anyone knows what could be the scenario.

Upvotes: 97

Views: 204565

Answers (16)

Robert Siemer
Robert Siemer

Reputation: 34771

Unfortunately, most answers here only solve the problem as a side effect. You do not need to launch adb tcpip 5555 or adb kill-server at all. (The former, by the way, requires a working adb USB connection.)

  • open the “wireless debugging” settings page on the phone

    • the user interface might be confusing – is is not just a switch
    • (you can also search and enable wireless debugging in “quick settings developer tiles” for quick access to that page)
    • enable wireless debugging and take note of phone IP, port and pairing options
  • the phone has to be paired beforehand

  • the “wireless debugging” settings page on the phone shows paired computers ← check that your computer is listed or add/pair it as follows and re-check

  • add/pair a new computers with

    • USB
      • nothing tells you that this USB method pairs for future wireless connections
      • (I will not go into all kinds of USB connection problems here)
      • provoke “Allow USB debugging?” question on the phone
        • e.g. with adb kill-server and adb start-server while USB-connected
        • or re-plug USB cable with running adb server
      • check “Always allow from this computer” checkbox and allow connection
        • otherwise it does not pair for future wireless and USB connections
        • this is what all “connect-by-USB-first-answers” might provoke as a side effect and thus potentially solve the problem
    • WiFi
      • tap “Pair device with pairing code” from “wireless debugging” setup page
      • launch adb pair <IP>:<port> <pairing code> with data shown on phone
  • once paired, launch adb connect <IP>:<port> with data as shown in phone

    • <IP> is the same as for pairing, <port> will be different
    • without pairing you get failed to connect to <IP>:<port> without hinting to the problem
    • you get [...] Connection refused if you used the wrong port
  • adb shell etc. should be working now

Upvotes: 1

Michael
Michael

Reputation: 2029

If rebooting PC and phone does not help, try this (derived from here):

Connect phone via USB and execute on the PC:

  • adb kill-server
    • local effect
    • kills local server part on PC
    • next command will restart it
  • adb usb
    • effect on phone
    • restarts the adb daemon which handles this very USB connection
    • requires working connection to phone (i.e. with USB)
  • adb tcpip 5555
    • effect on phone
    • (re-)starts adb daemon on the phone responsible for connections via network
    • let this daemon listen on port 5555
    • this command is still transferred via USB
  • adb connect xxx.xxx.xxx.xxx
    • use IP of phone
    • connects local part with phone
    • connect argument is usually in the form of [IP of phone]:[port], but port 5555 is picked by default
    • if successful, future remote commands can now be sent via network
    • commands can still be sent via USB
  • test with adb -e shell whoami
    • effect on phone
    • communicates with phone over network (-e)
  • adb -d shell whoami
    • like before, but communicates over USB (-d)
    • disconnecting USB now makes -e optional

Upvotes: 201

Biolo Account
Biolo Account

Reputation: 643

The solution that worked for me :

  1. I connected my phone to my pc using usb and enabled usb debugging in developers options.
  2. Once my device got pc's fringerprint,from next time I could just connect using adb connect <mydeviceip>:<port>

It suddenly stopped working because I had deleted my pc from the list of connected devices inside wireless debugging options.

Upvotes: 2

Yunus Gedik
Yunus Gedik

Reputation: 190

In macos, close all the emulators first. Then type these in order:

adb kill-server
adb tcpip 5555
adb connect *DEVICE_IP*:5555

Upvotes: 0

Serge
Serge

Reputation: 497

Tried EVERYTHING here and more, and nothing worked for me. Then I finally realised my VPN was blocking sharing the connection with other devices on the network. Disabling that everything finally started working.

Upvotes: 1

Someone
Someone

Reputation: 401

another thing to try :-

From adb over usb try :

su
setprop service.adb.tcp.port 5555
stop adbd

then go to settings>dev options>

disable then re-enable developer options and usb debugging

this worked for me

then you can continue with old fashioned way to connect :-

adb connect xx.xx.xx.xx:5555 (xx.xx.xx.xx is device IP)

credits

Upvotes: 0

maybe your vpn is enabled, try to disable VPN

adb kill-server
adb tcpip 5555
adb connect xxx.xxx.xxx.xxx:5555

Upvotes: 3

Manoj Rawat
Manoj Rawat

Reputation: 270

Just Try to Debug Mode ON or OFF and then try to reconnect it.

if it dosn't work then connect with USB and try following command in terminal

adb tcpip 5555

and now try with connection command

adb connect Your Phone IP:5555

Upvotes: 6

moghwan
moghwan

Reputation: 2287

Just a tiny update with built-in wireless debugging in Android 11:

  • Go to Developer options > Wireless debugging
  • Enable > allow
  • Pair device with pairing code, a new port and pairing code generated and shown
  • adb pair [IP_ADDRESS]:[PORT] and type pairing code.
  • done

Upvotes: 21

Charith Bhat
Charith Bhat

Reputation: 9

ADb used to work fine for me for a week. But now suddenly today it says the machine actively refused connection.

fix:

step 1: go check you phone's IP Adress once again, it keeps changing.
step 2: If it changed. Just use that new IP to connect.

Hope it helped someone :)

Upvotes: 0

Ajith George
Ajith George

Reputation: 927

Step 1 . Go to Androidsdk\platform-tools on PC/Laptop

Step 2 :

Connect your device via USB and run:

adb kill-server

then run

adb tcpip 5555

you will see below message...

daemon not running. starting it now on port 5037 * daemon started successfully * restarting in TCP mode port: 5555

Step3:

Now open new CMD window,

Go to Androidsdk\platform-tools

Now run

adb connect xx.xx.xx.xx:5555 (xx.xx.xx.xx is device IP)

Step4: Disconnect your device from USB and it will work as if connected from your Android studio.

Upvotes: 42

Deivison Sporteman
Deivison Sporteman

Reputation: 2380

I solved that issue follow that:

Steps:

  1. Make sure that Aggressive Wi-Fi to Cellular handover under Networking section in the device's developer options is turned off.
  2. Ping continuously from your pc to the device to make sure it's not in network idle mode ping -t 194.68.0.100 (windows cmd), unlock the device and even try to surf to some website just to make it get out of the network idle.
  3. If ping doesn't work, turn off / on Android Wifi and go back to step 2.
  4. When it replies to the ping, connect it via USB, and:

    adb usb

    adb tcpip 5555

    adb connect 194.68.0.100:5555

In casr it's still not connected, try to switch the usb connection mode as MTP / PTP / Camera while the device is connected through usb and repeat these steps over again...

Upvotes: 1

IgniteCoders
IgniteCoders

Reputation: 4990

Thanks to sud007 for this answer. In my case, I only need this part of the solution:

In CMD/Terminal:

$ adb kill-server

$ adb tcpip 5555
restarting in TCP mode port: 5555

$ adb connect 192.168.XXX.XXX

This bug brings more errors than unable to connect to 192.168.XXX.XXX:5555: Connection refused. In my case, I could connect to the device, but when you try to run the app. AndroidStudio stay in Installing APK forever. In this case, I needed to restart the phone too.

Upvotes: 0

sud007
sud007

Reputation: 6161

I couldn't do it on a Galaxy S3 (non rooted).

For me it would hang saying...

restaring in tcp mode

So i found this series of commands quite useful.

First disconnect your device, start from scratch (cmd in admin mode and all the stuff).

connect your device and write in CMD/Terminal:

adb kill-server

control should return as normal. Now type and enter

adb tcpip 5555

you will see..

  • daemon not running. starting it now on port 5037 *
  • daemon started successfully * restarting in TCP mode port: 5555

and then connect device with

adb connect <IP>

That's how it worked for me after a lot of hassle!

UPDATE FOR ANDROID STUDIO

I noticed this doesn't work sometimes, even after correctly repeating steps a number of times. Catch was; sometimes ADB is yet not initialized by Studio unless, Android Tab at the bottom is opened and you see "Initializing Android Studio".

You will large Initializing text.

Upvotes: 13

Melek Jarraya
Melek Jarraya

Reputation: 79

if you use Android M:

Step 1 : adb usb
Step 2 : adb devices
Step 3 :adb tcpip 5556
Go to Settings -> About phone/tablet -> Status -> IP address.
Step 4 : adb connect ADDRESS IP OF YOUR PHONE:5556

Upvotes: 5

Maxim Shoustin
Maxim Shoustin

Reputation: 77930

Try to do port forwarding,

adb forward tcp:<PC port> tcp:<device port>.

like:

adb forward tcp:5555 tcp:5555.

sounds like 5555 port is captured so use other one. As I know 7612 is empty

[Edit]

C:\Users\m>adb forward tcp:7612 tcp:7612

C:\Users\m>adb tcpip 7612
restarting in TCP mode port: 7612

C:\Users\m>adb connect 192.168.1.12
connected to 192.168.1.12:7612

Be sure that you connect to the right IP address. (You can download Network Info 2 to check your IP)

Upvotes: 78

Related Questions