I just tried with another cable: the microcontroller works with a very short cable or from a powered hub. Basically it reboots because of a brown-out due to a power consumption that is at the limit of what a plain usb port can deliver.