EtherChannel Won't Bundle (%EC-5-CANNOT_BUNDLE)
%EC-5-CANNOT_BUNDLE means a member port's configuration does not match the others, so it is suspended instead of bundled. EtherChannel requires every member to be identical in speed, duplex, switchport mode, native VLAN, allowed VLAN list and STP cost.
What you see
%EC-5-CANNOT_BUNDLE2: Gi0/2 is not compatible with Gi0/1 and will be suspended (trunk mode of Gi0/2 is dynamic auto, Gi0/1 is trunk)
Why it happens
An EtherChannel presents several physical links to STP as one logical interface. For that to be safe, every member must behave identically — otherwise frames of one VLAN could take a different path than another and arrive out of order.
IOS enforces this strictly. The moment one member differs, that port is suspended and the syslog names the mismatch. The most common culprits are: one port left at dynamic auto while the other is a hard trunk; different switchport trunk allowed vlan lists; a speed/duplex difference; or mismatched channel protocol (LACP on one side, PAgP or static on on the other).
How to confirm it
show etherchannel summary show etherchannel port-channel show interfaces Gi0/1 switchport | include Mode|Native|Trunking VLANs show run interface Gi0/1
In show etherchannel summary, the flags tell you everything: (P) bundled, (s) suspended, (D) down, (I) standalone. Anything other than (P) on a member is your problem.
The fix
! Configure the members identically, then add them to the channel interface range GigabitEthernet0/1 - 2 switchport mode trunk switchport trunk allowed vlan 10,20,30 speed 1000 duplex full channel-protocol lacp channel-group 1 mode active ! interface Port-channel1 switchport mode trunk switchport trunk allowed vlan 10,20,30
Always configure the physical members first, then the port-channel interface to match. Changing the Port-channel afterwards pushes config down to members automatically; changing one member by hand is what breaks it again.
How to stop it happening again
Use interface range for every EtherChannel change so members can never drift apart. Pick one negotiation protocol (LACP active is the safe default) and use it everywhere.
Questions people ask
What is the difference between suspended and standalone?
Suspended (s) means the port failed the compatibility check and is not passing traffic. Standalone (I) means LACP got no response from the far end, so the port works as an ordinary independent link.
Does the far-end switch need matching config too?
Yes. Both switches must agree on the allowed VLANs, trunk mode and channel protocol. LACP active on one side and PAgP on the other will never bundle.
Related reading
Etherchannel ExplainedHow To Configure EtherchannelLab Etherchannel LacpLink Aggregation Explained
Reading the fix is not the same as doing it
Every fault on this page can be broken and repaired on real Cisco routers and switches in our Ahmedabad lab — which is how it stops being theory. Come and see the rack before you pay anything.