--- cups-1.2.5/backend/usb-unix.c.direct-usb 2006-10-12 20:19:47.000000000 +0100 +++ cups-1.2.5/backend/usb-unix.c 2006-10-23 14:15:36.000000000 +0100 @@ -86,6 +86,8 @@ use_bc = strcasecmp(hostname, "Canon") != 0 || strstr(hostname, "Minolta") != NULL; + if (use_bc && !strncmp(uri, "usb:/dev/", 9)) + use_bc = 0; if ((device_fd = open_device(uri, &use_bc)) == -1) { @@ -303,12 +305,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)) {