These are the answers to the frequently asked questions.

Device Recognition

. Not recognized as a USB device when connected.
A. USB connector connected in wrong way.
A. D- line is pulled-down instead of pulled-up.
A. Ceramic resonator is used.
    It works at the most cases. However, the frequency deviation may not meet the USB clock requirement. Use the crystal oscillator instead.
A. Zener diodes are used on signal lines.
    Try dropping the Vcc voltage to 3.3V, instead of using Zener diodes. The Zener diodes (or blue LEDs) on the USB lines make the rising slope of AVR driven signals gentle, and they lower the cross-over voltage. However, the effect depends on device characteristics. It may fail to work.
A. Fuse bits are confused a bit.
    Check the Readme.txt and understand the contents. Some writing tools use the different style.
            Engbedded AVR Fuse Calculator

. Windows 7 RC doesn't start the driver installation.
A. Install the driver manually. Open the Device Manager and right click "USB-232" or "USB-PIO", then select "Install".

The installed driver does not work.
A. If the blue screen appears when connected, the driver has not been installed correctly. Remove the current driver and re-install it. Use USBDeview to clean-up the driver (Select all USB-232/USB-PIO device(s), then right-click and Uninstall). Also, apply the latest Service Pack to Windows (e.g. SP3 for XP).
A. Some combinations of PC, USB host controller, and hub may cause communication problem. Try on other PC and hub.

"lowcdc.vbs" fails to switch the mode.
A. If your local language uses comma as a decimal point character, use lowcdc.vbs in the newest avrcdc_inf.zip.

Communication Problem

. Unable to communicate through Hub.
A. If you connect a USB 2.0 High-speed Hub to a USB 2.0 High-speed port of your PC, the low-speed bulk transfer fails because of the transaction translator.
     Switch to "Stable" mode by lowcdc.vbs.
     Use USB 1.1 Hub, or insert USB 1.1 Hub between PC and USB 2.0 Hub.

. Terminal software can not send nor receive characters.
A. Check the settings (baudrate, flow-control, special key definition, etc). Try other terminal software.

. The transfer speed is slow.
A. Switch to the high-speed mode using "lowcdc.vbs" if you need the baudrate higher than 9600bps.
Check the terminal software settings. The delay between characters slows the speed.

. The transfer data is corrupted between other MCU.
A. If the MCU's Vcc is higher, use registers and diodes to stop the leak current.

. Failed to reconnect without closing the COM port.
A. The broken file handle remains. Close the port before detaching the device.


. Failed to build the source code.
A. Place the source into the path which does not contain non-ASCII characters. There is a trouble in processing Makefile.
If you could not open the project on AVR Studio, create the new project and register all files and parameters from scratch.

. Failed to update device driver.
A. It is a bit difficult to clean the previous driver on Windows XP. Follow the instructions in Readme.txt.

. How to implement control signals (DTR, DTS, RTS, CTS)?
A. If you need exchange the state with the host, implement the mechanism according to the CDC protocol standard. You may need to use notification message.
If you only need handshaking with other MCU, check the remains of character buffer, and send/receive RTS/CTS.

. I modified the code/schematic for my own purpose. It doesn't work. Help me. / I need add a function. Tell me how to do. Otherwise, make program for me.
A. It is your project. Solve your problem by yourself.

. Can I use AVR-CDC for our commercial product?
A. Consider carefully with the V-USB's license agreement. I can not help your business. If you do not have a skill to prepare driver for the future OS, you shouldn't.