So, there is no way one can use a USB Type A Socket as a USB DEVICE. Even if you modify it some how? I don't think I'll be forced to try - but it would be nice to know what if anything can be done.
No, the hardware is different.
Yes, yes, but how do you configure it as a device port? I plugged in a cable to an OTG micro connector. I verified that pin 4 of the cable was not shorted to ground. This should signal the embedded Linux computer (a TI.COM OMAP board) that this USB port is to be a USB DEVICE. But when I plugged the other end of the USB cable (Standard Type A Plug) into another Linux computer (which should be playing the part of USB HOST) it reported "nothing". I was using the "lsusb" command.
You need to load a gadget driver on the device with modprobe.
On the BeagleBoard with Angstrom, you can use
cd /sys/devices/platform/musb_hdrc
cat mode
to find out if an OTG port has switched to device mode. I don't know if your board has that or something similar.
The OMAP board I am using has 2 Type A USB 2.0 Sockets, 1 USB 2.0 micro Socket, 1 USB 3.0 micro Socket. If I did an "modprobe g_multi.ko" to install the Gadget Multiple USB DEVICE driver - well - I don't see how to tell it which physical USB port is to be used as the DEVICE USB port. It would be helpful to see the step-by-step for setting up, say, a USB Serial DEVICE on a specific physical USB port on an embedded Linux box.
modprobe loads the driver. The descriptors the device returns on enumeration determine the device function.