--- cups-1.2.1/backend/usb-unix.c.direct-usb 2006-07-04 17:50:28.000000000 +0100 +++ cups-1.2.1/backend/usb-unix.c 2006-07-04 17:51:56.000000000 +0100 @@ -85,6 +85,8 @@ */ use_bc = strcasecmp(hostname, "Canon") != 0; + if (use_bc && !strncmp(uri, "usb:/dev/", 9)) + use_bc = 0; if ((device_fd = open_device(uri, &use_bc)) == -1) { @@ -327,12 +329,7 @@ if (!strncmp(uri, "usb:/dev/", 9)) #ifdef __linux { - /* - * Do not allow direct devices anymore... - */ - - errno = ENODEV; - return (-1); + return (open(uri + 4, O_RDWR | O_EXCL)); } else if (!strncmp(uri, "usb://", 6)) {