Hi,
On a recently purchased Arduino MEGA2560 R3 clone (Hiduino) board, I cannot connect to the virtual COM port its USB interface provides. The board appears to properly enumerate and a COM port is shown (in Windows Device Manager, USB View, USBDeview, Hyperterm, and any number of other applications that provide access to a PC serial port).
When attempting to open the COM port in Hyperterm, it reports
"Unable to open COMxx. Please check your port settings"
When attempting to open the COM port with the Win32 API function "CreateFile()", it fails and the "GetLastWin32Error()" function returns error code 2
"The system cannot find the file specified."
When attempting to open the COM port with .Net's SerialPort.Open(), the exception returns
"The port COMxx does not exist."
I do not have this problem with another Arduino MEGA2560 R3 board that I have.
In order to try to resolve this problem, I have uninstalled and re-installed the USB driver for this device. I have also used Atmel's Flip tool to reprogram the firmware into the ATmega16U2 USB microcontroller on the Hiduino board with the firmware delivered with the Arduino development environment, but the results are the same - a COM port enumerates but cannot be connected to with any application.
I have also confirmed that the ATmega2560 microcontroller is properly working by programming code into it via its ICSP programming port. I have measured the +5V and the +3.3V voltages with both USB power and external power and the voltages are correct. From what I can tell, everything on the board is functioning correctly except for the ability to connect to the virtual COM port it presents.
I am not a USB expert, but how is it that the USB communications can work correctly to apparently enumerate properly, reprogram the USB device via USB using DFU, but
not provide the implemented CDC (virtual COM port) functionality?
The question I have is: Is this a hardware problem with this new board?
Thanks,
Dan