Hi Alan,

On Wednesday 16 November 2005 21:07, Alan Stern wrote:
> On Wed, 16 Nov 2005, Duncan Sands wrote:
> 
> > The problem here is the way ATM connections are opened: you specify
> > a device number, called the interface number, as well as some other info.
> > Alternatively, you can specify ATM_ITF_ANY instead of a device number,
> > and all devices will be queried until one is found that is prepared to
> > open the connection.
> > 
> > With the speedtouch USB modems, the problem people usually see is:
> > 
> > (A) for normal people, the modem is the only ATM device (and there's
> > only one modem).  Thus this is ATM device zero.
> > 
> > (B) people connect using pppd; pppd doesn't support ATM_ITF_ANY, so
> > most people specify that the connection should be to device number 0.
> > pppd is usually run from a hotplug or init script.
> > 
> > (C) at some point the modem spontaneously disconnects and reconnects
> > (surprisingly common with some motherboards).  pppd takes several seconds
> > to understand that ATM device 0 has died; until it understands this, it
> > keeps a connection open, which means that the ATM device hangs around.
> > The "new" modem (= old one reconnected) creates a new ATM device, which
> > is given device number 1, because number 0 is still being used by the
> > old device.
> > 
> > (D) a new instance of pppd is launched from a hotplug script, or the
> > old instance of pppd tries to open a new connection once it understands
> > that the old connection has died.  It tries to connect to device 0, but
> > there is no longer any device 0, only device 1, so the connection attempt
> > fails.
> > 
> > (E) the user notices that there is no internet connection and wonders why.
> > The user runs pppd by hand - and it still fails to connect (no device 0).
> > Eventually the user gives up and reboots the machine.
> 
> This sounds like an application problem.  Isn't it possible to add support 
> for ATM_ITF_ANY to pppd?

all the needed code is already in pppd, but it's turned off.  Staszek found
out why when he turned it on: it crashed the kernel at once!  He sent a patch
to fix it up (and cure a race while he was there), at which point
Mitchell Blank Jr objected, saying that ATM_ITF_ANY was a bad idea in the first
place, and he would rather get rid of it (I'm curious to hear his reasoning).
This thread was the result.

> It's a mistake to used fixed identification numbers in a situation where 
> devices can be added or removed at random and the numbers changed 
> accordingly.

The ATM layer was designed in the good old days when devices were there to
stay (and, I sometimes get the impression, when SMP was a twinkle in Alan
Cox's eye)...

All the best,

Duncan.


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to