Re: Patch: usblp quirk for zebra printers

From: Pete Zaitcev
Date: Wed May 21 2008 - 18:38:40 EST

On Wed, 21 May 2008 20:57:49 +0300, "P. Christeas" <p_christ@xxxxxx> wrote:

> I guess such a quirk may be a little odd, but it has been a blocking point in
> my system not being able to support more than one printer.

> @@ -1330,6 +1332,23 @@ static int usblp_cache_device_id_string(struct usblp *usblp)
> + strcpy(&usblp->device_id_string[length],"SN:");
> + length+=3;
> + strcat(&usblp->device_id_string[length],usblp->dev->serial);
> + length += strlen(usblp->dev->serial);
> + usblp->device_id_string[length++]= ';';
> +
> + *((__be16 *)usblp->device_id_string) = cpu_to_be16(length);

I see...

> Please comment. (and cc. me)

Personally, I don't like this. In kernel, we typically try not to
fake things in lower levels in order to fool upper levels. There are
always knock-off effects. Sometimes we have to do it, but in my
experience CUPS folks always were for doing the right thing.

Let's ask them if extracting the S/N from sysfs is too onerous.
I'm cc-ing this to Tim Waugh.

BTW, Please try to tinker with the following udev ruleset:
BUS="usb", KERNEL="lp[0-9]*", SYSFS{serial}=="XXXXXXX", SYMLINK+="mylp0"
BUS="usb", KERNEL="lp[0-9]*", SYSFS{serial}=="YYYYYYY", SYMLINK+="mylp1"
Encoding your serial numbers into udev rules is not pleasant, but
the above should provide a stop-gap solution without patching kernels.

-- Pete
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at