Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NeRFCapture Connection Issues #2

Open
Nik-V9 opened this issue Dec 5, 2023 · 22 comments
Open

NeRFCapture Connection Issues #2

Nik-V9 opened this issue Dec 5, 2023 · 22 comments
Assignees
Labels
enhancement New feature or request

Comments

@Nik-V9
Copy link
Contributor

Nik-V9 commented Dec 5, 2023

Regarding App Connection: I've found that some networks don't allow the two devices (phone & PC) to connect (for example, CMU's WiFi). However, using a router with CMU's internet worked. Also, I've found that it's good to clean out the app from the background when connecting it to the Python script.

I've seen unexplained connection issues with the NeRFCapture App. (jc211/NeRFCapture#11)

We will try to release a better app and script to replace this for better support and to enable video streaming soon.

@Nik-V9 Nik-V9 added the enhancement New feature or request label Dec 5, 2023
@Nik-V9 Nik-V9 self-assigned this Dec 5, 2023
@davidceka
Copy link

Regarding App Connection: I've found that some networks don't allow the two devices (phone & PC) to connect (for example, CMU's WiFi). However, using a router with CMU's internet worked. Also, I've found that it's good to clean out the app from the background when connecting it to the Python script.

I've seen unexplained connection issues with the NeRFCapture App. (jc211/NeRFCapture#11)

We will try to release a better app and script to replace this for better support and to enable video streaming soon.

Hey, thanks for sharing.
What do you mean clean out the app from background?
Also, I'm using a home WiFi router, shouldn't be much of a problem but I'll test out the phone hotspot too

@Nik-V9
Copy link
Contributor Author

Nik-V9 commented Dec 5, 2023

I'm referring to the closing of the app shown here: https://youtu.be/5K1KgMKWEH8?si=yG8PqRoS8tDpdZ-o&t=35

In our experience, I think home WiFi routers should also work. Not sure what's happening; maybe you could try cyclonedds ps?

Re. phone hotspot: I needed to connect to an external phone's hotspot (apart from the active phone used for the app) to get things to work.

@davidceka
Copy link

davidceka commented Dec 5, 2023

I'm referring to the closing of the app shown here: https://youtu.be/5K1KgMKWEH8?si=yG8PqRoS8tDpdZ-o&t=35

Oh the basic app closing, ok

In our experience, I think home WiFi routers should also work. Not sure what's happening; maybe you could try cyclonedds ps?
image

The output shows no entities. Also tried to use an external phone to which the iphone and the pc connect to, but with no success.
Is there any configuration to do on the iphone or just open the app to the "online" tab?

@Nik-V9
Copy link
Contributor Author

Nik-V9 commented Dec 5, 2023

That's interesting. You should at least see the Python script listed in the ps. Are you using the bash script to run the demo? Does it say waiting for frames ...?

Yes, you just need to open the app to the "online" tab.

cyclonedds ps screenshot

This is what I see when both the python script and the iPhone app are running and connected:

Screenshot 2023-12-05 at 4 14 03 PM

@davidceka
Copy link

davidceka commented Dec 5, 2023

That's interesting. You should at least see the Python script listed in the ps. Are you using the bash script to run the demo? Does it say waiting for frames ...?

Yes, you just need to open the app to the "online" tab.

cyclonedds ps screenshot

This is what I see when both the python script and the iPhone app are running and connected:

Screenshot 2023-12-05 at 4 14 03 PM

https://pastebin.com/u4c7kVti

You'll find all i can see on this pastebin. Let me know if I can be of any help.

Edit: for the ps, I probably did it bad before, should've ran the ps check while the script was on. I did it now and still nothing appearing

@Nik-V9
Copy link
Contributor Author

Nik-V9 commented Dec 5, 2023

This is my output:

1701814429.392631 [0]    python3: udp initialized
1701814429.393142 [0]    python3: interfaces: lo udp/127.0.0.1(q1) wlo1 wireless udp/192.168.103.106(q9) docker0 udp/172.17.0.1(q9)
1701814429.393144 [0]    python3: using network interface wlo1 (udp/192.168.103.106) selected arbitrarily from: wlo1, docker0
1701814429.393144 [0]    python3: using network interface wlo1 (udp/192.168.103.106) selected arbitrarily from: wlo1, docker0
1701814429.393147 [0]    python3: selected interfaces: wlo1 (index 3 priority 0)
1701814429.393148 [0]    python3: presumed flaky multicast, use for SPDP only
1701814429.393151 [0]    python3: ownip: udp/192.168.103.106
1701814429.393152 [0]    python3: extmask: invalid/0 (not applicable)
1701814429.393153 [0]    python3: SPDP MC: udp/239.255.0.1
1701814429.393154 [0]    python3: default MC: udp/239.255.0.1
1701814429.393155 [0]    python3: SSM support included
1701814429.393194 [0]    python3: socket receive buffer size set to 20971520 bytes
1701814429.393198 [0]    python3: rtps_init: uc ports: disc 0 data 0
1701814429.393199 [0]    python3: rtps_init: domainid 0 participantid -2
1701814429.393200 [0]    python3: Unicast Ports: discovery 38755 data 38755
1701814429.393203 [0]    python3: socket receive buffer size set to 20971520 bytes
1701814429.393207 [0]    python3: socket receive buffer size set to 20971520 bytes
1701814429.393209 [0]    python3: Multicast Ports: discovery 7400 data 7401 
1701814429.393211 [0]    python3: socket receive buffer size set to 20971520 bytes
1701814429.393215 [0]    python3: interface wlo1: transmit port 51339

I think what you are observing has to do with the interface. My system shows a wlo1 interface while the terminal output you shared shows wlan. Maybe this could be the cause of the discrepancy?

The cyclonedds should discover the python script if it spawns correctly.

@davidceka
Copy link

davidceka commented Dec 5, 2023

I think what you are observing has to do with the interface. My system shows a wlo1 interface while the terminal output you shared shows wlan. Maybe this could be the cause of the discrepancy?

I don't think it can be an issue, that's only the name of the network interface i'm using to connect to the wifi, so I'm not really sure

The ifconfig command only shows eno2, lo(loopback) and wlan0

@Nik-V9
Copy link
Contributor Author

Nik-V9 commented Dec 5, 2023

Another option could be to check the domain ID of cyclonedds: eclipse-cyclonedds/cyclonedds-python#194

@davidceka
Copy link

Another option could be to check the domain ID of cyclonedds: eclipse-cyclonedds/cyclonedds-python#194

If i got that correctly, both mine and your snippets both use id [0], I scanned that one while the demo was running but nothing. Where in the code do you choose the id to assign?

@Nik-V9
Copy link
Contributor Author

Nik-V9 commented Dec 5, 2023

We don't explicitly set it. We use the default domain ID, which should be [0]. Not sure what's up.

I tried this demo on another system; the other system also has an interface of wlo1.

@davidceka
Copy link

We don't explicitly set it. We use the default domain ID, which should be [0]. Not sure what's up.

I tried this demo on another system; the other system also has an interface of wlo1.

It's probably a nomenclature by the system, i'm running archlinux and he calls them wlan, maybe on ubuntu the name is different; all the same i don't think that's what causing the issue but let's see if others can confirm.

@weiyunpei
Copy link

That's interesting. You should at least see the Python script listed in the ps. Are you using the bash script to run the demo? Does it say waiting for frames ...?

Yes, you just need to open the app to the "online" tab.

cyclonedds ps screenshot

This is what I see when both the python script and the iPhone app are running and connected:

Screenshot 2023-12-05 at 4 14 03 PM

Hey, thx for sharing. I also have a strange issue.
When I tried nerfcapture using my ipad, it shows that my ipad connected to the host correctly with four entities.
Then I turned off my ipad’s wifi
And I tried it to using another iphone, but it cannot work with only two entities like the first img.
When I use the tablet again, I can still connect successfully.
I guess it's because the configuration has not been cleared completely but not for sure.
I wonder why it happened. Thanks again.

@Nik-V9
Copy link
Contributor Author

Nik-V9 commented Dec 8, 2023

Have you ensured that the iPhone is connected to the same network?

That's definitely a weird behavior. Not sure what's happening internally with the NeRFCapture App's DDS.

We will have our own variant soon, which would be better and can also do video streaming.

@nirmalsnair
Copy link

For me, NeRF Capture failed to establish a connection with my laptop while using my home WiFi. However, hotspotting from my laptop worked without any issues.

@davidceka
Copy link

@Nik-V9 I've managed to make the cyclonedds service work on windows, but it chooses the wrong network interface (it chooses the ethernet connection and i want it to choose the wifi one). Do you know how can i do it?

@libaiwanovo
Copy link

Regarding my situation,iPad Pro can connect successfully, but my iPhone 13 Pro cannot.
The prerequisite is that your computer and iPad should be connected to the same network.
The steps are as follows: while in online mode, run "bash bash_scripts/online_demo.bash configs/iphone/online_demo.py" and wait for the message "waiting for frames..." to appear. Then, open NerfCapture on the iPad and wait for approximately 3 seconds until the app displays "1 Connection(s)" on the top right corner. Click "Send" and the computer will receive the corresponding data set.

@ansj11
Copy link

ansj11 commented Dec 20, 2023

I also have the same problem, the script bash bash_scripts/nerfcapture2dataset.bash configs/iphone/dataset.py always "Waiting for frames...". And I run cyclonedds ps print "Entities discovered: 2", but can not see the NeRFCapture APP. I am sure two device use same wifi, what can I do?

@bill9109
Copy link

bill9109 commented Dec 21, 2023

I have similar problem.

1703176322.823594 [0]      16948: using network interface WLAN (udp/192.168.50.157) selected arbitrarily from: WLAN, 本地连接* 11
1703176322.823594 [0]      16948: using network interface WLAN (udp/192.168.50.157) selected arbitrarily from: WLAN, 本地连接* 11
1703176322.823606 [0]      16948: selected interfaces: WLAN (index 5 priority 0)
1703176322.823611 [0]      16948: presumed flaky multicast, use for SPDP only
1703176322.823656 [0]      16948: ownip: udp/192.168.50.157
1703176322.823662 [0]      16948: extmask: invalid/0 (not applicable)
1703176322.823667 [0]      16948: SPDP MC: udp/239.255.0.1
1703176322.823671 [0]      16948: default MC: udp/239.255.0.1
1703176322.823675 [0]      16948: SSM support included
1703176322.827061 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827353 [0]      16948: rtps_init: uc ports: disc 0 data 0
1703176322.827367 [0]      16948: rtps_init: domainid 0 participantid -2
1703176322.827374 [0]      16948: Unicast Ports: discovery 57016 data 57016
1703176322.827399 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827499 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827596 [0]      16948: Multicast Ports: discovery 7400 data 7401
1703176322.827621 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827753 [0]      16948: interface WLAN: transmit port 57017

It never shows waiting for frames ...

  • iPhone and PC in the same WiFi
  • PC hosts a hotspot
  • iPhone hosts a hotspot
  • change another router

all the same

@RogerChern
Copy link

I found that my iPhone 13 Pro is the only device having dds connection issue, both my iPad Pro w/ LiDAR and iPad mini works.

I initially suspected that the dds on ios was choosing the cellular NIC over the wifi NIC but found that even if i put the phone into airplane mode the connection issue still existed.

Sticking to a iPad with LiDAR might be the solution to it currently.

@Zhangyangrui916
Copy link

iPhone12Pro can't connect,but iPad can.

@joontack-han
Copy link

I have similar problem.

1703176322.823594 [0]      16948: using network interface WLAN (udp/192.168.50.157) selected arbitrarily from: WLAN, 本地连接* 11
1703176322.823594 [0]      16948: using network interface WLAN (udp/192.168.50.157) selected arbitrarily from: WLAN, 本地连接* 11
1703176322.823606 [0]      16948: selected interfaces: WLAN (index 5 priority 0)
1703176322.823611 [0]      16948: presumed flaky multicast, use for SPDP only
1703176322.823656 [0]      16948: ownip: udp/192.168.50.157
1703176322.823662 [0]      16948: extmask: invalid/0 (not applicable)
1703176322.823667 [0]      16948: SPDP MC: udp/239.255.0.1
1703176322.823671 [0]      16948: default MC: udp/239.255.0.1
1703176322.823675 [0]      16948: SSM support included
1703176322.827061 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827353 [0]      16948: rtps_init: uc ports: disc 0 data 0
1703176322.827367 [0]      16948: rtps_init: domainid 0 participantid -2
1703176322.827374 [0]      16948: Unicast Ports: discovery 57016 data 57016
1703176322.827399 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827499 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827596 [0]      16948: Multicast Ports: discovery 7400 data 7401
1703176322.827621 [0]      16948: socket receive buffer size set to 10485760 bytes
1703176322.827753 [0]      16948: interface WLAN: transmit port 57017

It never shows waiting for frames ...

  • iPhone and PC in the same WiFi
  • PC hosts a hotspot
  • iPhone hosts a hotspot
  • change another router

all the same

@bill9109 Hi, I'm facing same problem, have you solved it?

@ZhouJankin
Copy link

iPhone12Pro can't connect,but iPad can.

the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests