On m'a demand� �a r�cemment, cela compl�te le thread qui s'est arr�t� vers
mars 2000.
With 2.2.16 (maybe 2.2.17+), the ltmodem.o driver supplied by Lucent (NOT
the one on linmodems.org which seems to be even older and crashing even
more) doesn't work.
-rw-r--r-- 1 root root 557724 Sep 27 13:04
/lib/modules/2.2.16/misc/ltmodem.o
59a33b43fe7a35efd20770ba84da54c8 /lib/modules/2.2.16/misc/ltmodem.o
It seems there has been a change to include/linux/tty.h between 2.2.13
(which works perfectly, apart from a few timer reinsert warnings) and
2.2.16. I have not reverted those changes, but moved them in the hope
it will work. The symptom was: cu seems to mostly work, but pppd crashes
as soon as the line discipline is inserted.
The patch:
*** tty.h.REAL Wed Sep 27 12:38:49 2000
--- tty.h Wed Sep 27 12:55:56 2000
***************
*** 277,283 ****
int alt_speed; /* For magic substitution of 38400 bps */
struct wait_queue *write_wait;
struct wait_queue *read_wait;
- struct wait_queue *poll_wait;
struct tq_struct tq_hangup;
void *disc_data;
void *driver_data;
--- 277,282 ----
***************
*** 305,310 ****
--- 304,322 ----
unsigned int canon_column;
struct semaphore atomic_read;
struct semaphore atomic_write;
+ /* [EMAIL PROTECTED]
+ * -- Those two are managed and allocated/initialized by
+ * tty, not by driver. However, putting poll_wait in the
+ * middle of the structure makes e.g. referencing of
+ * user (serial driver) data wrong. I can understand
+ * to group the structure members, however a change like
+ * this is ONLY for x going to x +1 in 2.x. Of course,
+ * you can recompile drivers, but what about binary-only
+ * drivers ? e.g. ltmodem.o (Lucent) was broken between
+ * 2.2.13 and 2.2.16. In an ideal world, Lucent would supply
+ * sources ...
+ */
+ struct wait_queue *poll_wait;
spinlock_t read_lock;
};
If you apply that patch, you must recompile your kernel, all your modules,
and not use another binary-only module. Especially you will need to
recompile the PPP modules.
I have successfully tested those changes: I can no longer make it crash.
There might be however, other problems.
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.