I encounter a problem when I'm trying to use a Ubuntu laptop computer to connect to two identical WiFi AP in the same time.

On that laptop there are two WiFi NICs, one is embedded (say, Wifi-A) and the other is an Asus USB-N13 ProN USB dongle (say, Wifi-B).

I can successfully connect to and control (well, actually these AP are Sony cameras, A6000) these two AP (say, AP-A & AP-B) through these two WiFi NICs, provided only one AP is used a time.

For example, either using Wifi-A to control AP-A or AP-B, or using Wifi-B to control AP-A or AP-B, will work. I think this proves both the AP and WiFi NICs hardware function correctly, and any combination of WiFi NIC and AP works fine, too.

However, it will be different if I try to connect and control both AP in the same time. Simultaneous connections to both AP are OK (though sometimes not very smooth), but controlling them is not.

Here is a list of the experiment steps:

  1. Wifi-B connects to AP-B. Wifi-B gets IP address

  2. Wifi-A connects to AP-A. Wifi-A gets IP address

  3. Send M-SEARCH request to Wifi-A and get response from AP-A. Then get Device Description XML file successfully. (This is a standard SSDP procedure which Sony A6000 supports)

  4. Send M-SEARCH request to Wifi-B and never get response

As I'm not familiar with network management, I'm wondering if such configuration (One laptop + two WiFi NICs + two identical AP) is not valid because these AP will both use IP address (there seems to be no option to change this IP address) for themselves? If this configuration is invalid, is there any way (e.g., modify some setting of Ubuntu) to fix or workaround?

As I got no response from the Stackoverflow for Sony after posting this question for few days, I desperately turn to Serverfault as this issue might actually be an networking one that Sony guys are not familiar.

I'll appreciate if any one could comment on this issue.

@Burgi, Here is my answers to your questions:

  1. Why can't the cameras connect to the same network?

    I guess the reason is because Sony originally intended to enable these camera users to control their camera from a mobile device like mobile phone or tablet, instead of computer like PC, Mac, etc. To wirelessly connect a mobile phone to a camera even when there is no WiFi AP (e.g., in the field), it would be feasible solution to make the camera an AP which allows a mobile device to connect to.

    In case you are interested in the detail, here you can find the freely downloadable Sony Camera Remote API beta SDK: https://developer.sony.com/downloads/camera-file/sony-camera-remote-api-beta-sdk/

  2. Are they physically a large distance apart so that the signals don't overlap?

    No. In fact, these two cameras are side-by-side with each other

  3. Is there an existing wifi or LAN they can connect to?

    WiFi or LAN do exist in the place these cameras are located. However, as they don't have RJ45 port, LAN won't help. And, even under some mode they can connect to a WiFi AP so that can access Internet to download program (yes, they are basically computers running FedoraCore!), such mode doesn't provide the function I need: Accept and execute commands from a computer. Such function is only available when they act as a WiFi AP.

  4. Why two NICs?

    Because, as far as I know, one WiFi NIC can connect to only one AP. It takes two NICs to connect to two APs. Of course I'll be more than happy if I can use only one NIC to connect to two APs. Is this possible??

After doing experiments for many days, I'm sure this symptom is caused by the IP address conflict (both of them are of these two A6000.

As I can't find a way to change them, my optimal solution under such configuration (one laptop + two Wifi adapter + two A6000) is to make use of Linux Network Namespaces. Moving Wifi-B to a new Network Namespace does solve this issue, because every Network Namespace has its own network stack. Now I can freely access both of these A6000 from my laptop.

I hope this answer is helpful to anyone who encounters a similar problem.

  • This question is more appropriate for SuperUser than ServerFault. – Joel Coel Oct 14 '15 at 15:04
  • As the manufacturer of this AP (or camera) in question offers support (developer.sony.com/support/stack-overflow), this AP doesn't fit the "unsupported hardware or software platforms or unmaintained environments" category. – Oliver Chen Oct 15 '15 at 1:57

This does seem like an odd set up. I have so many questions about it.

  • Why can't the cameras connect to the same network?
  • Are they physically a large distance apart so that the signals don't overlap?
  • Is there an existing wifi or LAN they can connect to?
  • Why two NICs?

Normally with devices like these you would configure them individually to connect to an existing network, this is usually provided by a wifi router or switch. You could then assign them different IP addresses within the range provided on that network.

If a network is not available you can still configure the devices by editing the network settings for the internal NIC on the laptop to the ones provided by the camera manufacturer, you would have to do this one at a time. You would then need to reconfigure your NIC when you want to connect to the internet.

A second NIC is not required and is probably complicating the issue for you, remove it from the equation.

| improve this answer | |
  • Thank you for your comments. Yes, such set up does look odd. I've edited my original question to answer your questions. Any further comment will be welcome! – Oliver Chen Oct 14 '15 at 12:33
  • AH! This now makes a lot more sense. I had made the assumption, incorrectly, that these were security cameras not consumer compact cameras. This puts a whole new spin on things, I will have to go away and rethink my answer. What is your end goal for this? – Burgi Oct 14 '15 at 12:55
  • Well, I'm trying to use them to implement a stereo camera with both nice image quality and good controllability. Since I can't find an affordable commodity stereo camera owning such two characteristics, I got to guild one by myself. Hopefully Sony A6000 is a feasible solution! – Oliver Chen Oct 14 '15 at 14:21
  • Looking at the Sony site it seems to suggest that remote control is available via USB. Would this be an option? – Burgi Oct 14 '15 at 14:33
  • I guess you mean this: support.d-imaging.sony.co.jp/imsoft/Win/rcc/us.html, right? As a matter of fact, to control this camera I prefer using USB to using WiFi, because for me USB is relatively simpler than WiFi. However, as I can't find any information about such USB control protocol, I have no choice but to use WiFi instead. :( – Oliver Chen Oct 15 '15 at 2:20

Doing precisely what you want will not work, exactly for the reason you laid out. The two cameras have the same IP addresses, so when you try to connect to the IP address in question, even if you get different IP addresses on the computer's two NICs, the endpoint IP is the same, and there's no way for the IP stack on your machine to differentiate between the two.

A couple of ideas of what might work instead:

  1. Perhaps the cameras have IPv6 enabled? It's quite possible that they've left this enabled by accident, so you may be able to talk to the IPv6 link-local addresses of the cameras. These two link-local addresses will probably be different. You may be able to discover if there is any IPv6 support by running a sniffer such as tcpdump to see if there's any ipv6 traffic origination from the cameras.

  2. Instead of trying to do everything on one machine, why not split up into virtual machines? One VM might be connected to one of the NICs while the other is connected to the other NIC.

| improve this answer | |
  • Tanks for your comment. OK, I'll try to learn how to figure out if this camera supports IPv6. And, its also possible to use independent VMs if there is no other solution. Just to make sure: If VMs are used in the way you suggest, the same IP address of APs won't confuse the IP stack of Host OS, right? – Oliver Chen Oct 14 '15 at 13:22
  • Your guess is right: This camera is indeed IPv6 enabled. However, both of them share the same address ff02::fb. :( I got to try to use VM next. – Oliver Chen Oct 15 '15 at 6:25
  • That's a multicast address, not the camera's own link-local address. – Per von Zweigbergk Oct 15 '15 at 6:31
  • Oh... OK. So, how about ff02::1:ff59:29ac (Both of two cameras have it)? I found it from: 14:05:49.052519 IP6 (hlim 1, next-header Options (0) payload length: 36) :: > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, multicast listener report v2, 1 group record(s) [gaddr ff02::1:ff59:29ac to_ex { }] – Oliver Chen Oct 15 '15 at 7:09
  • An address starting with fe80 would be the link-local address. Try converting the MAC address to a link-local address and see if that will let you talk to the camera. This can be done like this: sput.nl/internet/ipv6/ll-mac.html - Remember to specify the interface after the address like fe80::1234%eth0 when trying it. – Per von Zweigbergk Oct 15 '15 at 7:15

You need to find a way to change the IP address of the cameras. You may have more success at this if you can use ssh or telnet to make the connection to the cameras.

Once you are able to change the IP addresses used by the cameras, you will be able to configure the routing table on your laptop to use the correct interface (wifi card) for the correct camera. Additionally, if you configure the cameras to use completely different subnets, it is likely that ubuntu will figure out the routing table configuration on it's own.

| improve this answer | |
  • First thank you for your comment. Yes, I agree with you that it would better if I could change the IP address of that camera. However, since I can't find a normal way to do this, maybe I need to find a way to hack it by searching information on Internet. Anyway, thanks for your comment again! – Oliver Chen Oct 15 '15 at 2:09

Not the answer you're looking for? Browse other questions tagged or ask your own question.