Change string for USB-Serial device (Mega2560)

Its easy to change the string on the FTDI-based Ardunios with the Dangerous Prototype's pirate-rename application. Having the abililty to apply custom hardware names certainly makes it easier to figure out which Arduino you'd like the talk to in the case that you have more than one.

However, since the Mega 2560 does not have a FTDI chip, I'm looking for information about how I can change the identifier string it reports via the USB-Serial connection. For instance, it now appears as /dev/tty.usbmodem1d21. I'd like to at least change the 1d21 if not the entire string after "usb".

How would I accomplish that? Is it in the EEPROM? If so, which location?

The hardware page for the Mega describes the firmware for the ATmega16U2 on the board which provides USB communication. That will lead you to the source code and Descriptors.c which contains the device identification strings.

Looks like a lot of effort and an excellent way to mess up your board if you make a mistake.

Ah - excellent pointer. After reading the comments in that header (about not assigning a identifier in firmware), I realized I should try plugging it into a different host. And sure enough, the generated device string was different.

I'll redirect my research to figure out how to rename that device at the host OS level.

Thanks again!