Originally Posted by knc1
What that says is the USB port is put into 'serial mode' on the loading
of the kernel's g_serial module.
The Kindle-3.2.1 system build does not include usb_modeswitch, might be a nice thing to add to the system images.
Minor correction -
What that says is that it sends an even notification using lipc to anything that is listening for the event.
Note: just gotta get rid of that propritary lipc thing using an opensource equivalent.
(Contractors often do that, re-invent standard software - it pays more.)
But the root cause is the same, loading of the kernel module.
Don't see anything in the gaget driver itself that sets the line speed:
root:k321$ modinfo ./lib/modules/2.6.26-rt-lab126/kernel/drivers/usb/gadget/g_serial.ko
author: Al Borchers
description: Gadget Serial
vermagic: 2.6.26-rt-lab126 mod_unload modversions ARMv6
parm: read_q_size:Read request queue size, default=32 (uint)
parm: write_q_size:Write request queue size, default=32 (uint)
parm: write_buf_size:Write buffer size, default=8192 (uint)
parm: use_acm:Use CDC ACM, 0=no, 1=yes, default=no (uint)
Must be set at the usb-serial level in the stack,
and I don't recall what those limits where in this old a kernel version.
Since that module depends on (and modprobe will thus pre-load it) arcotg_udc, and there is a udev notification for that event (the loading of the dependant module)....
Anything listen for either (or both) events should certainly "get the word" (msg).