[ROM] rCast - Chromecast as a standalone media player without wifi

Search This thread

rundgong

Senior Member
Jun 12, 2012
472
594
*** Now based on Eureka ROM 44433.01 ***

I have created a custom ROM (based on latest Eureka mod version 44433.01) that will let you play local media files without any wifi or other devices to control it.
It essentially becomes a self contained media player.
Media files can be stored either locally on the internal flash, or from an attached USB memory.
Playback is controlled by the button on the device.

What it does:
#1 - Getting the device to start up without network
Google has made a lot of checks to ensure the device is connected to the internet before it lets you start up.
- cast_shell and net_mgr makes http requests to google servers. I have patched those binaries so they make requests to the local web server instead.
- The device make a dns lookup sent to server 8.8.8.8. I have worked around that by creating an alias for 8.8.8.8 on the local host and run a dns server.
- The device will not finish booting until it has received an updated time from pool.ntp.org. This is fixed by adding pool.ntp.org as 127.0.0.1 in the hosts file, and locally running a sntp server.
Those workarounds will let the device start up normally even when network is missing.
The scripts are made so they only do something when we do not have internet. For normal connected usage none of the above is performed.

When we have detected that there is no internet (if we fail to get a new time from NTP server), the above fixes are performed.
After this the system may have a "brain freeze", but wait until the idle screen is back up again and it will be finished.

#2 - A cast sender that talks to the device and tells it what media to play.
To actually play any media files I have created a media player with a cast protocol implementation that talks to the device locally, and a cast sender implementation.
In addition there is a cast receiver app on the local web server.

An FTP server is also started at boot to make it easier to load media onto the internal flash.

HOWTO Install
1: Before you start you should set the Whitelist Provider to "Locally Stored" in the Eureka ROM Device settings.
A custom whitelist is required so we can have a local idle screen and also for the media player to work
2: Flash the zip-file like any other flashcast zip, and wait until it reboots.
Now the device is prepared with all the rCast files, but it's not yet activated. So far it is almost identical to the Eureka ROM, except for patches to cast_shell, net_mgr and a fix to launch user scripts during boot.
3: Login to the CC using telnet and run the following commands
Code:
busybox cp /system/rcast/apps.conf.template /data/eureka/apps.conf
busybox cp /system/rcast/user_boot_script.sh.template /data/user_boot_script.sh
chmod 755 /data/user_boot_script.sh
Reboot the device.
You should now be good to go.
To remove rCast features, remove or edit /data/user_boot_script.sh. This is the file that actually launches all the rCast features

HOWTO Control Media playback
The device only has one button so it is used for all control. Every command is a sequence of long and short presses.
a short press is < 1 second, a long press is > 1 second.
When there has not been any button pressings for 1 second the command times out and is executed.
Play/Pause: 1 short press.
Next video: 2 short presses
Previous video: 3 short presses.
Stop playback: 1 long press

HOWTO upload media files
Find out the ip-address of the device and connect with a FTP client.
All videos are placed in /data/rcast/videos are included in the playlist.
Reboot the device. The playlist is created during the start phase.
Currently only mp4 files are supported.

Download ROM
rCast 1.1.1 based on Eureka ROM 44433.01 available HERE
This version does not work properly when there is no wifi. It works when there is wifi, but no internet.
-------
Older versions
v1.0 based on Eureka ROM 27946.002 available HERE
This version has no restrictions for wifi.
Sources are available at https://github.com/rundgong

Thanks to @tchebb and @ddggttff3 for answering some questions I had about the Eureka ROM, and of course the entire Eureka team for making their ROM.
 
Last edited:

ImCoKeMaN

Senior Member
Jan 8, 2007
213
54
Awesome to see new development still on these devices. In your post you say attached USB storage and I guess rooting means a usb otg isn't hard to come by, but do those files have to be in a specific folder as well?
 

halfluck

Senior Member
Feb 26, 2014
51
15
This is incredible work and super useful!

I take it, if you use a Y power cable and USB Flash Drive (FAT32?) it will add those mp4's to the playlist too?

Cheers Rob.
 

rundgong

Senior Member
Jun 12, 2012
472
594
Awesome to see new development still on these devices. In your post you say attached USB storage and I guess rooting means a usb otg isn't hard to come by, but do those files have to be in a specific folder as well?

No, they do not have to be in a specific folder on the USB storage.
All mp4 files on the USB stick will be included in the playlist.
 
  • Like
Reactions: BIade

rundgong

Senior Member
Jun 12, 2012
472
594
This is incredible work and super useful!

I take it, if you use a Y power cable and USB Flash Drive (FAT32?) it will add those mp4's to the playlist too?

Cheers Rob.

Yeah, I use the same USB-storage + Y-cable for power that I use while flashing ROMs.
The USB drive I use is prepared by flashcast during the rooting process, but I suppose it will work also for any regular USB drive.
 

Johan1976

Senior Member
Jul 12, 2011
354
46
THIS is the reason I want to keep root. Cool new functions. :)

Don't think I will use this method but it's awesome to see the potential what can be done.

Skickat från min GT-I9505 via Tapatalk
 

Daveychan

Member
Aug 29, 2014
12
4
Thank you!

I like this a LOT. Thank you!
I'm also curious to see if eventually this code can get modified and tweaked a bit so that that the whole "must be connected to the internet" crap gets by-passed and i can start using this as a simple wireless HDMI cable between my iPad and the hotel TV. Thanks again!
 

rundgong

Senior Member
Jun 12, 2012
472
594
I like this a LOT. Thank you!
I'm also curious to see if eventually this code can get modified and tweaked a bit so that that the whole "must be connected to the internet" crap gets by-passed and i can start using this as a simple wireless HDMI cable between my iPad and the hotel TV. Thanks again!

It already bypasses the "must be connected to the internet" crap :)
It does not differentiate between "no internet" and "no wifi" though
 

Daveychan

Member
Aug 29, 2014
12
4
LOL

It does not differentiate between "no internet" and "no wifi" though[/QUOTE said:
You're absolutely right, of course!

Yes indeed... WiFi ability so I can stream from my iStuff but no Internet Check, so i can just plug and play with any TV.
 

rundgong

Senior Member
Jun 12, 2012
472
594
Wow, an unexpected thread! :)
Few questions, loading the eureka rom we page is still available?
And how about the eureka ota update process?

The web page is still there with all the settings. This rom removes no functionality from the original rom. Except for the few patches to binary files mentioned in the first post.

If you have it set to allow eureka OTA updates, I believe it will overwrite my changes when they decide to send out an update. But I'm not 100% sure how those updates work...
 

zul8er

Senior Member
Jul 1, 2008
663
189
To telnet into the Chromecast, how? Using the 8.8.8.8 IP? Same with FTP?

I'm going to flash it this weekend and want to make sure I don't get stuck anywhere.
 

rundgong

Senior Member
Jun 12, 2012
472
594
To telnet into the Chromecast, how? Using the 8.8.8.8 IP? Same with FTP?

I'm going to flash it this weekend and want to make sure I don't get stuck anywhere.

There is no difference about the ip-address compared to Eureka ROM, when it is connected to a network.
Just use the Chromecast settings app, it will show you the ip.
 
  • Like
Reactions: zul8er

zul8er

Senior Member
Jul 1, 2008
663
189
uploadfromtaptalk1445104689471.jpg

Yay!

Sent from my VS985 4G using Tapatalk
 

rundgong

Senior Member
Jun 12, 2012
472
594
First post has now been updated with link to sources at github.

Some of the build scripts are a bit messy because I don't have any toolchain for chromecast, and had to use the toolchain for android instead.
But hopefully you can understand what is going on anyway.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 35
    *** Now based on Eureka ROM 44433.01 ***

    I have created a custom ROM (based on latest Eureka mod version 44433.01) that will let you play local media files without any wifi or other devices to control it.
    It essentially becomes a self contained media player.
    Media files can be stored either locally on the internal flash, or from an attached USB memory.
    Playback is controlled by the button on the device.

    What it does:
    #1 - Getting the device to start up without network
    Google has made a lot of checks to ensure the device is connected to the internet before it lets you start up.
    - cast_shell and net_mgr makes http requests to google servers. I have patched those binaries so they make requests to the local web server instead.
    - The device make a dns lookup sent to server 8.8.8.8. I have worked around that by creating an alias for 8.8.8.8 on the local host and run a dns server.
    - The device will not finish booting until it has received an updated time from pool.ntp.org. This is fixed by adding pool.ntp.org as 127.0.0.1 in the hosts file, and locally running a sntp server.
    Those workarounds will let the device start up normally even when network is missing.
    The scripts are made so they only do something when we do not have internet. For normal connected usage none of the above is performed.

    When we have detected that there is no internet (if we fail to get a new time from NTP server), the above fixes are performed.
    After this the system may have a "brain freeze", but wait until the idle screen is back up again and it will be finished.

    #2 - A cast sender that talks to the device and tells it what media to play.
    To actually play any media files I have created a media player with a cast protocol implementation that talks to the device locally, and a cast sender implementation.
    In addition there is a cast receiver app on the local web server.

    An FTP server is also started at boot to make it easier to load media onto the internal flash.

    HOWTO Install
    1: Before you start you should set the Whitelist Provider to "Locally Stored" in the Eureka ROM Device settings.
    A custom whitelist is required so we can have a local idle screen and also for the media player to work
    2: Flash the zip-file like any other flashcast zip, and wait until it reboots.
    Now the device is prepared with all the rCast files, but it's not yet activated. So far it is almost identical to the Eureka ROM, except for patches to cast_shell, net_mgr and a fix to launch user scripts during boot.
    3: Login to the CC using telnet and run the following commands
    Code:
    busybox cp /system/rcast/apps.conf.template /data/eureka/apps.conf
    busybox cp /system/rcast/user_boot_script.sh.template /data/user_boot_script.sh
    chmod 755 /data/user_boot_script.sh
    Reboot the device.
    You should now be good to go.
    To remove rCast features, remove or edit /data/user_boot_script.sh. This is the file that actually launches all the rCast features

    HOWTO Control Media playback
    The device only has one button so it is used for all control. Every command is a sequence of long and short presses.
    a short press is < 1 second, a long press is > 1 second.
    When there has not been any button pressings for 1 second the command times out and is executed.
    Play/Pause: 1 short press.
    Next video: 2 short presses
    Previous video: 3 short presses.
    Stop playback: 1 long press

    HOWTO upload media files
    Find out the ip-address of the device and connect with a FTP client.
    All videos are placed in /data/rcast/videos are included in the playlist.
    Reboot the device. The playlist is created during the start phase.
    Currently only mp4 files are supported.

    Download ROM
    rCast 1.1.1 based on Eureka ROM 44433.01 available HERE
    This version does not work properly when there is no wifi. It works when there is wifi, but no internet.
    -------
    Older versions
    v1.0 based on Eureka ROM 27946.002 available HERE
    This version has no restrictions for wifi.
    Sources are available at https://github.com/rundgong

    Thanks to @tchebb and @ddggttff3 for answering some questions I had about the Eureka ROM, and of course the entire Eureka team for making their ROM.
    4
    Is there some way to flag people who shouldn't be able to post? This guy had posted 3 times. If they can't read the post before their own or read through 5 pages and understand which one this works on, they shouldn't be allowed to post in my opinion.
    1
    Awesome to see new development still on these devices. In your post you say attached USB storage and I guess rooting means a usb otg isn't hard to come by, but do those files have to be in a specific folder as well?

    No, they do not have to be in a specific folder on the USB storage.
    All mp4 files on the USB stick will be included in the playlist.
    1
    To telnet into the Chromecast, how? Using the 8.8.8.8 IP? Same with FTP?

    I'm going to flash it this weekend and want to make sure I don't get stuck anywhere.

    There is no difference about the ip-address compared to Eureka ROM, when it is connected to a network.
    Just use the Chromecast settings app, it will show you the ip.
    1
    Is there going to be an update to fix no WiFi?

    Probably not. I have no idea what is the actual problem.