# CARP with USB to Ethernet Adapter



## tpfiler (Jan 29, 2020)

Hello,

I am currently testing CARP with my PC and a laptop. My PC has two Ethernet ports so that is not the problem. 

The problem is my laptop, it has no Ethernet port. So that I can use an Ethernet cable I set the laptop up with two USB to Ethernet port adapters, from wirezoll on amazon (a random adapter).
When testing CARP my PC takes its Master role as intended but both ports on the laptop stay in the *CARP INIT* phase instead of the intended *CARP Backup*. I ping from laptop to PC and I can ping from PC to laptop. I am not sure what the issue is.

Is there something in the Kernel I need to add?

I tried loading the usb to ethernet adapters into Kernel that I saw in the handbook (https://www.freebsd.org/doc/handbook/network-usb-tethering.html) but I received a message of "kldload: can't load if_cdce: module already loaded or in kernel"

I also added if_cdce_load="YES" into /boot/loader.conf as a precaution. It still does not work.

Am I missing a step? Or CARP does not work with USB to Ethernet adapters?

Any guidance would be much appreciated.

Thanks!


----------



## SirDice (Jan 29, 2020)

tpfiler said:


> When testing CARP my PC takes its Master role as intended but both ports on the laptop stay in the *CARP INIT* phase instead of the intended *CARP Backup*.


Both ethernet interfaces need to be connected to a switch, they need to be able to communicate with each other (multicast).




tpfiler said:


> Or CARP does not work with USB to Ethernet adapters?


The fact they are USB is irrelevant.


----------



## tpfiler (Jan 29, 2020)

SirDice said:


> Both ethernet interfaces need to be connected to a switch, they need to be able to communicate with each other (multicast).
> 
> 
> 
> The fact they are USB is irrelevant.




Thank you for your kind reply SirDice 
I forgot to mention that they are connected to two separate dummy switches (Netgear Model GS108). Perhaps these switches cannot handle multicast? I will double check.


----------



## SirDice (Jan 29, 2020)

tpfiler said:


> I forgot to mention that they are connected to two separate dummy switches (Netgear Model GS108).


Are they connected to each other?



> Perhaps these switches cannot handle multicast? I will double check.


Possible but I doubt that.


----------



## tpfiler (Jan 29, 2020)

SirDice said:


> Are they connected to each other?
> 
> 
> Possible but I doubt that.




SirDice I am using one switch for one network and the other switch for another network. The PC and laptop are both connected to the same switch of the respective network. They were able to ping each other which tells me unicast works. As CARP is multicast I have a feeling the switch does not support multicast. 

In any case, I am going to try this with two different 3750 Cisco switches and report back with what I find. Thank you!


----------



## tpfiler (Jan 29, 2020)

tpfiler said:


> SirDice I am using one switch for one network and the other switch for another network. The PC and laptop are both connected to the same switch of the respective network. They were able to ping each other which tells me unicast works. As CARP is multicast I have a feeling the switch does not support multicast.
> 
> In any case, I am going to try this with two different 3750 Cisco switches and report back with what I find. Thank you!



SirDice 
I configured the cisco switches to have 2 separate networks. But I still have the same issue. I also did a tcp dump of respective ports in the PC and Laptop. The laptop can see the vrrpv2 advertisements from the *PC to 224.0.0.18* but the PC can only see its own advertisements to 224.0.0.18, no advertisements from the laptop. I am assuming the laptop can see the PCs advertisements because it already is the *Master *and I did not set up preempt but at the very least the laptop should become *Backup *but it does not. It just stays in *CARP INIT.*

Any ideas of what could be wrong with the laptop setup?


----------



## SirDice (Jan 29, 2020)

tpfiler said:


> I configured the cisco switches to have 2 separate networks.


What do you mean with "2 separate networks"? Broadcast domains? IP subnets?



tpfiler said:


> I am assuming the laptop can see the PCs advertisements because it already is the *Master *and I did not set up preempt but at the very least the laptop should become *Backup *but it does not.


No, each node in a group must be able to send/receive the CARP multicast, their state has nothing to do with it. One of them is stuck in "Init" because this communication is failing. 

Use one interface on the laptop and one interface on the desktop on one and the same network. Figure this one out first. Then add the second interface and second network in order to turn the desktop/laptop combo into a high-availability (active/passive) firewall/router. I have a feeling you're trying to run before you're able to walk.


----------



## tpfiler (Jan 29, 2020)

SirDice said:


> What do you mean with "2 separate networks"? Broadcast domains? IP subnets?
> 
> 
> No, each node in a group must be able to send/receive the CARP multicast, their state has nothing to do with it. One of them is stuck in "Init" because this communication is failing.
> ...




SirDice
Thank you very much I found my issue. It was the use of a usb extender. I used another laptop and setup a freebsd vm in virtualbox and used the same USB to Ethernet port adapters and it worked beautifully. Both went from INIT -> Backup -> Master or just from INIT -> Backup. I also test them flip flopping in opposite directions and mix and matched, they worked great.

Thank you for your kind help in this. Much appreciated!!

P.S. Do not use a USB data hub for CARP things, it does not perform as you would think. Lesson learned!


----------



## LVLouisCyphre (Jan 29, 2020)

FYI, with dumb devices and hubs, multicast traffic is (or should be) treated as broadcast.

Keep in mind that USB 1.0 and 2.0 run at half duplex at 12Mbps and 480Mbps respectively which is why your GbE USB adapters are USB 3.0.  If the USB hub is 2.0 then that's the issue.  USB like PCIe is fully backwards compatible in both directions.

If you're running GbE USB adapters, get rid of all of your USB 1.0 and 2.0 hubs as you will have these strange problems again or ensure you're plugging in your USB 3.0 devices only into USB 3.0 ports.


----------

