Charcoal filters can sorta go bad, they have two or three check valves that control the flow. The concept is to absorb excess gas and return it to the tank or as vapor back into the combustion process when possible. They store the fuel with activated carbon, which provides a lot of surface area in a small volume. If you continually saturate the carbon that also ruins it eventually.
Diagnosis is to put low pressure on the tank port and listen for the check valve to click open and close when you remove the pressure. It should be a distinct click. You then put low pressure on the purge port (the one to the throttle body) and should get no flow from either the tank or atmospheric ports. If it fails either of these test the book says to replace it.
But, you can clean them sometimes by using the purge process. My '91 FSM says to purge a saturated can you use 43 psi of air pressure on the pipe that goes to the tank, plugging the purge pipe to the throttle body and allowing air to flow from the atmospheric port on the bottom (this is normally where the smell comes from).
Apparently if you're careful you can spray carb cleaner into the tank and purge ports to de-gum the the check valves. Never tried this, so don't know if it works or not.