atmega16u2 not being seen by PC

I have a number of standalone 16u2 chips wired up for prototyping purposes and they are never seen by my PC (windows 7) when attached via USB (I do not mean they are an 'unknown device', I mean they do not even start the driver search)

For sanity check I have wired the chips identical to UNO R3 schematic and flashed (Atmel Atudio->AVR Dragon->ISP->16u2) the chips with UNO R3 usb2serial hex file provided with the arduino IDE. The chips program and verify correctly, but will still not be recognized by the OS.

To check that the firmware I write is actually executing, I altered Unojoy to blink an LED while the USB is waiting on configuration:

// Initialize our USB connection
usb_init();
while (!usb_configured()){
LEDon(RXLED);
_delay_ms(50);
LEDoff(RXLED);
_delay_ms(50);
} // wait

The LED blinks and the loop never exits.

Any idea I what I have screwed up?

Quite possible the wiring.

Triple checked against schematic and on 3 different prototypes? Perhaps if the schematic for the UNO R3 is incorrect as well as — Rheingold Heavy

But, ok, what would the likely culprit be. Or put another way, what is the minimum successful wiring to get USB working?

Have you tried using the "Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex" file?

Yes, along with many others, including one read from a working UNO. The behavior, of the USB, appears the same regardless of the firmware.

That would seem to indicate wiring (which if is incorrect, it is incorrect on the UNO schematic and the chip datasheet.... or perhaps labeling incorrect on the QFN-32 breakout) or some disable on the chip itself.

Post the schematic and layout of your board - something is wrong with one of those.

Shot of schematic attached. I am guessing it will look familiar. It is currently breadboarded, not on a PCB.

In your schematic I see no Reset circuit.

At least a 10K pullup resistor to the Reset pin.

USB lines are layout sensitive, how carefully did you connect them? You may not be able to make them work via breadboard....

Also the 16U2 doesn't come in a DIP package, are you using a TQFP breakout board? How certain are you that the soldering is doesn't have any shorts/dry joints etc?

justone:
In your schematic I see no Reset circuit.

At least a 10K pullup resistor to the Reset pin.

You are correct. I have added that, and there is no change in behavior.

BJHenry:
Also the 16U2 doesn't come in a DIP package, are you using a TQFP breakout board? How certain are you that the soldering is doesn't have any shorts/dry joints etc?

I have 3 on breakouts. If there are soldering errors, they are the exact same errors... I find that unlikely.

What do your fuses read? This is what I have on a Uno.

 $ avrdude -p m16u2 -cusbasp

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9489 (probably m16u2)

avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF)

DrAzzy:
USB lines are layout sensitive, how carefully did you connect them? You may not be able to make them work via breadboard....

How sensitive? I would expect as a differential pair, the data lines would be somewhat robust. Currently they are connected via shortish jumpers and the 22ohm resistors. Do you think a direct solder of a 22ohm resistor across pins from breakout board (USB) to breakout board (16u2) would work better?

kprims:
What do your fuses read? This is what I have on a Uno.

Yes, I also am seeing F4, D9, and FF both on my working UNO and my non-working prototype.

At this point I am getting a test PCB made with minimized USB data lines as I can find nothing else wrong.