On Wed, 16 Sep 2009, Jason Wessel wrote: > Alan Stern wrote: > > On Wed, 16 Sep 2009, Jason Wessel wrote: > > > > > >> The first open of the usb serial HW has the termios initialized to the > >> default of 9600 baud, and this will override what ever was setup via > >> the original console initialization. > >> > > > > I don't understand. The first open of the console hardware occurs in > > console.c as part of usb_console_setup(), and it uses the baud rate > > passed in via the console options. Why does anything need to get > > saved? > > > > The initialization in console.c is done with a dummy tty structure that > is thrown away. It is thrown away because it was not connected to any > device handle. > > Any new tty that is opened defaults to 9600 baud, for the mct_u232 > driver as an example, if you boot the system with > console=ttyUSB0,115200, when mingetty starts it will inherit 9600 from > the first tty that is opened, vs reading the value from the HW. Even if > you have a pl2303 and boot with the 115200 baud, you can run "stty -a < > /dev/ttyUSB0" and you will see it reports it is running at 9600. The > pl2303 driver just happens to work because it handles the baud differently. > > I elected to save the baud because: > > 1) There was no uniform interface to read the current baud from the usb > hardware > > 2) There was no documented API for getting tty to attach when you create > the initial console. > > If there is a better way to fix this, it would be good to continue the > discussion. I guess a better approach would be not to throw away the "dummy" tty structure, thereby keeping the termios structure as well. But I don't know if this is practical. How do other serial console drivers handle this? Alan Stern -- 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