How to Get HP LaserJet to Work with Synology

I had some trouble getting my HP LaserJet P1006 to work with the Synology DS210j (NAS print server), even though HP makes Linux drivers and other Synology DiskStation users have had success. The documents would look like they were sent to the printer just fine, but then nothing would happen — nothing actually printed.

The answer came in a recent Synology forum post by a user named efex. There are just a couple of points I’ll make, then just follow his instructions.

  • Be sure you grab the correct firmware file. For the P1006 it’s called sihpP1006.dl.
  • For the LaserJet P1006 specifically, the “$PRODUCT” value is “3f0/3e17/100”.
  • To save the file back to the share, you may need to clear read-only o archive file attributes. In Windows, right-click on the file name located on the share, choose Properties, and then and uncheck those file attributes.

See the whole tutorial, along with links for other product codes, visit this forum post.

Some Updated, More Detailed Instructions

This typically needs to be done with every Synology firmware update.

  1. Open Putty, and log into the DS as “root” with the administrator user password.
  2. Copy the driver file into the firmware directory. I keep a copy on a share on my Synology box to make it easy. For me, the command is “cp /volume1/docs-joint/PC\ Configurations/Synology\ DS210j/sihpP1006.dl /usr/syno/hotplug/firmware/”
  3. Make a backup of the usb.agent file. “cp /usr/syno/hotplug/usb.agent /usr/syno/hotplug/usb.agent.old”
  4. Copy the original to a share to make it easier to edit. “cp /usr/syno/hotplug/usb.agent /volume1/docs-joint/PC\ Configurations/Synology\ DS210j/”
  5. Open the file in a text editor and add the code below to the end. Save the file as “usb.agent.new” in the same directory (because you probably won’t have permission to overwrite the root file on the share).
  6. Back in Putty, change the permission of the file back to root:root. “chown root:root /volume1/docs-joint/PC\ Configurations/Synology\ DS210j/usb.agent.new”
  7. Overwrite the old “usb.agent” file with the new one. “mv /volume1/docs-joint/PC\ Configurations/Synology\ DS210j/usb.agent.new /volume1/docs-joint/PC\ Configurations/Synology\ DS210j/usb.agent”
  8. Copy the file back to the hotplug directory. “cp /volume1/docs-joint/PC\ Configurations/Synology\ DS210j/usb.agent /usr/syno/hotplug/”
  9. Verify that the newly edit file has permissions “rwxr-xr-x”. If not, use “chmod 755 /usr/syno/hotplug/usb.agent”
  10. Turn the printer off and back on again. You should hear it reset twice instead of once.

# Upload the firmware to the printer
sleep 5
FIRMWARE=/usr/syno/hotplug/firmware/sihpP1006.dl
if [ "$PRODUCT" = "3f0/3e17/100" ]
then
 if [ "$ACTION" = "add" ]
 then
 echo "`date` : Sending firmware to printer..." >> /var/log/hp
 cat $FIRMWARE > /dev/usb/lp0
 echo "`date` : done." >> /var/log/hp
 fi
fi

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *