o kernel bug (?): TIOCMIWAIT ioctl may wait on a port that is shutdown by serial driver. A fix suggested for now (serial.c): @@ -1074,6 +1088,7 @@ #endif save_flags(flags); cli(); /* Disable interrupts */ + wake_up_interruptible(&info->delta_msr_wait); /* * First unlink the serial port from the IRQ chain.. @@ -2000,6 +2015,8 @@ cli(); cnow = info->icount; /* atomic copy */ sti(); + if (cnow.rng == cprev.rng && cnow.dsr == cprev.dsr && cnow.dcd == cprev.dcd && cnow.cts == cprev.cts) + return -EIO; if ( ((arg & TIOCM_RNG) && (cnow.rng != cprev.rng)) || ((arg & TIOCM_DSR) && (cnow.dsr != cprev.dsr)) || ((arg & TIOCM_CD) && (cnow.dcd != cprev.dcd)) || o New command: dialer phone-number #times [modem-dev] Account for local PTT differences as much as possible (possible?). o Allow specification of day-of-week & time ranges for each rule; eg: 035;1000-1230,2300-0000 o Identify call waiting if phone is busy (if it is data/fax-busy call waiting should be normally disabled - so no way to identify).