This information gets outdated as my patch made it into the kernel source with 2.6.20. For those with lower versions, the following may still be interesting.

Bringing the Kyocera FS-820 to work under linux with cups-1.2 and usb


After upgrading my system (gentoo-linux) to cups-1.2, I had the unpleasent experience that printing did no longer work. Since with cups-1.1 all was fine, there had to be a reason. After sending a bug report to the cups people, I have been told that cups was fine, but linux seems to have a failure. Here is a way to get the Kyocera FS820 to work via usb with linux and cups-1.2. Until I find out more, this is kind of a work around.

Step 1: Patch the kernel

The printer has the habit of not responding to ID requests from the linux kernel. It does some seconds after plugging in, but not afterwards. Since cups does not see the printer, the administrator is not able to install a cups driver. If one line is added to the file usblp.c in the linux kernel, the problem can be worked around. The patch adds the Kyocera to the list of quirky printers:

Patch for usblp.c (for linux-2.6.19)

Download the patch. Move it into the top level of the directory of the kernel source, e.g. /usr/src/linux/. Do "patch -p0 < usblp_kyocerafs820.patch".

Step 2: Make changes work.

Compile the kernel and modules. If usblp is a module, unload the module and reload the changed one. If your usb printer support is compiled into the kernel, install the new kernel and reboot.

Step 3: Reconfigure cups

After starting the cups daemon, try to add the Kyocera-FS820 with the cups interface on http://localhost:631. cups should detect the printer. You can use the ppd file provided below.

Additional help: ppd file.

I had to look hard to find a ppd file for my Kyocera. I found one in a zip archive somewhere on the web. It contained a typo. Here is the corrected version:

ppd for Kyocera FS-820

Any help appreciated

Since I have not much time I do appreciate any help in understanding the actual cause of the described problem. I have done some debugging, but do not fully understand what is going on. If you have experience and / or knowledge of usb, please feel free to contact me.