04-24-2025 12:28 PM
Good afternoon,
Recently it was required to rebuild the PKI certificate and trustpoints for our cisco WLC (9800-CL). This was due to our internal audit team having concerns that the intial common name was the same as the trustpoint, and not matching the host name. In addition, the attached IP was incorrect.
To correct this i followed cisco documention noted here: https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/config-guide/trustpoints/b-configuring-trustpoints-on-cisco-catalyst-9800-series-controllers/c-workflow-to-configure-a-trustpoint-for-a-third-party-certificate-on-catalyst-9800.html
I created a new trust point with a new pair of RSA keys, careful to make the CN match to the device name. As noted in this document:
Domain Name/Common Name
"Refers to the subject to which the certificate will be issued to. The fully qualified domain name (FQDN) of the controller. This must match exactly what you type in your web browser to reach the controller, or you will receive a name mismatch error. Depending on what your certificate requirement is for (webauth, webadmin, AP join) You must specify either the virtual IP address of your 9800 controller, the hostname associated with the virtual IP address of your 9800 controller, the management IP address or the hostname associated with the management IP address."
Since we are using the self signed certificate for the AP joins (ala wireless config vwlc-ssc key-size 2048 signature-algo sha256 password x), i believed this TP was for the webadmin and therefore created the CN with the hostname. Since our G1 is our WMI, and it is a VM therefore that IP is a virtual management IP address.
I then used "crypto pki authenticate trustpoint" and created a trustpoint for our coporate root CA and our local interi CA. I trusted the intermediate CA to my new trustpoint, since it's the one doing the singing. One this was done i issued "crypto pki enroll trustpoint" on that trustpoint and provided the terminal (on screen) enrollment to the team with CA access. Once i received back my signed certificate, at which point i issued "crypto pki import trustpoint certificate" and pasted in the provided signed certificate.
This was accepted without issue. I can run "show crypto pki certificates <trustpoint>" and see the certificate, now with proper hostname and ip address. I can also see my root and int cas on the respective trustpoints.
Since i wanted to get web admin going again, i issued "ip http secure-server trustpoint" to my int. trustpoint and regained webadmin after AAA config at cli. In order to get AP's back online, i then issued command "wireless config vwlc-ssc key-size 2048 signature-algo sha256 password <pw>", though i stepped up the key size and sha. APs then were able to rejoin via CAPWAP and discover the controller.
However, APs now display wlan_crypto_encap:key is null, along with a constant clean air issue. They will hang at:
[*04/24/2025 18:22:56.8175] CLEANAIR: Slot 0 enabled
[*04/24/2025 18:23:00.8234] CLEANAIR: Slot 0 config change
[*04/24/2025 18:23:00.8242] CLEANAIR: Slot 1 channel change chk
[*04/24/2025 18:23:18.9035] CLEANAIR: Slot 0 enabled
[*04/24/2025 18:23:18.9048] CLEANAIR: Slot 2 channel change chk
Or possibly at ***cap stop for radio 1*** while inserting "wlan_crypto_encap:key is null". So clearly, i've broken something somewhere. Is there a field the password for the self-signed certificate should be added? Have i over looked a step somewhere?
Thank you for any assistance.
Solved! Go to Solution.
04-26-2025 10:37 AM
I have gone through your STW and looks like the config is not upto the mark(& that is potentially the source of your Cleanair noise). Here is why -
1. Your APs are part of Site tag 'NNSY' - Based on this your APs are in local mode. ======> So you need to decide first whether you want your APs to be in local mode or flex mode depending on your design.
2. Your APs are part of Policy Tag 'SYLAN-S1F-POLTAG' and this is how the config is -
wireless tag policy SYLAN-S1F-POLTAG
description "SYLAN Site 1 Flex Policy Tag"
wlan NNSY policy SYLAN-S1F-POL
wlan NNSY_NMCI policy SYLAN-SF1-POL-NMCI
wireless profile policy SYLAN-S1F-POL
aaa-override
no central dhcp
no central switching
description "SYLAN Site 1 Flex Policy"
dhcp-tlv-caching
http-tlv-caching
ipv4 arp-proxy
ipv4 dhcp server 157.141.252.65
ipv4 flow monitor wireless-avc-basic input
ipv4 flow monitor wireless-avc-basic output
ipv6 flow monitor wireless-avc-basic-ipv6 input
ipv6 flow monitor wireless-avc-basic-ipv6 output
nac
radius-profiling
session-timeout 86400
vlan MWE_Tablets_L2
no shutdown
wireless profile policy SYLAN-SF1-POL-NMCI
aaa-override
no central dhcp
no central switching
description "SYLAN Site 1 Flex Policy NMCI"
dhcp-tlv-caching
http-tlv-caching
ipv4 arp-proxy
ipv4 dhcp server 157.141.252.65
ipv4 flow monitor wireless-avc-basic input
ipv4 flow monitor wireless-avc-basic output
ipv6 flow monitor wireless-avc-basic-ipv6 input
ipv6 flow monitor wireless-avc-basic-ipv6 output
nac
radius-profiling
session-timeout 86400
vlan NMCI_Pool_2_L2
no shutdown
This is where the conflict is happening. Your APs are in Local mode based on your site tag config, however you have disabled central switching inside the policy porfile. You need to fix this one up.
Because of the above conflict, following logs are getting generated for the APs -
Apr 24 15:25:34.761: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-RCR3 slot:1 wlan 22 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:19.584: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:40.517: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode IW9167EH-B slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:52.189: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:58.327: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 17:24:31.868: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 17:38:13.198: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 18:09:33.214: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-RCR2 slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 18:09:39.396: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 18:22:26.174: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 19:38:45.694: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode IW9167EH-B slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 19:42:15.465: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 12:17:43.189: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 13:23:38.068: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:27:54.102: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:35:22.634: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:48:17.992: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:49:52.132: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:51:03.513: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:54:02.198: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 2 configuration not sent to ap for policy profile SYLAN-SF1-POL-NMCI. Enable Central Switching.
Apr 25 16:42:32.625: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 16:42:45.513: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 2 configuration not sent to ap for policy profile SYLAN-SF1-POL-NMCI. Enable Central Switching.
Coming back to the original issue where AP is flooding 'wlan_crypto_encap:key is null' - as guessed before, I can see both the WLANs are having PMF set to optional which I don't think is needed based on your config (unless you have some specific requirement). So disable PMF and see whether that helps you.
04-24-2025 08:11 PM
I don't believe reconfiguring certificate/trustpoint has anything to do with Cleanair & flooding of 'wlan_crypto_encap'. I also feel there is no co-relation between CleanAir & wlan_crypto_encap logs at this point.
For CleanAir, I would suggest you to go back and check if this is coming from a specific bunch of APs.. if yes, are those surrounded with too many interferers. Also playing with DCA interval + ED-RRM settings can give you a bit of relief.
wlan_crypto_encap - needs proper validation. There could be multiple reasons for that, ex - PMF. There might be some need for OTA captures as well.
04-25-2025 06:03 AM
Hi saikat,
The clean air issue is across all deployed AP's. I have checked multiple this morning and all are hanging at:
[*04/25/2025 12:18:08.7923] set cleanair [slot0][band0] enabled
[*04/25/2025 12:18:08.8116] set cleanair [slot1][band1] enabled
[*04/25/2025 12:18:08.8162] set cleanair [slot2][band2] enabled
[*04/25/2025 12:18:12.3630] CLEANAIR: Slot 0 enabled
[*04/25/2025 12:18:16.4297] CLEANAIR: Slot 0 config change
[*04/25/2025 12:18:16.4305] CLEANAIR: Slot 1 channel change chk
[*04/25/2025 12:18:33.9523] CLEANAIR: Slot 0 enabled
[*04/25/2025 12:18:33.9533] CLEANAIR: Slot 2 channel change chk
in multiple buildings, where there are no other wi-fi present (and no other major emitters that i am aware of) and which were working fine previously. I do suspect that something was possibly changed in a join profile that may the be the cause. I have tried changing some DCA intervals this morning with no effect.
04-25-2025 06:26 AM
If you can share 'show tech wireless' from wlc and 'show tech' from 2 such noisy APs, I can have a look.
04-25-2025 10:14 AM - edited 04-28-2025 05:00 AM
Sure, do you have a drop box show tech would be a big post. I will also attach it here. I was working on some of the profiles/tags and noted it looked like someone had enabled some flex things leaving central switching disabled but local mode on, i was working to fix that and got the AP's up and running without the noise, but then the radios weren't broadcasting.
In the process i had disabled 'private' capwap discovery under the join profile, and that broke capwap. Now it's back on and the noise is back. I can't get into those AP's once they lock up on clear air with a break to run any commands, i will try and reboot one.
04-25-2025 10:27 AM
- @jbulloch You can feed show tech w.txt into Wireless Config Analyzer for analysis,
M.
04-26-2025 10:37 AM
I have gone through your STW and looks like the config is not upto the mark(& that is potentially the source of your Cleanair noise). Here is why -
1. Your APs are part of Site tag 'NNSY' - Based on this your APs are in local mode. ======> So you need to decide first whether you want your APs to be in local mode or flex mode depending on your design.
2. Your APs are part of Policy Tag 'SYLAN-S1F-POLTAG' and this is how the config is -
wireless tag policy SYLAN-S1F-POLTAG
description "SYLAN Site 1 Flex Policy Tag"
wlan NNSY policy SYLAN-S1F-POL
wlan NNSY_NMCI policy SYLAN-SF1-POL-NMCI
wireless profile policy SYLAN-S1F-POL
aaa-override
no central dhcp
no central switching
description "SYLAN Site 1 Flex Policy"
dhcp-tlv-caching
http-tlv-caching
ipv4 arp-proxy
ipv4 dhcp server 157.141.252.65
ipv4 flow monitor wireless-avc-basic input
ipv4 flow monitor wireless-avc-basic output
ipv6 flow monitor wireless-avc-basic-ipv6 input
ipv6 flow monitor wireless-avc-basic-ipv6 output
nac
radius-profiling
session-timeout 86400
vlan MWE_Tablets_L2
no shutdown
wireless profile policy SYLAN-SF1-POL-NMCI
aaa-override
no central dhcp
no central switching
description "SYLAN Site 1 Flex Policy NMCI"
dhcp-tlv-caching
http-tlv-caching
ipv4 arp-proxy
ipv4 dhcp server 157.141.252.65
ipv4 flow monitor wireless-avc-basic input
ipv4 flow monitor wireless-avc-basic output
ipv6 flow monitor wireless-avc-basic-ipv6 input
ipv6 flow monitor wireless-avc-basic-ipv6 output
nac
radius-profiling
session-timeout 86400
vlan NMCI_Pool_2_L2
no shutdown
This is where the conflict is happening. Your APs are in Local mode based on your site tag config, however you have disabled central switching inside the policy porfile. You need to fix this one up.
Because of the above conflict, following logs are getting generated for the APs -
Apr 24 15:25:34.761: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-RCR3 slot:1 wlan 22 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:19.584: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:40.517: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode IW9167EH-B slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:52.189: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 15:31:58.327: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 17:24:31.868: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 17:38:13.198: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 18:09:33.214: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-RCR2 slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 18:09:39.396: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 18:22:26.174: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 19:38:45.694: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode IW9167EH-B slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 24 19:42:15.465: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-R8-NetworkDevelopment slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 12:17:43.189: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 13:23:38.068: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 116 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:27:54.102: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:35:22.634: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode Bulloch-TEST slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:48:17.992: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:49:52.132: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:51:03.513: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 14:54:02.198: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 2 configuration not sent to ap for policy profile SYLAN-SF1-POL-NMCI. Enable Central Switching.
Apr 25 16:42:32.625: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 1 configuration not sent to ap for policy profile SYLAN-S1F-POL. Enable Central Switching.
Apr 25 16:42:45.513: %APMGR_TRACE_MESSAGE-3-WLC_GEN_ERR: Chassis 1 R0/0: wncd: Error in Local mode B9-NETMAN-R8C slot:0 wlan 2 configuration not sent to ap for policy profile SYLAN-SF1-POL-NMCI. Enable Central Switching.
Coming back to the original issue where AP is flooding 'wlan_crypto_encap:key is null' - as guessed before, I can see both the WLANs are having PMF set to optional which I don't think is needed based on your config (unless you have some specific requirement). So disable PMF and see whether that helps you.
04-28-2025 05:12 AM
Thanks Saikat,
I had switched the central switching thinking that was the issue shortly after posting but it's good to have it confirmed. I'am going to take a look at the DHCP and PMF frames now.
04-27-2025 02:43 PM
Also you are running 17.9.6 but have not installed any APSP.
As per TAC recommended link below you should have the latest APSP (currently APSP3) installed.
Also take note that 17.9 is already End of Software Maintenance (no more bug fixes) so you should be planning your move to 17.12 or 17.15.
https://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/ios-xe-17/ios-xe-17-9-x-eol.html
As Marce says you should always check your STW with the Config Analyzer - no need to ask @Saikat Nandy to do that for you - you can do it yourself (link below) and you should always do that when you've been making config changes. It will identify many types of common mistakes and config inconsistencies as well as a number of best practice items.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide