Was it ever working, or has it always not been detected?
Make sure the USB cable is fully inserted into the board and your computer.
Try a different USB cable. Your cable might be damaged, defective, or charge-only. If the data lines are not connected, but the power lines are connected, that can cause the symptoms you describe (board is powered, but no serial port).
The CP2102 is a self contained, no external xtal etc., "hardware" USB to Serial bridge and does not use firmware, at least not programmable. It is 3.3V operating.
It has a 1K onboard EEPROM which can be programmed with custom Vendor ID (VID), Product ID (PID), Product Description String, PowerDescriptor, Device Release Number and Device Serial Number as desired for OEM applications. It does come with a default set of values which do not NEED to be changed. (It seems to be recommended, however, for OEM use).
As such, I doubt reprogramming the values will effect its functionality.
I use the CP2104 which has an EPROM which can be programmed for various ancillary options (like enabling TX/RX LEDS). It can, however, only be programmed once - no mistakes allowed.
The CP2102 is programmable using Silabs Simplicity Studio. I've changed the VID/PID of the chip, activated on of its GPIOs to so it can drive an RS485 transceiver directly. It's quite easy, and is done in a graphical environment
Well, they (Silabs) do actually have a command-line interface for batch programming that I've used. So in theory, it should be possible to at least create an Arduino core that lets you load different binary files to it. However, I wouldn't bother
westfw:
Not so much “re-programmed” as “re-configured”?