ts-7000
[Top] [All Lists]

[ts-7000] Re: Support for USB Printer - Is it really that complicated?

To:
Subject: [ts-7000] Re: Support for USB Printer - Is it really that complicated?
From: "naturalwatt" <>
Date: Sun, 04 Nov 2007 15:21:52 -0000
--- 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/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU