• Brandon Philips's avatar
    USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440 · 06a743bf
    Brandon Philips authored
    My Brother HL-1440 would print one document before CUPS would stop
    printing with the error "Printer not connected; will retry in 30
    seconds...". I traced this down to the CUPS usb backend getting an EIO
    out of usblp on the IOCNR_GET_DEVICE_ID IOCTL. Adding the
    USBLP_QUIRK_BIDIR fixes the problem but is it the right solution?
    
    output from strace /usr/lib/cups/backend/usb after printing a document
    (Note: SNDCTL_DSP_SYNC == IOCNR_GET_DEVICE_ID):
    
    before patch
    
    open("/dev/usb/lp0", O_RDWR|O_EXCL)     = 3
    ioctl(3, SNDCTL_DSP_SYNC, 0x7fff2478cef0) = -1 EIO (Input/output error)
    
    after patch
    
    open("/dev/usb/lp0", O_RDWR|O_EXCL)     = 3
    ioctl(3, SNDCTL_DSP_SYNC, 0x7fffb8d474c0) = 0
    
    Possibly related bug: https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/35638Signed-off-by: default avatarBrandon Philips <bphilips@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    06a743bf
usblp.c 39.1 KB