Page 1 of 1

Network problem with TC Android Wifi Transfer app on Chromebook

Posted: 2019-07-21, 03:50 UTC
by jacn
Hi all,

This is regarding a new network issue with Total Commander Wifi Transfer app on Android in Chromebook (modern Chromebooks can run Android apps, particularly TC Android, and with keyboard support!). I believe it's caused by the recent Chrome OS Stable 75 update.

When using TC Android on chromebook to send files via connected wifi, TC Wifi Transfer app can show the QR code but is now assigned an internal IP (100.115.92.2) that is unreachable from outside the Chromebook. I can no longer connect to it from a Windows PC (using TC on Windows with WebDAV plug) or android phone (using TC Android with Wifi Transfer app). I believe this problem also affects other Android apps (like files sync apps) that require incoming network connections.

TC Wifi Transfer app still works the other way round i.e. TC Android on chromebook can connect to files share out from my Windows PC/Android phone, but this way I can't use TC Windows to sync files.

From what I gathered, Chrome OS isolates Android and Linux apps using VM/containers, and assign private IPs (i.e. 100.115.92.x; rfc 6598) to them that can go out via NAT but doesn't permit incoming network connections in general, though the TC Wifi Transfer app somehow :D still manage to work prior to Chrome OS 75 update.

The workaround that works for me is to use the open source "Connection Forwarder" Chrome web app to forward incoming traffic from the Chrome OS IP (e.g. 192.168.0.2:8081 on wifi LAN) to the particular private IP (100.115.92:8081) assigned to TC Wifi Transfer app. In this case, TC Windows should connect to the Chrome OS IP (e.g. 192.168.0.2:8081/9433) instead.

Sharing here in case somebody runs into the same problem, and maybe somebody has a better solution/insight into the issue.

Jack

Re: Network problem with TC Android Wifi Transfer app on Chromebook

Posted: 2020-01-11, 04:16 UTC
by jacn
Hi all,

To add on to my own post, my files on my Chromebook are kept in Android and I use TC Android on Chromebook (with Connection Forwarder workaround) to share out the files. This way, I can use TC on a Windows machine to sync with my Chromebook files.

For my purpose, a better alternative I found later is to run TC Windows in Crossover. Crossover for ChromeOS (free Beta, requires Intel CPU) is CodeWeaver's commercial version of Wine. (It's somewhat confusing that Chromebook can also run Wine in Linux and also Crossover app in Android.)

In Crossover, I can map my Chromebook's Android folder to a drive letter:
Manage Total Commander -> Launch Wine configuration -> Under "Drives" tab -> map a drive to "/storage/emulated/0/_some_android_directory_"

Then I can run TC Windows directly on my Chromebook to sync files with my phone / Windows machine like this:
Mapped drive of Android folder on Chromebook <--> TC Win in Crossover + WebDAV plugin <--> TC Android on phone or TC Windows on Win PC

TC Windows in Crossover (Chrome beta) is cranky. Occasionally, it is not responsive when button pressed or the overlay sync screen will just turn blank. WebDAV plugin couldn't activate the camera, I have to key-in the URL. The fonts on the screen are not sized correctly. But as far as I can tell, TC file syncing does works, which is what I need most :mrgreen:

For info.
Jack

Re: Network problem with TC Android Wifi Transfer app on Chromebook

Posted: 2020-01-11, 06:13 UTC
by Usher
Some additional (more formal) explanations…
jacn wrote: ↑2019-07-21, 03:50 UTCChrome OS isolates Android and Linux apps using VM/containers, and assign private IPs (i.e. 100.115.92.x; rfc 6598)
They are NOT just private IPs. It's Shared Address Space. Read Wikipedia or RFC more accurately, please:
https://tools.ietf.org/html/rfc6598
https://en.wikipedia.org/wiki/IPv4_shared_address_space
https://en.wikipedia.org/wiki/IPv4#Special-use_addresses

It's important distinction. Google uses IP block 100.115.92.0/24 to avoid conflicts with PRIVATE IP addresses in local networks. It's explained in the last message (dated 2017-05-23) of a topic on Chromebook support forum:
https://support.google.com/chromebook/forum/AAAAmKCdEusKlqGYHmrgLs/?hl=en&gpf=%23!msg%2Fchromebook-central%2FKlqGYHmrgLs%2F9ttzkY9WBwAJ&msgid=9ttzkY9WBwAJ
Denny Lockhart wrote: Google has fixed the network address conflicts and pushed out the changes already. To use the words of one of the devs:
"The solution was to allocate a permanent IPv4 global address block specifically for this purpose. The address for the bridge will always be in this space now: 100.115.92.0/24"
RFC is dated on 2012, so some older routers and networking software (including older Android and ChromeOS versions, SDK, apps etc.) may be unaware of this special use and not know how to manage IP address range 100.64.0.0/10 (or subrange allocated by Google) properly. That's why third party app for connection forwarding (bridging or some similar action) may be needed.

Re: Network problem with TC Android Wifi Transfer app on Chromebook

Posted: 2020-01-15, 01:50 UTC
by jacn
Thanks for clarification. Yes, it's not private IP per se, but a special block of IPs that Google choose to use specifically to resolve conflicts with private IPs !

The timings confused me though. These issues and solution using 100.115.92.x and Connection Forwarder itself are all dated 2017 and before, while my TC Android problem surfaced only in Jun 2019 with Chrome OS 75 update. I guess it's ongoing Google's refinement to Android implementation on Chromebook that caused the current problem. It seems to also affect other Chromebook Android apps dealing with incoming network connections, so hopefully there will be a permanent resolution from Google in the future.