diff -up hplip-3.12.9/io/hpmud/musb.c.hplip-IEEE-1284-4 hplip-3.12.9/io/hpmud/musb.c --- hplip-3.12.9/io/hpmud/musb.c.hplip-IEEE-1284-4 2012-09-04 14:33:58.000000000 +0200 +++ hplip-3.12.9/io/hpmud/musb.c 2012-09-20 10:11:53.759116729 +0200 @@ -708,7 +708,8 @@ static libusb_device *get_libusb_device( { if ((altptr->bInterfaceClass == LIBUSB_CLASS_PRINTER ) && /* Printer */ (altptr->bInterfaceSubClass == 1) && - (altptr->bInterfaceProtocol == 1 || altptr->bInterfaceProtocol == 2)) /* Unidirectional or Bidirectional*/ + (altptr->bInterfaceProtocol == 1 || altptr->bInterfaceProtocol == 2 + || altptr->bInterfaceProtocol == 3)) /* Unidirectional, Bidirectional or 1284.4 */ { if (is_uri(dev, uri)) { @@ -2061,7 +2062,8 @@ int __attribute__ ((visibility ("hidden" { if ((altptr->bInterfaceClass == LIBUSB_CLASS_PRINTER ) && /* Printer */ (altptr->bInterfaceSubClass == 1) && - (altptr->bInterfaceProtocol == 1 || altptr->bInterfaceProtocol == 2)) /* Unidirectional or Bidirectional*/ + (altptr->bInterfaceProtocol == 1 || altptr->bInterfaceProtocol == 2 + || altptr->bInterfaceProtocol == 3)) /* Unidirectional, Bidirectional or 1284.4 */ { libusb_open(dev, &hd); if (hd == NULL)