How to repurpose the device USB port

The beaglebone black has a device USB port (for connecting to some host, AKA another linux box or windows to be seen by the gadget driver/windows driver as a peripheral) and a host USB port (say I could plug a USB WiFi adapter into this if I wanted to configure wireless on the beaglebone black).

I’d like to modify the driver for the device USB port so it provides different vendor strings, and disable the network side of it. The idea is that when the beaglebone is plugged into a host machine it is identified by my unique vendor strings and to the host machine, loading my driver/udev file on the host machine rather than the manufacturers. Device side I would use the serial devfile to send/receive information to/from the host so much of the device code should be reusable.

I suspect the USB driver is compiled into the kernel rather than loaded as a module (nothing obvious stuck out in lsmod), so I’m going to start poking around there but I though I’d start a discussion and seek any insight someone may be willing to share on this. I’ve already enabled the ethernet port so I can maintain contact with the device. Unfortunately my distribution of linux is bleeding edge and apparently the crosscompile tools I need haven’t made it into packages yet. I know very little about all of this though so please, if I’ve said anything blatantly false let me know!

Thanks.