Поторопился...

похоже, не устанавливаются как нужно настройки реального порта

пока тестировал, так все красиво было
итак.
нужно настроить реальный порт на 115200, без CTS/RTS
Код
static struct file* open_port (void)
{
struct file* port;
struct tty_struct *tty;
mm_segment_t oldfs;
oldfs=get_fs();
set_fs(KERNEL_DS);
port = filp_open(PHY_TTY, O_RDWR | O_NONBLOCK, 0666);
if (port == NULL)
{
printk(KERN_ERR "PORT: can't open PHY port '%s'\n", PHY_TTY);
goto exit;
}
tty=(struct tty_struct*)port->private_data;
tty->termios.c_cc[VTIME] = 20;
tty->termios.c_cc[VMIN] = 0;
tty->termios.c_cflag &= ~PARENB;
tty->termios.c_cflag &= ~CSTOPB;
tty->termios.c_cflag &= ~CSIZE;
tty->termios.c_cflag |= CS8;
tty->termios.c_cflag |= B115200;
tty->termios.c_lflag = 0;
tty->termios.c_oflag &= ~OPOST;
tty->termios.c_iflag = 0;
tty->termios.c_iflag &= ~ (INLCR | IGNCR | ICRNL);
exit:
set_fs(oldfs);
return port;
}
что не так?
сам порт открывается, даже потом что-то из него вижу, но явно не на той скорости