philippe44 / AirConnect

Use AirPlay to stream to UPnP/Sonos & Chromecast devices
Other
3.43k stars 216 forks source link

Airconnect on Ubuntu with Virtual Machine Hyper-V #489

Closed Vader20 closed 8 months ago

Vader20 commented 9 months ago

Hello all, I seem to be getting stuck. I've done the install, disabled firewalls on host and VM, installed openSSL but cant seem to get past this stage below where it states its trying to start pico HTTP server and hangs from there.

I think its something to do with the firewall, or something seems to be blocking it from moving forward but not sure what to check.

Please help (with instructions as I'm somewhat new to Linux).

image

philippe44 commented 9 months ago

Can you tell a bit more about your setup and what type of players you want to discover?

Vader20 commented 9 months ago

Hi there! Windows 11, Hyper V enabled with Ubuntu 22.04 running in Virtual Machine via Hyper V. Setup a connection bridge, Internet is working fine. Even had Homebridge connected and working fine (then created a new image to see if that would fix the airconnect issue). Regular router running 5Ghz and 2.4Ghz on the same SSID, all devices connected to it. I'm trying to use my iphone to cast to my chrome cast speakers.

philippe44 commented 9 months ago

Usually it's the CC devices and AirConnect not being on the same part of your network (5GHz, 2.4Ghz or ethernet) and the router has IGMP snooping which means it plays funny with some broadcast packets.

Vader20 commented 9 months ago

I just checked and the CC is on 5Ghz as is my computer. I have Bell Canada's HUB 4000, which may have IGMP but no setting to disable it. Thanks for making a great product but doesn't seem to be compatible with my router unfortunately :(

philippe44 commented 9 months ago

Do you still want to try to make it work? Because I did not notice the HyperV and VM config. I'm more a VirtualBox user but it's likely the issue then. You have to make sure than the VM has access to the same net as the UPnP device. No NAT allowed. I assume whe you say "connection bridge", it means that the VM is bridge to your actual network, but just want to be sure.

Vader20 commented 9 months ago

Would love to, but would need a little guidance as this is kinda new to me. My Hyper V is setup this way:

image

I've tried to change to private/internal and assign some dynamic IPs but can't seem to get it working, tried some youtube videos but none of them seemed to have helped.

philippe44 commented 9 months ago

One thing you could also try before we investigate more: could you try the Windows version directly on your Win machine? If this works, it will mean for sure it's a VM config problem. You can also try on any other machine or pi you have on your network.

Vader20 commented 9 months ago

Here is what Windows says, this is with the 64bit C++ redistributable file. I even downloaded openSSL and put aircast into the same file from here:

https://github.com/IndySockets/OpenSSL-Binaries/blob/master/openssl-1.0.2q-x64_86-win64.zip

[19:30:32.969] main:923 Starting aircast version: v1.2.2 (Sep 29 2023 @ 15:45:09)
[19:30:32.969] main:930 no config file, using defaults
[19:30:32.985] Start:689 Binding to 192.168.2.54 [Wi-Fi] with mask 0xffffff00
[19:30:32.985] Start:698 Cannot load SSL libraries
[19:30:32.985] main:963 Cannot start 
philippe44 commented 9 months ago

ah, you have 2 dlls in the bin/ directory that you have to copy at the same place where the .exe sits

Vader20 commented 9 months ago

Finally, its working on Windows 11 raw! Must have missed that part somewhere.

Seems like there is some settings that need to be adjusted somehow in Hyper V, no idea how to tackle that one.

[21:28:56.980] main:923 Starting aircast version: v1.2.2 (Sep 29 2023 @ 15:45:09) [21:28:56.980] main:930 no config file, using defaults [21:28:56.995] Start:689 Binding to 192.168.2.54 [Wi-Fi] with mask 0xffffff00 [21:28:56.995] Start:715 Starting pico HTTP server on port 51066 [21:28:57.215] AddCastDevice:653 [0119F000]: adding renderer (Sony TV - 192.168.2.30:8009) with mac CCCC9D4AEDB6 [21:28:57.357] AddCastDevice:653 [0119F968]: adding renderer (Kitchen speaker - 192.168.2.41:8009) with mac CCCC58D88B47 [21:28:57.389] AddCastDevice:653 [011A02D0]: adding renderer (Bedroom speaker - 192.168.2.43:8009) with mac CCCC6F080547 [21:28:57.530] AddCastDevice:653 [011A0C38]: adding renderer (Living room speaker - 192.168.2.40:8009) with mac CCCCA5FA7BD5 [21:28:57.530] AddCastDevice:639 [011A15A0]: creating MAC [21:28:57.530] AddCastDevice:653 [011A15A0]: adding renderer (Living Room - 192.168.2.40:32053) with mac CCCC87EAEBCC [21:28:57.672] AddCastDevice:653 [011A1F08]: adding renderer (LG TV - 192.168.2.69:8009) with mac CCCC6EC6B6F7

philippe44 commented 9 months ago

Unlikely related, but can you try to disable ipv6 in your VM? https://www.wikihow.com/Disable-Ipv6-on-Linux

Vader20 commented 9 months ago

It didn’t work unfortunately. Thank you very much for the trouble shooting, looks like Homebridge now isn’t working correctly on Windows lol. I’m just going to uninstall everything and get a Raspberry Pi when I get some free time. I know Windows wasn’t designed for these things so I’ll just keep it simple and get a pi lol. Thanks again and great work on the program.

SerpentDrago commented 9 months ago

ah, you have 2 dlls in the bin/ directory that you have to copy at the same place where the .exe sits

just fyi no where in the instructions in the readme state that you need other files . thanks this helps me. Added a quick PR to the readme to help others > https://github.com/philippe44/AirConnect/pull/491 feel free to format it better .

Thanks !

philippe44 commented 8 months ago

if you don't mind I'll close that then