Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

USB hot-plug doesn't work on MKRZero? #409

Open
KenLagoni opened this issue May 16, 2019 · 0 comments

Comments

@KenLagoni
Copy link

commented May 16, 2019

Is this a bug in the Arduino USB code or am I doing something wrong?

The problem can very easily be recreated in a simple hello world sketch

With the latest Arduino installed (1.8.9):
void loop() {
// put your main code here, to run repeatedly:
delay(1000);
Serial.println("Hello World!");
}

Then:

  1. Upload the sketch.
  2. Open the COM port (I use Putty) and see the "Hello World" text.
  3. Power the MKRZero from external source (+5V on Vin).
  4. Disconnect USB cable to PC and close Putty terminal.
  5. Reconnect USB and open COM port (Again I use putty).
  6. Verify that the "Hello World" text is received.
  7. Try sending data to the Arduino by typing in the putty window.
    Step. 7 will result in the serial program "crashing" with the error: "Unable to write to serial device".

I first saw this problem in some application code (C#) I was writing, but then traced it all the way back to this simple test.

The Arduino serial monitor doesn’t report any problem, but it is clear (if the Arduino is set to loop back received data) that the data is not sent.

The only way I found to get out of this problem, is to power the hardware OFF and then ON Again (which is a no go for my application).

Perhaps the USB code is missing some sort of re-init when hot-plugged?

I will try and see if I can work around this with USB.detach / attach or something... but it would be nice to get this looked at by some more skilled programmers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
1 participant
You can’t perform that action at this time.