diff -up hplip-3.12.11/io/hpmud/musb.c.hplip-IEEE-1284-4 hplip-3.12.11/io/hpmud/musb.c --- hplip-3.12.11/io/hpmud/musb.c.hplip-IEEE-1284-4 2012-11-20 10:55:09.000000000 +0100 +++ hplip-3.12.11/io/hpmud/musb.c 2012-11-27 11:49:16.633107366 +0100 @@ -712,7 +712,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)) { @@ -2065,7 +2066,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)