spieglt / FlyingCarpet

Cross-platform AirDrop. File transfer between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi. No network infrastructure required, just two devices with WiFi chips in close range.
GNU General Public License v3.0
3.6k stars 145 forks source link

No wireless interface found - Ubuntu 22.04 #38

Closed ecollart closed 1 year ago

ecollart commented 1 year ago

Hello,

it seems FC uses always the first interface after the lo (loopback) so it never find the WLAN interface when it is a USB WIFI key ..

Is there a way to tell FC what interface to use ?

Thanks for help

Eric Collart

spieglt commented 1 year ago

It should only find WiFi interfaces, but it will just use the first it finds. I can probably fix this but there isn't currently a way to specify an interface. Thanks for the feedback, will look into it.

spieglt commented 1 year ago

I've got a fix mostly working for Linux and Windows, working on macOS though it's a little more complicated. Will probably still be a few days before I get it out but I'll let you know.

spieglt commented 1 year ago

Actually, now that I try it, it's not even straightforward to use a second WiFi card with macOS, and I assume that very few people do so, so maybe I can partially skip this step.

spieglt commented 1 year ago

Taking longer than expected, turns out the Rust bindings for Windows only give you the details for one WiFi interface so fixing this on Windows has been tough and may not be doable.

spieglt commented 1 year ago

@ecollart Version 7.1 is out on the releases page and adds support for multiple wireless interfaces on Linux and Windows. It should prompt you for which you'd like to use when you start the transfer. Sorry this took so long, if you're still interested please try it out and let me know.

ecollart commented 1 year ago

Hello, I tried it on Ubuntu 22.04 but stiil select the ethernet interface instead of the WIFI USB key (TP-Link TL-WNT725N) and failed transferring to Android Smartphone. No change if the ethernet interface is cabled or not... I didn't tried yet on a laptop (that is using only WIFI)... Both devices connected to same WIFI network.

Wouldn't be possible to allow selection of interface to use ?

Eric Collart

spieglt commented 1 year ago

Hmm, Flying Carpet only works with WiFi cards and shouldn't ever try to use a wired ethernet interface. It doesn't matter which WiFi networks the devices are on before the transfer starts. If you're transferring between Ubuntu and Android, the Ubuntu device should stand up a hotspot and the Android device will join it. If there are multiple WiFi cards present, the new 7.1 version should prompt you which you would like to use, but the presence of a wired interface is irrelevant and shouldn't affect anything.

However, I have a USB WiFi adapter that I had to install drivers for on Linux. It can join WiFi networks, but cannot stand up a hotspot as the driver doesn't support it. (The same USB adapter can run a hotspot on Windows). I wonder if you're having a similar issue.

Can you please try a transfer and paste the output from the Ubuntu side here?

ecollart commented 1 year ago

Hello,

I think you point the right stuff about the hotspot; I tried 3 different WIFI keys and the 2 TP-Link gave about same error Capture d’écran du 2023-06-09 18-09-30

Joining output of ifconfig too: ifconfig.txt

The 3rd one is a very old Hercules but it allow to get through and disply the QR code. Unfortunately the FC 7.0 from my Android doesn't ask to scan the QR code... I am busy trying to re-install as it could be some authorization wrongly set...

USB WIFI keys are: TP-Link TL-WNT725N => error TP-Link TL-WN823N (noted to support Linux kernel 2.6.18 to 3.10.10 but mine report 6.0 with Ubuntu 22.04) => error Hercules HWGUSB2-54-V2 => seems to work (trying to fix Android side)

Thanks a lot for your support here

Eric Collart

ecollart commented 1 year ago

What Android side reports to me (FC version 7.0.2 from Google Play Store): Screenshot_2023-06-09-18-21-26-754_dev spiegl flyingcarpet

spieglt commented 1 year ago

Thanks for the debugging info. The TP-Link errors are very likely because the driver supports joining WiFi networks but not hosting them from that device.

As for Android, Google Play Services is broken on some phones which prevents the QR code scanner from running. You can likely fix this by clearing the Google Play Services cache and data and letting it download again. Instructions here: https://support.google.com/googleplay/answer/9037938. Issue tracker here: https://issuetracker.google.com/issues/261579118.

spieglt commented 1 year ago

@ecollart I'm going to close this issue as the outstanding problems don't seem related to multiple wireless interfaces. But if I can help further, please continue the thread. Also, if you get a chance I'd be curious to know what Android device you're using that makes it look so cramped. I thought I'd made it fit decently well on small screens but this is my first Android app so I learned as I went.