On 2016-03-14 11:31, bruce m beach wrote:
Hello Greg
I believe I can change the Device descriptors in firmware, upload the new
firmware and reboot the stick but wouldn't the usb subsystem have the old
device descriptor from the previous hotplug/system boot?
Nope, the kernel reads the descriptor from the device when it is connected,
you can check this yourself by doing 'lsusb -v' when it is plugged in.
I can't make this out. Consider the following:
1. Plug in the device but do -> not <- load the driver. (ie no firmware but
code is running in rom)) Do a lsub -v. You get the first device descriptors.
Your device is in download mode and should have a unique usb id for that
mode.
2> Attach the driver and firmware is uploaded, adds more endpoints, and
completely rearanges the device descriptor. Do a lsusb -v. Has the host usb
subsystem automatically done a new scan or do you still get the original
lsusb -v.
Your device should do a reset after firmware is uploaded and it should
also change its usb id to reflect that it does not have the same
function(s) as before.
The kernel will see the disappearance and reappearance of the device on
the same host port and will rescan the device descriptors.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html