I found a solution to get HP printer working (1000 - 1005 - 1018 - 1020 - P1005 - P1006 - P1007 - P1008 - P1505) on QNAP NAS (succesfull myself using TS-119).
How to solve printer issues with the above mentioned printers. Instructions are here and modified from
viewtopic.php?f=182&t=96861. Plug in the printer in a USB port on tha back of your NAS and turn it on
2. Add the printer to your computer (using printers and faxes - click add printer - select network printer - in the tree open your NAS and finally select the attached printer - follow instructions to load the drivers (you can download it on hp website)
3. Download a small file that will be send to the network-attached printer from the QNAP:
http://oleg.wl500g.info/hplj/ (download the file for your printer)
4. Place this file in the 'public' share on the QNAP
5. Open putty and log in as administrator of your NAS
6 .type "cat /share/Public/sihpxxxx.dl > /dev/usb/lpX" where X is a number relative to the usb port the printer is attached to. It could be lp0 ... to lp9, in my case it was lp6. when you find the right port, the printer will start to warm. Replace xxxx with the right name of the file, corresponding with your printer
7. This should be done each time we would like to print, so we automate this by creating a script that automatically starts; this script checks for a printer (when it is turned on after the boot of the QNAP) and then sends the file to the printer to allow printing
8. Create a file autoChecker.sh and place it in the Public folder. The contents of this file, need to be modified according to your printer and the lp port it was responding to
- Code: Select all
#!/bin/sh
PRINTER="HP LaserJet 1005"
FILE="/sys/bus/usb/drivers/usb/1-1.2/product"
DRIVER=/share/HDA_DATA/Public/sihp1005.dl
DEVICE=/dev/usb/lp6
PRINTER_STATUS="OFF"
while [ 1==1 ]; do
if [ -f $FILE ]; then
if [ "`head $FILE`" = "$PRINTER" ]; then
if [ $PRINTER_STATUS = "OFF" ]; then
echo "`date`: Allowing 10 seconds for printer to boot up..."
sleep 10
echo "`date`: Sending driver..."
cat $DRIVER > $DEVICE
PRINTER_STATUS="ON"
fi
else
PRINTER_STATUS="OFF"
fi
else
PRINTER_STATUS="OFF"
fi
echo "`date`: Printer Status: $PRINTER_STATUS"
sleep 10
done
9. mount the config ramblock /dev/mtdblock5 by typing: "mount -t ext2 /dev/mtdblock5 /tmp/config"
10. edit /tmp/config/autorun.sh by using vi editor: "vi /tmp/config/autorun.sh". Copy the following contents in this file:
- Code: Select all
/share/HDA_DATA/Public/autoChecker.sh > /share/HDA_DATA/Public/autoChecker.log 2>&1 &
11. press ESC to go back in command mode
12 press ZZ (uppercase) to save and exit vi
13. to ensure that /tmp/config/autorun.sh is executable type: "chmod +x /tmp/config/autorun.sh"
14. unmount the mounted flash partition by typing: "umount /tmp/config"
15. restart the NAS and try printing