mkr1000 with linux

I am running Ubuntu 16.04 and using Arduino IDE 1.8.9.
I am using the Arduino mkr1000. I'm not sure what I need to do but this is almost insane.
It does this thing when it works where it changes between ACM0 and ACM1 so almost every upload the port needs re-selected.
Sometimes it has more character. I am currently able to get it to show up using the method of pressing reset twice rapidly. However after the upload states it is done and "cpu reset" the device disappears.
I am using the built in LED to indicate the start of the sketch running.
When it drops off the com port it is inaccessible and doesn't light the led at the beginning of setup. Pressing reset once has no effect. Only the pressing twice has any effect, but then the mkr1000 is in programming mode? and the serial port wont open a terminal.

Please help, I have looked and can't find any information that helps.

This time it was due to calling serial.print before doing serial.begin.

That said the connection can still be finicky.

Update on Status:
The device still has intermittent connection issues:

When an upload succeeds one of two things happens

  • The device changes from ACM0 to ACM1
  • After the "CPU" reset the device drops off the /dev list for a moment.

When uploading and the device is recognized it can take 2-5 tries to get the device to upload without needing to press the reset button twice.

Currently I am using an external power supply, if only using USB power(from a USB3.0 port). The device seems to fight uploads more.

I have updated the Arduino file in the board manager as well as using the most up to date firmware on the mkr1000.

Any insight would be appreciated.