On Wed, Sep 19, 2001, Edouard Gomez <[EMAIL PROTECTED]> wrote:
> I'm currently developing an user space driver for Speedtouch USB
> modem (You might have heard of Benoit's Papillault's drivers).
>
> I'll try to explain briefly my problem...
>
> Our driver consists of 2 parts : a firmware loader (modem_run) and a
> pppd pty slave (pppoa).
>
> The problem is that we can initialize the modem once, but when we try
> to reinitialize it, modem_run hangs.
> So, to avoid this kind of problem we decided to reset the usb modem
> using this simple ioctl call before reinitializing it:
>
> ioctl(fd, USBDEVFS_RESET, NULL);
>
> After that call, the modem disapear from the usbdevfs "devices" file.
>
> Is this the normal behaviour of usb kernel implementation ?
Absolutely. USBDEVFS_RESET sends a reset down the port that device is
connected to. This should reset the device completely and cause it to
reenumerate.
When it reenumerates, it will have a different device id and thusly, you
need to find it again and open a different filename.
> And what can i do to make the device reappears in the usbdevfs "devices"
> file ?
Well, it should be in there, just at a different id. Take a look at the
system log (run 'dmesg') and see if there are any errors when it
reenumerates.
JE
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel