Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 1251

Python • Getting intermittent errno 16 "resource busy" with USB printer

$
0
0
I'm trying to print to a USB printer on a Raspberry Pi 3 running Bullseye. Sometimes the script works fine, but usually I get "Errno 16, resource busy". dmesg shows:
usb 1-1.3: usbfs: interface 0 claimed by usblp while 'python3' sets config #1
I've added the user to lp group, tried different ports, claiming and releasing the interface, rebooted, and updated.

Code:

import usb.coreimport usb.utildef find_printer(vid, pid):    dev = usb.core.find(idVendor=vid, idProduct=pid)      dev.reset()    if dev is None:        raise ValueError('Printer not found')    return devdef send_to_printer(dev, data):    try:        interface = 0        endpoint = dev[0][(0,0)][0]        dev.set_configuration()        usb.util.claim_interface(dev, interface)        dev.write(endpoint, data.encode(), 1000)        usb.util.release_interface(dev, interface)    except usb.core.USBError as e:        print("USB error:", e)def main():    # Vendor ID (VID) and Product ID (PID) of the USB printer    vid = 0x04b8      pid = 0x0E15      try:        printer = find_printer(vid, pid)               send_to_printer(printer, "Hello World")        print("Printed successfully.")    except ValueError as e:        print(e)if __name__ == "__main__":    main()
I can't seem to fix or trigger the error reliably. What could I be missing?

Statistics: Posted by Wimbley — Wed Feb 21, 2024 3:20 am



Viewing all articles
Browse latest Browse all 1251

Trending Articles