--- In Kevin Cozens <> wrote:
>
>
> I am using a USB based printer and find that the device node appears and
> disappears depending on whether the printer is connected or not.
>
> --
> Cheers!
>
> Kevin.
This is completely right. I have been writing a Labjack USB device driver as
Labjack only
provide a driver fro 2.6 kernels onwards. You must implement several services
in a USB
device driver.
Probe is called when the device is recognised as having been plugged in. in
this context,
the device is the USB adapter, not the printer. Then it creates the
/dev/usb/... entry.
Then you need to supply other functions to be called when a user process opens,
reads,
write and closes the device file, and when the device is unplugged (at which
point the
/dev/usb/.. entry is removed).
So as previous people posted, the only way you can prevent your program from
hanging if
the printer is not ready is to use nonblocking io. Use open() with O_NONBLOCK
as a flag,
and use select() to see if the device is writable or not.
Martin
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|