The Cast SDK performs device discovery, as described for Android, Web, and iOS, to provide the user with a list of available Cast-enabled devices. The sender app can then connect to a receiver device and begin casting. When device discovery fails, the issue may be with the app (sender or Cast-enabled devices) the Cast device, or the network.
This document describes ways to troubleshoot for device discovery problems: the Cast-enabled devices does not appear in the list of connected Cast devices or, worse, the Cast button does not appear when you run the sender app. Because there are so many potential factors, and so many variables in the discovery process, these measures may not definitively prove any one cause, but they help you narrow down the possible causes.
Before investigating your device discovery problem, be sure the following conditions are established:
- The sender device is running a Cast app that you can use for testing. Do not use the Netflix or YouTube apps to test discovery, as these use some specialized discovery mechanisms.
- The Web Receiver device is an official Google Cast device. For example, Chromecast, Google Home, or Google Nest Hub.
- The sender device must have WiFi enabled and running.
- The sender device and the Cast-enabled devices device must be connected to the same WiFi network.
Also, see Debugging for more information about debugging your Web Receiver application.
To get further assistance with your issue, gather all available information such as debugging logs, ping response data, and network service data, and use one of the support options described in Google Cast Support.
Check the sender app
- Connect both the sender and the Cast-enabled devices to the same WiFi network.
Restart the sender app.
- On Android, force the app to stop by using the Android system settings. Then re-launch the app.
- On iOS, double-click the home button, select the sender app, and swipe it away to shut it down. Then re-launch the app.
In the sender app, touch the Cast button to view Cast devices on the network. If the Cast-enabled device is now listed (discovered), there may still be a problem with the sender app. Observe the sender app and note the conditions under which it loses its ability to discover your receiver: what is happpening in the app? Is the time to connection loss consistent over several restarts?
Run a different sender app (not Netflix or YouTube), and touch the Cast button to view Cast devices on the network.
If other apps are consistently discovering your receiver, and your sender app isn't, the problem is probably in your sender app. On the other hand, if all apps have problems discovering your receiver, the problem may be with your receiver or the network.
Run your sender app on a different platform (if possible).
When running your sender app on other platforms, is the discovery behavior the same?
Run any app (not Netflix or YouTube) on a different platform than that of your sender app.
If your sender app is on the Android platform, run a different app on iOS, and vice versa. If all apps of a certain platform fail consistently, while those of another do not, the problem may be with the platform.
Synchronize the devices
The authentication handshake between the sender and receiver can fail if there is a significant disparity between the system time on the sender device and that of the Cast-enabled device. A disparity of as little as 10 minutes may cause authentication to fail.
The system time on a Cast device is immutable and the device can maintain the correct time if connected to the internet. The system time on most sender devices (such as a phone) is mutable, but you should allow the device to get the system time automatically by connecting it to the internet.
If the system time on either the sender or the receiver is incorrect, reboot the device and connect it to the internet. If the device is unable to maintain the correct time, contact the device vendor.
Ping the devices
When you ping the devices, note the response message content so you can report it in any communication to Google Cast Support.
- Connect both the sender and the receiver to the same WiFi network and verify that both devices indicate they are connected.
Find the Cast-enabled device IP address.
Use the Google Home app to retrieve the IP address of a Cast device (excluding Android TV). For Android TV, get the IP address from the Settings > Device > Network > WiFi > Network > Status Info menu.
Connect a computer to the same WiFi network as the Cast-enabled device and open a command line interface.
Ping the Cast device and note the response.
ping <Cast-enabled device IP address>
Ping the multicast addresses and note the responses. You can perform this test whether you have the Cast-enabled device's IP address or not. Ping the multicast IP addresses as follows:
ping 224.0.0.1
ping 239.255.255.250
ping 224.0.0.251
Find the IP address of the sender device. Usually the Settings menu has this information. In Android, look in Settings > About > Status.
Ping the sender device and note the response.
ping <sender device IP address>
If you can't get a response when you ping either device, see Check the router.
Check the router
Some network routers support Cast better than others, and Google has tested most of the major brands. The following steps may help identify router issues.
- On your network router, turn off AP isolation.
- Check your router for any known issues and additional information.
Search the internet to see how other users have resolved router issues with Chromecast.
For example, enter the query, "Chromecast Belkin n300."
Update your router's firmware.
See the manufacturer's instructions. The router firmware may have bugs that can be resolved with a simple update.
Reboot your network router by turning it off then restarting it.
Reboot your Cast device.
To reboot a Chromecast, unplug then replace the USB cable. Similarly, for other Cast devices, turn on then turn off the device to reboot it.
Check the traffic
You can see if the Web Receiver is communicating properly with the network by inspecting the broadcast services on the network.
- On a device connected to the same network as the Web Receiver device, install one of the network service inspection utilities listed below.
Run the utility and find the _googlecast._tcp.local service record.
This record will describe your Web Receiver device name and model along with service data.
- Copy the record information for communication to Google Cast Support.
Install the network service inspection utilities as follows:
Apple OSX - Install Bonjour Browser from Tildesoft
Linux - Install avahi-discovery and run it as follows:
sudo apt-get install avahi-discover
sudo service avahi-daemon start
avahi-discover