waydroid
                                
                                
                                
                                    waydroid copied to clipboard
                            
                            
                            
                        Fakewifi dont solve connection problem for some apps
We have here in Belgium and Bank app called Argenta, but it seems the change something into the app as it was working before and you can not install older version when then you get a message you need to update to lasted version without an update the app do not works.
So it seems it need a real wifi connection, i try with fakewifi but i still get no internet connection, so i think for more people into europa will get this problem into some time, Waydroid need a real Wifi connection like Alien Dalvik has on Sailfish OS there the app works without any problems.
Here is a link into the Play store:
https://play.google.com/store/apps/details?id=be.argenta.bankieren&hl=en
You can install the app for testing you dont need any account you get directly the message when you start the app there is no internet connection....
I have been testing this on Ubuntu Touch, but it seems on a PC with Ubuntu it has the same problem....
I don't know whether the issue is the same or not, but I encounter the same problem with "Moto Journal" application
https://play.google.com/store/apps/details?id=com.presstalis.motojournal&gl=US
I can log in, restore the purchases but not download issues (it's a magazine app) nor do anything network-related from the application (get Facebook page, etc) apart login. Logcat show:
12-27 13:03:18.504   278   356 D UntrustedWifiNetworkFactory: got request NetworkRequest [ TRACK_DEFAULT id=31, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10163 AdministratorUids: [] RequestorUid: 10163 RequestorPackageName: com.presstalis.motojournal] ] with score 70 and providerId 1
which may explain some things?
Other bug: the application crashs at startup as it seems not to be able to access its cache directory (/media/0/Android/data/com,pesstalis.motojournal/cache) that needs to be created and chown-ed by hand. After that, the application can open.
After further digging, the mac80211_hwsim kernel module can be used to simulate a WiFi network connection. This is apparently used in Google's Android Emulator. This may be one path worth exploring to better handle network (as suggested by #251 ).
Oh this sound like good news ! thanks Nicolas for looking on this let's hope the Waydroid devs would fix it ;)
I have digged a bit more. Setting up a virtual wifi interface is easy on the host:
modprobe mac80211_hwsim && hostapd hostapd.conf with this config to set up wlan0 as an access point.
Then, wlan1 can be passthrough the container with lxc-device -P /var/lib/waydroid/lxc -n waydroid -- add wlan1
However, the WiFi still cannot be turned on from WayDroid, waydroid logcat shows:
12-29 11:16:26.669   262   279 I EthernetTracker: interfaceLinkStateChanged, iface: wlan1, up: false
12-29 11:16:26.673   262  1292 I WifiService: updateInterfaceIpState uid=1073
12-29 11:16:26.673   262   336 D WifiService: updateInterfaceIpState: ifaceName=wlan1 mode=-1 previous LOHS mode= -1
12-29 11:16:26.681   262   332 E NetworkStats: problem reading network stats
12-29 11:16:26.681   262   332 E NetworkStats: java.lang.IllegalStateException: problem parsing tethering stats: 
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.NetworkManagementService$NetdTetheringStatsProvider.getTetherStats(NetworkManagementService.java:1714)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.NetworkManagementService.getNetworkStatsTethering(NetworkManagementService.java:1754)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService.getNetworkStatsTethering(NetworkStatsService.java:1905)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService.getNetworkStatsUidDetail(NetworkStatsService.java:1883)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService.recordSnapshotLocked(NetworkStatsService.java:1389)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService.performPollLocked(NetworkStatsService.java:1508)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService.performPoll(NetworkStatsService.java:1459)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService.access$100(NetworkStatsService.java:171)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.net.NetworkStatsService$2.onReceive(NetworkStatsService.java:1132)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1580)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Handler.handleCallback(Handler.java:938)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Handler.dispatchMessage(Handler.java:99)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Looper.loop(Looper.java:223)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.HandlerThread.run(HandlerThread.java:67)
12-29 11:16:26.681   262   332 E NetworkStats: Caused by: android.os.ServiceSpecificException: [Remote I/O error] : failed to parse IPv4 tether stats:
12-29 11:16:26.681   262   332 E NetworkStats:  (code 121)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Parcel.createExceptionOrNull(Parcel.java:2388)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Parcel.createException(Parcel.java:2358)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Parcel.readException(Parcel.java:2341)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.os.Parcel.readException(Parcel.java:2283)
12-29 11:16:26.681   262   332 E NetworkStats: 	at android.net.INetd$Stub$Proxy.tetherGetStats(INetd.java:2015)
12-29 11:16:26.681   262   332 E NetworkStats: 	at com.android.server.NetworkManagementService$NetdTetheringStatsProvider.getTetherStats(NetworkManagementService.java:1712)
12-29 11:16:26.681   262   332 E NetworkStats: 	... 14 more
I assume the Android guest system cannot use the virtual device (lack of drivers?). I may continue digging, but I do not have a lot of time.
Note that wlan1 is detected by Android once passed through:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:f9:d3:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.240.112/24 brd 192.168.240.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::ab17:eb54:40ab:dba5/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
6: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:62:b4:84:a9:37 brd ff:ff:ff:ff:ff:ff
However, I cannot connect with wpa_supplicant, because it is not present in the (GAPPS) ROM.
I have this same issue with a Brazilian Bank app. Fakewifi doesn't make it pass the check.
Update more apps seems not to works anymore on Waydroid the request real wifi or data....Keep in mint you need an account for this apps and it will proble not work outside of Belgium.
https://play.google.com/store/apps/details?id=be.bmid.itsme&hl=en&gl=US&pli=1
https://play.google.com/store/apps/details?id=mobi.inthepocket.bcmc.bancontact&hl=en&gl=US
I'm experiencing a similar problem with google translate app:

I think we need urgent a wifi connection i have add last 5 apps that check on this and need this... and i think more and more apps one work anymore on Waydroid so it would become useless when there is no real wifi after some time (;
Yeah same problem here, i think some app only checking if the system connecting to the internet or not wheter through wifi or data cellular, if not the they throw an exception or some stuff
I quit using Waydroid and all this alternatieve Oses to many apps give troble and i'm tryed of that.
do you have alternative way to run android app beside anbox and waydroid?
Any news on this or a fix for the real wifi on Waydroid Ubuntu Touch....?
why dont we just bridge the internet via virtual network
why dont we just bridge the internet via virtual network
I dont know if this would help for example apps here in Belgium the do checks if there is a real wifi connection....
why dont we just bridge the internet via virtual network
That is exactly what is done, but the network is passed through a (virtual) ethernet adapter and not a (virtual) wireless one. If you are talking about a build-in VPN interface on android, we can try but I am not optimistic as this will not enable wifi / data connection for apps that are checking specifically for that.
I tried further to dig with the virtual wifi way, but had no luck as android seems to lack drivers for the virtual mac80211_hwsim driver I pass to the container.
Any solution? The command waydroid prop set persist.waydroid.fake_wifi doesn't work either. Maybe a module for Xposed/LSPosed?
There will not be any solution unless the project integrates drivers for a virtual wifi interface.