Arduino detected as bootable media


not certain if this is the correct forum.

I have a nice little Arduino based combination ambilight clone + IR receiver box, connected to a diskless Linux machine (Ubuntu) which is booting from USB and running a media server and other assorted toys.
The Arduino (mega) communicates over USB with the Linux box in both directions.

My only problem is that the Linux box won't boot if you power it on with the Arduino connected.
It (incorrectly) identifies the Arduino as a "boot" device - albeit one which of course has no bootable media.
So it just sits there complaining about no boot media in the device, until you physically disconnect the Arduino and power cycle it.
Which sort of ruins my WakeOnLan scheme for using this box remotely.

Any idea what I can do about this?

let the UBuntu box control the startup of the Arduino. e.g. by making a line high of a serial port RTS or so?

Not sure ...

My problem is that the Linux box boots from USB already .. it is diskless (well, spinning-diskless). It has a USB drive ...

With no arduino connected it boots from the USB drive fine.
With the arduino connected, it tries to boot from the Arduino.
So Linux never gets anywhere near starting.

just thinking out loud, are there multiple USB ports?
Did you check if there is some setting in BIOS to tweak?


yep, there are multiple USB ports (at least 4, maybe more), and no, there are unfortunately no obvious BIOS settings to allow me to disable boot on one of them.
Or only allow boot on one of them :frowning:

See if this helps:

The Linux stick (boot flash) should be identifiable by UUID



thanks, I'm aware of that UUID trick, I use it in my fstab on other systems to make sure that a given USB drive will always get mounted at the same mount point.
It's not going to help here because the problem happens long before Linux has booted.

I guess I will have to do some more research into this ... but not looking hopeful at the moment ...

Have you modified the ATmega16U2 firmware?


Default Mega boot loader, whatever that is.

The problem has to be a bug in the BIOS. The Arduino identifies itself as a USB serial device which is certainly not an appropriate device for booting an operating system.

Have you checked for BIOS updates?

Try rearranging the USB devices (change which device is connected to which port).