In this tutorial, I'm going to show you how to setup Apple AirPrint Server on a router running TomatoUSB firmware. This will allow you to print from your iOS device (iPhone, iPod, iPad) to your non-AirPrint-enabled printer through your router. If you're familiar with AirPrint Activator or FingerPrint, this solution is similar, except you don't have to keep your power hungry MAC/PC running 24/7.
Before I start, I want to give special thanks to @davygravy on the TomatoUSB.org forum. He was the one that ultimately made this all possible by compiling, re-compiling and fixing all the required packages.
Another thing, if you're familiar with my Tutorial on Apple AirPlay on TomatoUSB Router, these two tutorials (currently) are not compatible with each other. Meaning, you either go with AirPrint or AirPlay on your TomatoUSB Router, NOT BOTH. This is because the AirPrint tutorial uses Entware and this tutorial uses Optware, which isn't compatible with each other. Hopefully we're get this issue resolved in the near future.
Note: this tutorial is a work in progress (but working). I'll be updating and flushing out the details as time permits. Please excuse the typos and bad grammar.
YMMV (Your Mileage May Vary) depending on your Printer model.
What you'll need:
- Router with TomatoUSB installed*
- USB Flash Drive >1GB (will be completely wiped)
- USB or Wireless/Network Printer
* If you're looking for a recommendation on a router for this project, please check this post - [Tutorial] Apple AirPlay on TomatoUSB Router. You can pick up a router as low as $24.
Outline of Steps:
- Partition and Format USB Flash Drive*
- Install Optware
- Download and Install Required Packages
- Start CUPS and Configure Printer(s)
- Generate AirPrint Service File
- Startup DBus, Avahi and CUPS
- Test Print
- Configure the router so that everything works after a reboot
- CloudPrint (Bonus Content)
*Note that your USB Flash Drive will be completely wiped clean.1) Partition and Format USB Drive:
Plug in your USB drive and connect to your router via SSH (Putty) and execute the following commands:
#Partition your usb flash drive
umount /dev/sda1
fdisk /dev/sda
Type in the following commands to create a primary partition on your USB Flash drive
# p # list current partitions
# o # to delete all partitions
# n # new partition
# p # primary partition
# 1 (one) # first partition
# <enter> # default start block
# <enter> # default end block #use the whole flash drive
# w # write new partition to disk
#format newly created partition
#label disk as 'optware' case sensitive
umount /dev/sda1
mke2fs -j -L optware /dev/sda1
#mount partition as /opt
mount /dev/sda1 /opt
#Make sure /opt is properly mounted on a reboot.
echo "LABEL=optware /opt ext2 defaults 1 1" >> /etc/fstab
nvram setfile2nvram /etc/fstab
nvram commit
2) Install Optware
#Install Optware from scratch.
#Assumes drive is formated and mounted as /opt already
cd /tmp
wget http://tomatousb.org/local--files/tut:optware-installation/optware-install.sh -O - | tr -d '\r' > /tmp/optware-install.sh
chmod +x /tmp/optware-install.sh
sh /tmp/optware-install.sh
3) Download and Install Required Packages
#create a folder to store packages
mkdir -p /opt/ipkgs
cd /opt/ipkgs
#install wget-ssl (for https)
ipkg install wget-ssl
#download packages.
#cut/paste this whole section
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/dbus_1.2.16-2_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/cups_1.5.4-1_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/poppler_0.12.4-1_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/py26-cups_1.9.62-1_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/ghostscript_8.71-3_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/hplip_3.11.7-1_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/gutenprint_5.2.9-1_mipsel.ipk
/opt/bin/wget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/cups-driver-gutenprint_5.2.9-1_mipsel.ipk
#install packages. this may take awhile.
#cut/paste this whole section
ipkg install /opt/ipkgs/dbus_1.2.16-2_mipsel.ipk
ipkg install /opt/ipkgs/cups_1.5.4-1_mipsel.ipk
ipkg install /opt/ipkgs/poppler_0.12.4-1_mipsel.ipk
ipkg install /opt/ipkgs/py26-cups_1.9.62-1_mipsel.ipk
ipkg install /opt/ipkgs/ghostscript_8.71-3_mipsel.ipk
ipkg install /opt/ipkgs/gutenprint_5.2.9-1_mipsel.ipk
ipkg install /opt/ipkgs/cups-driver-gutenprint_5.2.9-1_mipsel.ipk
#install hplip if you have a HP printer
#ipkg install /opt/ipkgs/hplip_3.11.7-1_mipsel.ipk
#install splix for Samsung printers
#ipkg install splix
#Color profiles for Samsung (untested)
#cd /opt/share/cups/model/samsung
#wget http://splix.ap2c.org/samsung_cms.tar.bz2
#tar xvjf samsung_cms.tar.bz2
#rm samsung_cms.tar.bz2
4) Start CUPS and Configure Printer(s)
#start cups
cupsd
Now open up your web browser and go to http://<RouterIPAddress>:631/admin (http://192.168.1.1:631/admin).
Click on "Manage Printers"->"hp990c"
Administration->Delete Printer (this printer was accidentally included)
If you're prompted for authentication, enter in root and your password.
Go back to Administration->Add Printer
In my case, I am using a Brother HL-2270DW which has built in wireless and supports various printing options - socket, ipp, http, etc. I'm going to use socket (AppSocket/HP JetDirect) which is the same option you would select if you had your USB printer directly connected to your router. Make sure you enable "USB Printer Support" in the Tomato GUI if you're using a USB attached printer.
For my wireless printer, the Connection address I'm using is "socket://<PrinterIPAddress>:9100" ( for the record "ipp://<PrinterIPAddress>/pcl_p1" would also work).
For a USB attached printer, the Connection address would be: "socket://<RouterIPAddress>:9100" (i.e., socket://192.168.1.1:9100)
Name your printer. Check the "Share This Printer" checkbox (not totally sure if this is required, but for now check it to be safe).
Select the Make/Model of your Printer. Basically you are selecting the drivers to use. For my Brother HL-2270DW, I went with "Generic"->"Generic PCL 6/PCL XL Printer".
Click Add Printer.
Set your Default Options.
Print a test page. Maintenance->Print Test Page.
Printing a test page needs to work. If not, you can not continue. Not all printers will work. Try different drivers (or a different printer).
Print a test page. Maintenance->Print Test Page.
Printing a test page needs to work. If not, you can not continue. Not all printers will work. Try different drivers (or a different printer).
5) Generate AirPrint Service File
Back in your SSH console session, execute the following:
killall cupsd
#create some needed mime types for AirPrint and iOS6
echo "image/urf urf string(0,UNIRAST<00>)" > /opt/share/cups/mime/airprint.types
echo "image/urf application/pdf 100 pdftoraster" > /opt/share/cups/mime/airprint.convs
#Start CUPS
cupsd
#make airprint folder
mkdir -p /opt/airprint
cd /opt/airprint
#Download airprint-generate.py
#this is all one line
/opt/bin/wget --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py#set the script to be executable
chmod 755 ./airprint-generate.py
#Generate airprint service file
cd /opt/etc/avahi/services
python2.6 /opt/airprint/airprint-generate.py
#There should be a
#AirPrint-<PrinterName>.service file listed
ls
#Stop CUPS
killall cupsd
6) Startup DBus, Avahi (aka Bonjour) and CUPS
#Required for Avahi and dbus
#Ignore the warning
adduser avahi
addgroup netdev
#delete orphan pid files in case they exist
rm /opt/var/run/dbus/pid
rm /opt/var/run/avahi-daemon/pid
#start dbus before avahi
/opt/etc/init.d/S20dbus start
#start avahi (aka bonjour)
avahi-daemon -D
#Start CUPS
cupsd
#verify that your printer is being advertise
avahi-browse --terminate --resolve _ipp._tcp
7) Test Print
From your iPhone/iPad/iPod, do a test print.
8) Configure the router so that everything works after a reboot
Go to USB and NAS -> USB Support (http://192.168.1.1/nas-usb.asp).
In the "Run after mounting" section add the following:
#start dbus before avahi
/opt/etc/init.d/S20dbus start
#start avahi (aka bonjour)
avahi-daemon -D
#Start CUPS
cupsd
In the "Run before unmounting" section add the following:
#run before unmounting
killall cupsd
avahi-daemon -k
/opt/etc/init.d/S20dbus stop
You're done. Enjoy!
9) Google CloudPrint (Bonus Content - Work In Progress)
ipkg install git
cd /opt
One more thing regarding CloudPrint, my recommendation is to set up a new Google Account dedicated just for CloudPrint. Use this account for the above cloudprint login, and then share your printer(s) with your main account. I'm a little paranoid of having my email authentication stored on my router (even though its hashed or whatever).
If you get AirPrint working with your printer, please leave a comment with your printer model and drivers used. This will help other users. Thanks
Please leave a comment with any questions or feedback. Thanks
[Update 4/9/2013] Please check out my PogoPlug Tutorial below. A PogoPlug running Arch Linux ARM is the perfect companion to your TomatoUSB Router. I highly recommend that you run AirPlay/AirPrint on the PogoPlug versus your TomatoUSB router.
[Tutorial] - PogoPlug E02 with Arch Linux ARM - NAS (Samba4), AirPlay, AirPrint, Google CloudPrint
In the "Run after mounting" section add the following:
#Required for avahi and dbus
adduser avahi
addgroup netdev
#delete orphan pid files in case they exist
rm /opt/var/run/dbus/pid
rm /opt/var/run/avahi-daemon/pid
adduser avahi
addgroup netdev
#delete orphan pid files in case they exist
rm /opt/var/run/dbus/pid
rm /opt/var/run/avahi-daemon/pid
#start dbus before avahi
/opt/etc/init.d/S20dbus start
#start avahi (aka bonjour)
avahi-daemon -D
#Start CUPS
cupsd
In the "Run before unmounting" section add the following:
#run before unmounting
killall cupsd
avahi-daemon -k
/opt/etc/init.d/S20dbus stop
You're done. Enjoy!
9) Google CloudPrint (Bonus Content - Work In Progress)
ipkg install git
cd /opt
git clone git://github.com/armooo/cloudprint
cd /opt/cloudprint
python2.6 setup.py build
python2.6 setup.py install
cd /opt/cloudprint
python2.6 setup.py build
python2.6 setup.py install
#Run once to create credential files
#give it about a minute to start up
/opt/local/bin/cloudprint
#give it about a minute to start up
/opt/local/bin/cloudprint
#enter your google account email and password
#Google username:
#Password:
#Google username:
#Password:
#test print from your Chrome browser
#Control+C to close cloudprint
#copy your cloudprint authentication files to /opt
cp /tmp/home/root/.cloudprintauth /opt/cloudprint
cp /tmp/home/root/.cloudprintsaslauth /opt/cloudprint
To have cloudprint start automatically on reboot. Go to USB and NAS -> USB Support (http://192.168.1.1/nas-usb.asp). In the "Run after mounting" section add the following:
#copy back cloudprint authentication files to /tmp
cp /opt/cloudprint/.cloudprintauth /tmp/home/root/
Cloudprint is very fragile. If you're having start-up or printing issues try the following steps.
- Clear your Google CloudPrint Print Queue - https://www.google.com/cloudprint/#jobs
- Delete your stored credential and reboot and start over.
#Control+C to close cloudprint
#copy your cloudprint authentication files to /opt
cp /tmp/home/root/.cloudprintauth /opt/cloudprint
cp /tmp/home/root/.cloudprintsaslauth /opt/cloudprint
To have cloudprint start automatically on reboot. Go to USB and NAS -> USB Support (http://192.168.1.1/nas-usb.asp). In the "Run after mounting" section add the following:
#copy back cloudprint authentication files to /tmp
cp /opt/cloudprint/.cloudprintauth /tmp/home/root/
cp /opt/cloudprint/.cloudprintsaslauth /tmp/home/root/
/opt/local/bin/cloudprint &
In the "Run before unmounting" section add the following:
killall cloudprint
/opt/local/bin/cloudprint &
In the "Run before unmounting" section add the following:
killall cloudprint
- Clear your Google CloudPrint Print Queue - https://www.google.com/cloudprint/#jobs
- Delete your stored credential and reboot and start over.
One more thing regarding CloudPrint, my recommendation is to set up a new Google Account dedicated just for CloudPrint. Use this account for the above cloudprint login, and then share your printer(s) with your main account. I'm a little paranoid of having my email authentication stored on my router (even though its hashed or whatever).
If you get AirPrint working with your printer, please leave a comment with your printer model and drivers used. This will help other users. Thanks
Please leave a comment with any questions or feedback. Thanks
[Update 4/9/2013] Please check out my PogoPlug Tutorial below. A PogoPlug running Arch Linux ARM is the perfect companion to your TomatoUSB Router. I highly recommend that you run AirPlay/AirPrint on the PogoPlug versus your TomatoUSB router.
[Tutorial] - PogoPlug E02 with Arch Linux ARM - NAS (Samba4), AirPlay, AirPrint, Google CloudPrint
Hi,
ReplyDeleteWhen I go to download the packages, I am getting the error.
onnecting to dl.dropbox.com (107.21.253.161:80)
wget: can't open 'dbus_1.2.16-2_mipsel.ipk': Read-only file system
any idea why??
Thanks.
Brett, doesn't sound like you are in the right directory.
DeleteNote the following two commands before the wget.
#create a folder to store packages
mkdir /opt/ipkgs
cd /opt/ipkgs
You should be downloading to /opt/ipkgs
nice work buddy check this too it will helpmission mangal download
DeleteHi,
ReplyDeleteSo, I definitely went through the steps again. Everything was as is, yet it didn't download...same error. I tried removing and recreating the dir, and then I decided to check the wget parameters. For whatever reason when I executed the mkdir/cd commands it just wouldn't do it. No errors, it seemed to change, but didnt. I used the -P flag and manually stated the dir and that seemed to work.
Strange. You shouldn't need the -p option since the /opt directory should already exist. I went ahead and updated the tutorial and added the -p, since it doesn't hurt anything to use it. Thanks for letting me know.
DeleteHi again,
ReplyDeleteI am now stuck in the CUPS config. It will not accept the credentials to add/delete a printer. I have tried 2 browsers and cleared the cache/stored data/pw's etc. Any idea whats going on?
Thanks,
Brett
No idea. The username (root) and password should be the same as what you used to access the Tomato GUI via your web browser and SSH. I'll upload a full ssh console output in the next couple of days so you can compare. I might even make a YouTube video of the process. Please keep me updated on your progress. Thanks
DeleteYou probably have SSH login via password disabled.
DeleteHi,
ReplyDeleteSo, I have not ideas as to how to move forward. I dont know why it will not accept the user name as root, and my router password. Ive tried changing the password as well in the router. stuck at this cups page :/
Bret
Hey Brett,
DeleteSorry to hear you're still not able to get AirPrint working. I experienced this exact issue on my journey to getting AirPrint working. Never was able to resolve it and just blame it on a bad build of CUPS.
I can't say for certain what causing your issue, but I do know that the tutorial works if you start from step 1. Did you start from step 1 or did you already have a pre-existing optware installation?
If you started from step 1, try restoring the default configuration and starting fresh. Erase all data in NVRAM memory (thorough) @ http://192.168.1.1/admin-config.asp
Hang in there, we'll figure it out.
You can also contact me via email .
When I run the line
ReplyDeleteavahi-browse --terminate --resolve _ipp._tcp
there is no output at all.
I can print test page from the cups interface but iPad doesnt detect the printer.
Sorry, there was a run-on command in step 5 (Generate AirPrint Service File), which I just fixed. Please re-do step 5 and verify that a AirPrint-.service file exist in the /opt/etc/avahi/services folder. Please keep me updated. Thanks.
Delete.service file exists!
Deleteipad detects printer too.
Printer queue is however stuck saying
" processing since
Thu Mar 14 21:41:48 2013
"Processing page 1...""
When I manually deleted the job the file printed succesfully. :S
DeleteMaybe trying giving it a little more time? Not sure.
Deletecancelling the job doesnt help anymore. it just remains stuck at processing page 1
Deleteno longer prints at all
Deletejust says "pending since
Fri Mar 15 00:09:39 2013 "
I fixed the problem by changing the generic driver to hp driver for my printer model !
DeleteStill prints agonizingly slowly. Hope to fix that too.
Thanks for the update. This is good to know for other users that may experienced this issue.
DeleteHi,
ReplyDeleteI am giving this a go again starting from scratch. Although, everything up to the CUPS server worked, I am trying a different machine using putty instead of my Mac's terminal interface....I will update you with my results.
Brett
Hi,
ReplyDeleteI believe I have everything worked out. One thing I that was left unmentioned is that it seems you need to have either a usb hub or two usb ports for this to work, am I correct? unplugging the flash drive to plug in the printer loses all of the software...
Hey Bret, glad to hear you got it working. Yeah, you can't unplug the flash drive :). If you have a regular usb attached printer, yes, you will need a router with two usb ports or a usb hub. In my case, I'm printing to a wireless network printer, so I would only need one usb port for the flash drive. -Qui
DeleteHi,
ReplyDeleteI have a samsung clx-3180 printer. I followed the instructions, but unable to print the Test page. During installation, I did not get any error during installation. When I do a test print, my printer give print success sound without printing any pages. What could be wrong? Any help will be appreciated.
thanks
Ajay
Hi Ajay,
DeleteWhat print drivers are you using? From what I understand, Samsung use proprietary printing language. Try installing splix (ipkg install splix) and using a driver that closely matches your printer (clx-3160). Let me know if you get further. YMMV regarding printers.
Qui
When I run ipkg install splix, I get error - package not found. Where do I need to download it? How to download it? thanks
DeleteHi,
DeleteI got this package installed, but now when I do a test print, I am getting message ""SpliX Cannot open CMS file /opt/share/cups/model/samsung/cms/CLX-3160cms (2)" and nothing is getting printed. Any idea?
thanks
Ajay,
DeleteTake a look at this http://www.openprinting.org/driver/splix/. Sounds like you need some "color profiles". Not sure how/where you would get them. My suggestion is to try a black/white driver. Color at this point is probably not possible.
Qui
"Color printers needs color profile files to get better results. These
Deletefiles are provided by your printer manufacturer and you have to install them
manually. To do that, download the linux official drivers and locate the "cms"
directory." - So it sounds like you can try to download and extract these color profiles from the official linux driver and place them in the /opt/share/cups/model/samsung/cms/CLX-3160cms folder. Worth a shot.
I think you might be in luck. Try the following set of commands:
Deletecd /opt/share/cups/model/samsung
wget http://splix.ap2c.org/samsung_cms.tar.bz2
tar xvjf samsung_cms.tar.bz2
rm samsung_cms.tar.bz2
Thanks Qui. I got the error message taken care of. But no test page yet. In the status page, it says Printing is successful, but nothing is printed from the printer. Is it possible that CLX-3160 is not compatible with CLX-3180?
Deletethanks
Ajay
Yes. Try a different driver (B/W only).
DeleteQui,
DeleteI tried all the driver, but test page is not getting printed. In the CUPS admin screen, it says Successful but nothing is printing. Any idea?
thanks
Ajay
Hi,
ReplyDeleteExcelent tutorial. Thanks!
Only difficulty i have when printing pages with rasters from iOS is:
/opt/lib/cups/filter/pstoraster failed
Befor that I can see something like this in the cups log:
width = 4800, height = 6639
PageSize = [ 595 841 ], HWResolution = [ 600 600 ]
Which seems strange, as I only try to print from iOS's Notes.
In the router's log:
prnt/hpcups/HPCupsFilter.cpp 511: cupsRasterOpen failed, fd = 0
Did you test page print okay? What's your printer model and what driver have you tried? Try a different driver.
DeleteTest page went okay. The printer is a multifunction device HP Deskjet F300 Series and the driver się from hplip, the hpcups version. Other drivers don't work at all.
ReplyDeleteMy router is ASUS RT-N16 with Tomatousb 1.28 with optware of course.
As I said printing simple text or simple webpages from iOS works well, the problem occurs while trying to print put of Notes or something with big images or background. Maybe a problem with memory or rescaling?
I think I might have this exact printer at home somewhere. Not sure if it has any ink, but if I have some time this weekend I'll give it a test.
DeleteHi,
DeleteAny chance on testing this? :)
I've done some trials. For this particular printer there are two drivers: hpcups and hpijs. The hpijs doesn't work at all (error on testpage print). The hpcups works while printing test page from cups webpage, but doesn't work while printing from iOS.
Bottom lines I'm still stuck with this error.
thanks for the tutorial. I have ASUS RT-N16. Followed your instructions. I am able to print test page, but can't start google cloud print:
ReplyDeleteTomato v1.28.9054 MIPSR2-beta K26 USB Ext
root@router:/tmp/home/root# /opt/local/bin/cloudprint
Traceback (most recent call last):
File "/opt/local/bin/cloudprint", line 8, in
load_entry_point('cloudprint==0.9', 'console_scripts', 'cloudprint')()
File "build/bdist.linux-mips/egg/cloudprint/cloudprint.py", line 418, in main
RuntimeError: failed to connect to server
Any suggestion?
Hello Soleen,
DeleteLine 418 - cups_connection = cups.Connection()
Doesn't sound like you have CUPS running.
Qui
Hi Qui,
DeleteIt worked! I restarted cupsd and cloudprint started fine! Thanks again for the great tutorial!
I got Airprint working but I can only print in B/W !! How do I print in color? I have an HP printer
ReplyDeleteTry a different driver and let us know if you get it working :)
DeleteHi Qui, thanks for this tutorial.
ReplyDeleteEverything seemed to work out ok and I started cupsd, but when i visit the CUPS admin page, it get Internal Server Error.
I can visit the CUPS homepage fine, just not any of the tabs, like admin, printers, etc.
Have you seen this before?
(i did not start from a clean install, as I had tomato set up already, with transmission already running)
@schmichael,
DeleteHard to say what the issue is. Might be easier if you started from a clean install and re-configure transmission (backup your transmission config).
If you go this route I would recommend running Shibby's AIO TomatoUSB version, which is what I'm using on my Asus RT-N16 acting as my primary router and has Transmission client built right into the firmware with a nice Web Interface to config it.
http://tomato.groov.pl/download/K26/build5x-108-EN/tomato-K26USB-1.28.RT-MIPSR2-108-AIO.trx
Hi everyone,
ReplyDeleteI've followed the instructions to get CUPS working with my Brother HL-2140 printer to work on my RT-N16, but I'm getting stuck at the test page part.
I've tried several drivers, including the generic ones for PCL 5e and those for Brother alternatives. Most of those drivers start the printer for a few seconds, but then nothing actually prints. I've also tried using the PPD from OpenPrinting.org (www.openprinting.org/printer/Brother/Brother-HL-2140).
In the process of trying to get the PPD driver working, I've also had to install foomatic-rip (using hpijs package) and perl, which installed fine. Now I'm running into a situation where the print job renderer (KID4) is logging the following error:
D [05/Jan/2010:09:07:06 -0800] [Job 3] sh: gs: command not found
Some Google searching (http://mybookworld.wikidot.com/forum/t-144918/cups-problems) revealed the following solution (#3 on the reply post):
3) Also, gs was not linked in /usr/bin, since I found the following in the logs:
D [05/Jan/2010:09:07:06 -0800] [Job 3] sh: gs: command not found
So I created the missing link to gs in the /usr/bin
#ln -s /opt/bin/gs /usr/bin/
However, I cannot create the symlink in /usr/bin/ because it's read only.
Anybody know a solution for creating this symlink for gs in /usr/bin/? Thanks in advance.
Sorry for the late reply. Tomato's file system is read only. Did you ever get the HL-2140 working? Most likely its the drivers. I'm surprise the generic PCL drivers are not working. I don't think the foomatic-rip included in hpijs package is compatible with all the other packages..
DeleteI get a 404 for one of the files :
ReplyDeletewget http://dl.dropbox.com/u/42238/TomatoUSB/Optware/gutenprint_5.2.9-1_mipsel.ipkwget
Connecting to dl.dropbox.com (54.243.118.43:80)
wget: server returned error: HTTP/1.1 404 NOT FOUND
I'm not sure if it will be required, but I'm guessing it will.
I copy and pasted the link, I don't think I missed a character ?
I found the problem. The wget from the next line is appended : http://dl.dropbox.com/u/42238/TomatoUSB/Optware/gutenprint_5.2.9-1_mipsel.ipkwget
ReplyDeleteShould be :
http://dl.dropbox.com/u/42238/TomatoUSB/Optware/gutenprint_5.2.9-1_mipsel.ipk wget
Is it necessary to have a flash drive greater than 1GB? I have multiple 1GB drives lying around unused. Will those work?
ReplyDeleteMaybe. I'm not sure if everything will fit. Give it a try.
Delete1GB drive doesn't work.
DeleteI had some trouble printing a test page for a Canon MX870 printer, until I found the following link:
ReplyDeletehttp://forums.linuxmint.com/viewtopic.php?f=51&t=28486
I believe the necessary command lines were:
cd /opt/ipkgs
ipkg install optware-devel
ipkg install buildroot
ipkg install cups-dev
wget http://downloads.sourceforge.net/project/cups-bjnp/cups-bjnp/1.2.1/cups-bjnp-1.2.1.tar.gz
gunzip cups-bjnp-1.2.1.tar.gz
tar -xvf cups-bjnp-1.2.1.tar
cd cups-bjnp-1.2.1
./configure
make install
Then go back to "http://:631/admin".
Add printer, choosing ipp and address bjnp://
Yeah!! This^^ helps!
DeleteNow i can print a test page with my Canon MP640...
Thx
Thank you random guid!
DeleteAwesome guide. Got everything to work. However, printing is unbelievably slow. Any log files I should be looking at?
ReplyDeleteI changed default options in the server to a lower DPI and the speed got better. This is only when printing from iOS because you can't set printer options and it uses defaults.
DeletePrinter: Canon MP180
Thanks for the feedback. Glad you got it working. Did you have compile and install the cups-bjnp package to get your Canon MP180 to work?
DeleteYeah, these routers with their MIPS processors are very slow. If you want a little more speed/power, consider picking up a PogoPlug.
I can print a test page from CUPS and my ipad sees the printer. However, it won't print anything. The CUPS page shows no indication of receiving a job either.
ReplyDeleteIs there something I'm missing? Thank you so much for this tutorial.
Not sure. Check the CUPS logs to see if the AirPrint job even makes it to CUPS. What model printer? Just curious.
DeleteIf I wait, a double sided option appears. Turning double sided off gets the job to CUPS and it does print.
DeleteAlso, I'm using a Brother HL4150cdn with a brother 4050 cups driver.
Glad to hear you got it working. Yeah, I don't think duplexing works.
DeleteHello,
ReplyDeleteI have a HP Laserjet m1136 printer. I tried all the drivers and even the generic ones, but the test page does not print. I get this error : "/opt/lib/cups/filter/hpcups failed". Any help?
Sorry, sounds like a driver issue. My only recommendation would be to try a different printer.
DeleteIs there a way to add the foo2qpdl driver to tomato?
ReplyDeleteI got
ReplyDeletewget: bad address 'ipkg.nslu2-linux.org'
is that ok??
Full log:
Deleteroot@tomatoRAF:/tmp# sh /tmp/optware-install.sh
Checking system config ...
Using 171.97.62.1 as the default gateway.
Using the following nameserver(s):
nameserver 127.0.0.1
Installing package uclibc-opt_0.9.28-13_mipsel.ipk ...
Some newer versions of DD-WRT does not show download progress bar,
so just be patient - or check STATUS -> BANDWIDTH tab for download
activity in your routers Web-GUI, and then still wait a minute or two.
wget: bad address 'ipkg.nslu2-linux.org'
tar: can't open '/tmp/uclibc-opt_0.9.28-13_mipsel.ipk': No such file or directory
tar: can't open '/tmp/control.tar.gz': No such file or directory
tar: can't open '/tmp/data.tar.gz': No such file or directory
Installing package ipkg-opt_0.99.163-10_mipsel.ipk ...
Some newer versions of DD-WRT does not show download progress bar,
so just be patient - or check STATUS -> BANDWIDTH tab for download
activity in your routers Web-GUI, and then still wait a minute or two.
wget: bad address 'ipkg.nslu2-linux.org'
tar: can't open '/tmp/ipkg-opt_0.99.163-10_mipsel.ipk': No such file or directory
tar: can't open '/tmp/control.tar.gz': No such file or directory
tar: can't open '/tmp/data.tar.gz': No such file or directory
/tmp/optware-install.sh: line 102: /opt/sbin/ldconfig: not found
/tmp/optware-install.sh: line 103: /opt/bin/ipkg: not found
/tmp/optware-install.sh: line 104: /opt/bin/ipkg: not found
/tmp/optware-install.sh: line 105: /opt/bin/ipkg: not found
Solved!!
DeleteChanged DNS to 8.8.8.8 and 8.8.4.4
Hi,
ReplyDeleteI followed it to letter and got the print page as well from CUPS.
The Airprint*.service xml has also been created and I can see it publishes as below
--------------------------------------------------------------------------------------
root@Tomato:/opt/etc/avahi/services# avahi-browse --terminate --resolve _ipp._tcp
+ br0 IPv4 AirPrint Epson-NX420 @ Tomato _ipp._tcp local
= br0 IPv4 AirPrint Epson-NX420 @ Tomato _ipp._tcp local
hostname = [Tomato.local]
address = [192.168.2.1]
port = [631]
txt = ["pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,text/html,text/plain,application/vnd.cups-banner,application/vnd.cups-command,application/vnd.cups-pdf" "printer-type=0x80900c" "printer-state=3" "product=(GPL Ghostscript)" "note=Epson inkjet printer NX420" "rp=printers/Epson-
NX420" "URF=none" "Transparent=T" "qtotal=1" "txtvers=1"]
--------------------------------------------------------------------------------------
However my Iphone( IOS7 ) nor ipod(IOS6) are not abel to find the printer.
what should be done.
FYI.. I did this on Belkin Share N300 router
DeleteNot sure why you're not seeing the printer. Can I assume this is your only router?
Deleteyes
DeleteAnything other information you may be leaving out that is relevant? Did you really follow the tutorial exactly from start to finish? Running Shibby's version of TomatoUSB, etc?
DeleteJust so we're clear, I meant to ask if this was your only router on your network. I noticed the IP of the router is set to 192.168.2.1, which isn't the default so I had to ask.
Have you completed step 8 and rebooted?
Yes, i followed it word by word. and Yes I have only 1 router. I can still print well from CUPS.
Deletehave tried Rebooting Router( and veryfied using "avahi-browse --terminate --resolve _ipp._tcp") and iphone5.
still no luck. Yes my router is set to 192.168.2.1, should i try to default it to 192.168.1.1
I was playing with it while reading - http://ubuntuforums.org/showthread.php?t=2060594 and then rebooted the router and voila, it got up.. can see it in my Iphone now..( Not sure if i made any significant change, so ur instructions are stil golden)
Deleteits different story that each job fails with this error "/opt/lib/cups/filter/pstoraster failed". looking in cups folder I do not see any pstoraster at all :-)
This comment has been removed by the author.
ReplyDeleteHi Qui
ReplyDeleteWhile I can start cloudprint manually from a telnet session but I'm having trouble to get it to start automatically after the router reboots, power flash etc. I tried this script in USB NAS script as suggested but cloudprint does not start. I can see cupsd and ahavi but no cloudprint with ps|tail and no log files record either. I tried to move the script to admin firewall but that does not work either.
My startup script reads
#Required for avahi and dbus
adduser avahi
addgroup netdev
#delete orphan pid files in case they exist
rm /opt/var/run/dbus/pid
rm /opt/var/run/avahi-daemon/pid
#start dbus before avahi
/opt/etc/init.d/S20dbus start
#start avahi (aka bonjour)
avahi-daemon -D
#Start CUPS
cupsd
copy back cloudprint authentication files to /tmp
cp /opt/cloudprint/.cloudprintauth /tmp/home/root/
cp /opt/cloudprint/.cloudprintauth.sasl /tmp/home/root/
/opt/local/bin/cloudprint &
Please help.
Frank Hull
PS you need to correct a typo in your tutorial to read /opt/cloudprint/.cloudprintauth.sasl /tmp/home/root/
Sorry for the support late reply. This is for future readers I guess.
DeleteCloudprint is started via the following line: "/opt/local/bin/cloudprint &". Simply as that. Double check that it runs correctly from the command line would be a good start.
Hi Qui,
ReplyDeleteThank you for your tutorial, im getting an error is step 4, in adding a new printer, after im filling the Name, Description and Location, im getting the bellow error:
Add Printer HP_LaserJet1200 Error
Unable to get list of printer drivers:
Internal Server Error
Add Printer HP_LaserJet1200 Error
Unable to get list of printer drivers:
Internal Server Error
Any idea how to resolve this issue ?
Regards
Ahmed
i am having the same problem as Ahmed, but with epson tx121 printer.
Deleteany insight on this?
Thanks, mufti
I reinstall gutenprint and cups-driver-gutenprint, and now I can select my printer driver.
DeleteBut I am still unable to print a test page.. :(
Try a different driver or printer.
DeleteHi Qui, I have tried various driver but could not get it working. However, I did some search at Gutenprint site and found that my printer driver is available on version 5.2.10. I just don't know where to find the ipk file or how to compile the source file on tomato. Any advise?
DeleteI have same problem
Deletethe State shows "The PPD version (5.2.10) is not compatible with Gutenprint 5.2.9."
I need to install Gutenprint 5.2.10 ,but I cant find the 5.2.10 ipk on the internet.
If someone can compile it please help me.
Hello, Can I install only google cloudprint without installing avahi and cups? I don't need to print from IOS devices. thanks
ReplyDeleteNo. The only part you can skip is the generation of the AirPrint service file. :)
DeleteHi while I am downloading Required Packages getting massage "wget: not an http or ftp url" any suggestions !
ReplyDeleteRun the following. Sorry, dropbox updated all their links to be https.
Delete#install wget-ssl (for https)
ipkg install wget-ssl
I'm getting that error too. I installed wget-ssl and still get the error. Any suggestions?
Deleterun "which wget" and post the result. Then try "/opt/bin/wget"
DeleteWill have to start over. I manually copied the install files instead of using wget. Got cups going and was able to do a test print. But when the router rebooted I get permission denied errors when I try to run s20dbus... No idea why. Got to start over!
DeleteOk. Started over. Had to use /opt/bin/wget --no-check-certificate to get wget working. Installed the first dbus package like a charm. Only thing is it warns 'messagebus user not found' and my prefix login in SSH says 'root@unknown'. Not sure if it is important. Anyhow thanks for that clarification. Continuing on..
DeleteHello, I can not find a driver for my Canon MF4700 Series printer, any help and suggestion is appreciate !
ReplyDeleteHi, During Google cloud print set up while i enter ' /opt/local/bin/cloudprint ' i am getting error 'ImportError: No module named argparse '
ReplyDeleteany help and suggestion is appreciate !
Im getting the same error!
DeleteSorry, this is not something I personal use anymore. The issue is mostly a mismatch of code. Try to get a older version of cloudprint somehow.
DeleteTry to use the cloudprint package from davygravy - https://dl.dropboxusercontent.com/u/1015928/ddwrt/airprint-materials/setup%20directions. Let me know.
DeleteThere really is no need for google cloudprint if you use chrome browser but it would be neat to have it installed. Anyhow I just put in a micro sd card in my rt-n66u and starting the tutorial over. No more need for usb drive!
DeleteThanks for writing this guide! It works now! But it is very very slow! Takes three minutes from clicking print on the ipad to cupsd starting the print process. Maybe its because my networks settings are messy? I have two dhcp clients. Top router is an R7000 running DDWRT BS build ip 192.168.1.100-199 and then RT-N66U with Tomato-USB DHCP 192.168.1.200-251. Have an HP Deskjet 5400 connected to the RT-N66U. Thanks.
ReplyDeleteYes, it is slow because the CPU in your router isn't really designed to do this type of work (it is not your "messy" network). As the tutorial stated, my recommendation is to use Pogoplug.
DeleteWhat drive did you end up using with the HP Deskjet 5400?
Hi, I can now print via Airprint but have one problem. I cant access the printer on the network from another computer.
ReplyDeleteWhen I try to add the printer in windows as a TCP/Ip printer at 192.168.1.1:9100 the printer moves for a second and I install the drivers but the print jobs fail. But airprint works flawlessly!
I figured it out. I had to access the printer at http://192.168.1.1:631/printers/Printername
ReplyDeleteHey Qui,
ReplyDeleteWas wondering if its possible to add another airprint printer that prints to pdf files on a network share?
thanks
hi Qui
ReplyDeleteThanks for the great tutorial
i have followed the steps but i received this issue on asus ac68r latest shibby tomato
Connecting to tomatousb.org (107.20.139.170:80)
Connecting to tomatousb.wdfiles.com (54.165.148.181:80)
- 100% |*******************************| 2826 0:00:00 ETA
root@Home:/tmp# chmod +x /tmp/optware-install.sh
root@Home:/tmp# sh /tmp/optware-install.sh
Checking system config ...
Using 10.3.150.1
192.168.1.1 as the default gateway.
Using the following nameserver(s):
nameserver 127.0.0.1
Installing package uclibc-opt_0.9.28-13_mipsel.ipk ...
Some newer versions of DD-WRT does not show download progress bar,
so just be patient - or check STATUS -> BANDWIDTH tab for download
activity in your routers Web-GUI, and then still wait a minute or two.
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
uclibc-opt_0.9.28-13 100% |*******************************| 832k 0:00:00 ETA
Updating /opt/etc/ld.so.cache
/opt/sbin/ldconfig: line 1: syntax error: unexpected "("
Installing package ipkg-opt_0.99.163-10_mipsel.ipk ...
Some newer versions of DD-WRT does not show download progress bar,
so just be patient - or check STATUS -> BANDWIDTH tab for download
activity in your routers Web-GUI, and then still wait a minute or two.
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
ipkg-opt_0.99.163-10 100% |*******************************| 75850 0:00:00 ETA
/opt/sbin/ldconfig: line 1: syntax error: unexpected "("
/opt/bin/ipkg: line 1:EL@4▒: not found
/opt/bin/ipkg: line 2: syntax error: unexpected "("
/opt/bin/ipkg: line 1:EL@4▒: not found
/opt/bin/ipkg: line 2: syntax error: unexpected "("
/opt/bin/ipkg: line 1:EL@4▒: not found
/opt/bin/ipkg: line 2: syntax error: unexpected "("
thanks in advance
i am having same prob any sol?
DeleteI've gotten CUPS working & printing fine, but the iDevices aren't seeing the printer. Avahi-browse in the terminal returns:
ReplyDelete+ br0 IPv4 Brother HL-2270DW series _ipp._tcp local
= br0 IPv4 Brother HL-2270DW series _ipp._tcp local
hostname = [BRN30055C07961B.local]
address = [192.168.1.155]
port = [631]
txt = ["TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Duplex=T" "Copies=T" "Color=F" "usb_MDL=HL-2270DW series" "usb_MFG=Brother" "priority=50" "adminurl=http://BRN30055C07961B.local./" "product=(Brother HL-2270DW series)" "ty=Brother HL-2270DW series" "rp=duerqxesz5090" "pdl=application/vnd.hp-PCL" "qtotal=1" "txtvers=1"]
Any troubleshooting ideas?
Sorry, this is not something I'm using anymore and can not provide any support. As stated, I've transition AirPrint to my Pogoplug.
DeleteThis is because the AirPrint tutorial uses Entware and this tutorial uses Optware, which isn't compatible with each other. Printers Reviews
ReplyDeleteThis is because the AirPrint tutorial uses Entware and this tutorial uses Optware, which isn't compatible with each other. Printers Reviews
ReplyDeleteinteresting problem for me... it installs an older CUPS than the file I've downloaded no matter what options I've chosen in ipkg. Regardless, I am getting "can't load library libresolv.so.o" when launching cups daemon. I don't know that the version of cups is what's causing this.
ReplyDeleteit seems the dd-box link is down and I need the py26-cups_1.9.62-1_mipsel.ipk. do you have a copy of it u can provie? Thank!
ReplyDeleteAfter working for a couple years my optware running on Tomato Asus N66U box broke. No idea why. Going to start over but considering the age of this tutorial is there a newer better way to set this up?
ReplyDeleteThanks
Your article has piqued a lot of positive interest. I can see why since you have done such a good job of making it interesting. App Valley Download
ReplyDeleteIf you have actually neglected your Customer ID or Password, keep reading. Citicards Login In particular markets, Citigold Select is accessible by clients.
ReplyDeleteI'm always surprised by using the amount of records to be had in this subject. What you supplied was nicely researched and nicely worded with the intention to get your stand in this across to all your readers. Gmod game
ReplyDeleteDOWNLOAD PAID APPS FOR FREE WITH TUTUAPP FROM PLAYSTORE DOWNLOAD TUTUAPP FOR MORE INFO
ReplyDeleteTutuapp
Tutuapp Android
Awesome article! I want people to know just how good this information is in your article. It’s interesting, compelling content. Your views are much like my own concerning this subject. appvn
ReplyDeleteteen patti gold hack
ReplyDeleteteen patti gold hack
omegle alternative sites
best sites like omegle
best video chat sites
omegle alternative apps
play store pro apk free download
play store pro free apk
download play store pro apk
play store pro apk download free
Spotify Premium Apk
ReplyDeleteFake Gps Pokemon Go
Fake Gps Pokemon Go
Fake Gps Pokemon Go Joystick
Spotify Premium Apk
Pokemon Go Joystick
Spotify Premium Apk
Spotify Premium Apk
Best Nursing Diagnosis
ReplyDeleteBest Nursing Diagnosis
Best Nursing Diagnosis
Best Nursing Diagnosis
Best Nursing Diagnosis
Best Nursing Diagnosis
Best Nursing Diagnosis
Best Nursing Diagnosis
Best Nursing Diagnosis
You aren't too fussed regarding its headline attribute. www.mihanblog.com also seven combs allowing you to trim to Most Popular beard trimmer but if you cannot easily fit in a visit 9 best beard trimmers this design is developed to tackle bristle and top rated beard trimmers as well as it can be used dry or with foam or with gel. Source Website to gain access to the blade itself.
ReplyDeleteDownload Latest Movies With
ReplyDeleteNewest Movies HD
Newest Movie HD
Newest Movies HD for PC
ReplyDeleteTutuapp
Tutuapp Download
tutuapp android
Tutuapp iOS
Tutuapp
Tutuapp apk
Pokesniper
tutuapp download
Appvn
ReplyDeleteAppvn For Pc
Blackmart
Blackmart Pc
iTube
Snaptube
Snaptube for pc
Visit for the best Logistics and Freight Forwarders Companies in Delhi at Y & H Cargo India.
ReplyDeleteShipping Company in Delhi
Spin Gurus is provided you the best service of Music Production.
ReplyDeleteMusic Production Courses
Nice Blog. If you Need best Mutual Fund in India MutualFundWala is best for you.
ReplyDeleteMutual Fund Distributor
nice article. Thanks for sharing the great post...!
ReplyDeleteWhat is DataMapping
What Is ARP
What Is A Manifest
Diffrence Between $Scope and Scope
Explain Design Concept Of Appium
Features Of ArcSight Enterprise Security Manager
What Is Configuration Management
What Is a Security Policy
Explain the Use of SSD
What is a string
Excellant your post and blog.
ReplyDeleteIt’s amazing in support of me totruly have a blog site, which will be valuable meant for my knowledge. Thanks admin
Transcription in USA
Transcription in USA
Transcriptions in US
Medical Transcription in USA
Medical Transcription Companies in USA
best Medical Transcription Companies in USA
Medical Transcription Services USA
Transcription companies in USA
Transcription services in USA
transcription companies in us
Transcription USA
General Transcription companies in US
Medical Transcriptionist in us
Excellent post.
ReplyDeletehttps://www.bly.com/blog/direct-marketing/the-rfm-formula-in-direct-marketing/
https://www.zwsoft.com/forum/thread-5147-1-1.html
https://forum.primefaces.org/viewtopic.php?t=58214
http://www.letsrun.com/forum/flat_read.php?thread=9266545
https://chippewa.com/329e0224-9149-5322-854c-e7e00146b8ac.html
There is no doubt in the app you can easily download the app the most exciting features are waiting for you can easily go with Tutu App. There are nothing extra features required in this app because the most important items are already available in his update versions. Download Latest Version. Also love Snaptube For PC
ReplyDeleteI can’t believe focusing long enough to research; much less write this kind of article. You’ve outdone yourself with this material without a doubt. It is one of the greatest contents. https://192-168-i-i.com/cisco-router-default-password/
ReplyDeletegood post
ReplyDeletefashionable girls costumes
modeling
awesome article f150 ford specs
ReplyDeleteAppValley is a free app store to download millions of Android, iOS apps along with Tweaked Apps without Jailbreaking iPhone/iPad.
ReplyDeletehttps://appvalley.co.in/
appvalley download
appvalley ios
appvalley apps
appvalley apk
appvalley download ios
I download youtube videos through Vidmate because it has awsome good features like high speed downloading and hd video download etc.
ReplyDeleteFilmywap
DeleteSaaho Full Movie in Hindi Dubbed Download
Saaho Full Movie in Hindi Dubbed Download
This comment has been removed by the author.
ReplyDelete
ReplyDelete192.168.1.1
192.168.0.1.1
192.168.1.254
sounddownmp3.com
Filmywap
ReplyDeleteSaaho Full Movie in Hindi Dubbed Download
Saaho Full Movie in Hindi Dubbed Download
thank u for good article check to rank fast on googlerank af
Deletethank u for good article check to rank fast on googlerank af
ReplyDeletenice work buddy check this too it will helpmission mangal download
ReplyDeleteAmong the products listed on the site, which one is the best???
ReplyDeleteTweakbox App is the one of the best ios,android App store to get the tons of free app and game. Here the latest version of tweak box of free.
ReplyDeleteTweak box
Tweakbox ios
Tweakbox android
ReplyDeleteShowbox Apk is a meta-search engine scraper that scrapes data from the world wide web and provides you with the best for your movies and TV shows.
It works directly as well as p2p i.e peer to peer.
if you are looking for free movies and tv shows you can find them on showbox app its easy to download and install
you can stream movies and tv shows on tvtap for free its great app for all types of live stream
if you wanna watch free movies and tv shows you can tune in to beetv app for free
whatsapp status
RedBox TV App has introduced a lot more features than any other TV Channels Streaming App. It does have categories, depending on Counties as well.
To find out your native language you can swipe to Country based categories, where you’ll find the channels which are highly native to your region and language. That’s an extra of RedBox TV App.
Apart from this, RedBox is available for almost every possible platform. Unlike the other apps, Redbox tv don’t claims any fake hoax, all the stuff where are features in this post will be served.
Great content. Pleasure to read your blog. Thank you
ReplyDeleteinstall norton using product key
avast 5 license key
avast licence
avg install with license key
www trendmicro com bestbuy pc
cool post with some dope info! ppsc jobs in pakistan
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDelete
ReplyDeleteWell I definitely enjoyed reading it. This tip procured by you is very constructive for correct planning.
Corporate video makers Delhi
Explainer Video company Delhi NCR
Past the essential arrangement of wireless web inside your home or office, there are numerous extra highlights which ought to be viewed as when taking a gander at purchasing another wireless router.best wifi router for long range
ReplyDeleteIt's at the same time a decent place which i extremely savored browsing. Isn't day to day that provide the prospect to observe an item. Best Vape Tank in UK
ReplyDeleteThis is a very good tip particularly to those fresh to the blogosphere.Short but very accurate info… Many thanks for sharing this one.A must read article!my web blog.
ReplyDeleteSeeds Online
Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!Thanks
ReplyDeleteMuskmelon Seeds
This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here keep up the good work.
ReplyDeleteMitsubishi Forklift
I am really liking your website and it is really amazing so thanks for sharing knowledgeable content.
ReplyDeleteHard Chrome Plating
The item will give you a keyword rich link a great useful website page Very interesting.
ReplyDeleteSurface Finish
This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here keep up the good work.
ReplyDeleteIndustrial Cleaning Machine
Good composed article. It will be steady to any individual who uses it, including me. Continue doing what you are doing - can'r hold up to peruse more posts.
ReplyDeleteFord Willoughby
Nino Nurmadi, S.Kom
ReplyDeleteNino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
Nino Nurmadi, S.Kom
This post is really nice and informative. The explanation given is really comprehensive and useful.
ReplyDeletesalesforce admin training
Nice post I have been searching for a useful post like this on salesforce course details, it is highly helpful for me and I have a Emus4u great experience with this
ReplyDelete
ReplyDelete192.168.o.1
192.168.l0.1
192.168.0.1
thanks for sharing this awesome content
ReplyDeletefarmhouse lumbar pillow
personalized christmas ornaments
ReplyDeleteTo be honest I found very helpful information your blog thanks for providing us such blog Cricket Player
thats an great articlethanks a lot for Providing such anamazing articlekeep posting articles likelike thisread my article asloand follow me on instagram click here
ReplyDeleteThank you so much for this excellent Post and all the best for your future. I hope you and we will be sharing more thoughts and keep writing more like this one.
ReplyDeleteoffice.com/setup
mcafee.com/activate
Hey I am for the first time here. I came across this blog and I find It really useful & it helped me out much. I hope to give something back and aid others like you helped me. I think this is engaging and eye-opening material. Thank you so much for caring about your content and your readers.
ReplyDeleteWeed Accessories
Medical Marijuana
Medical Marijuana
Weed Edibles
Weed Maps
I like what you guys are up also. Such intelligent work and reporting! Keep up the superb works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my web site
ReplyDeleteReplacement Vape Coils
Pockex Coils
V Juice E-Liquid
Vape Shop in UK
Amsterdam Cbd E Liquid
Sub ohm Tanks UK
Pockex Coils
I think this is among the most important information for me. And i’m glad reading your article. But want to remark on few general things, The web site style is perfect, the articles is really great : D. Good job, cheers
ReplyDeleteLakme Nail Polish Kit Price
Lotus Moisturizer With Sunscreen
Maybelline New York Lasting Drama Waterproof Gel Pencil
Airoshot Blast is a Leading Manufacturer, Supplier, and exporter of Sand Blasting Machine & Shot Blasting Machine. We also Manufacture and supply customized grit blasting Machine with dust collectors & the best quality sandblasting room
ReplyDeleteSee More:-
Shot Blasting Cabinet
Grit Blasting Machine
Portable Shot Blasting Machine
ReplyDeletethanks for this great article and blog wonderful content
Shot Blasting Machine Manufacturer in India. Shot blasting machine also provides shot blasting cabinet, portable shot blasting machine.Our organization is known to be one of the trustworthy Supplier, Manufacturers, and Exporters of the Sandblasting machine, Thermal Spray Guns, and Abrasive Blasting Media. For more Information contact us @+918003997469
See More:-
Sandblasting Cabinet
Portable shot blasting machine
Portable sandblasting machine
Many thanks for the exciting blog posting! Simply put your blog post to my favorite blog list and will look forward for additional updates. Thanks all for share your tips and tricks. I also would like to share with you Business Essentials Products Online.
ReplyDeleteBest Corporate Video Production Company in Bangalore and top Explainer Video Company, 3d, 2d Animation Video Makers in Chennai
ReplyDeleteAwesome blog !! Thank so much for this information and This is really helpful to me.
Thanks for your interesting ideas.the information's in this blog is very much useful for me to improve my knowledge.
ReplyDeleteWeb Designing Course Training in Chennai | Web Designing Course Training in Bangalore | Web Designing Course Training in Hyderabad | Web Designing Course Training in porur | Web Designing Course Training in tambaram | Web Designing Course Training in velachery
Microsoft Office suite has become a must-have not only for large corporations but for individual users as well. The latter face the necessity to download Office programs once they understand that apps integrated into their OS are too basic and can’t satisfy their needs.
ReplyDeleteMicrosoft Office Torrent
The number of people looking for Microsoft Office torrent is growing every day. The tendency is obvious since this package of programs has long become popular among millions of users all over the globe, supplying them with all the necessary tools for work with text, spreadsheets and presentations.
ReplyDeleteMicrosoft office torrent
Grit Blasting Machine is a technique which smoot a surface with the help of high-velocity steel abrasive material. The grit blasting machine method helps in obtaining the cleaning and preparation of the surfaces for the secondary finishing operations. The selection process of the type of grit blasting equipment and machines depends on the size and shape of the equipment. The surface to be cleaned, the required final surface finish specification, and the overall required process.
ReplyDeleteWe are grit blasting Machine Manufacturer in India, Supplier & Exporter of, grit blasting cabinet, room, hopper in India at a low price for sale.
See More:
Grit Blasting Machine Price in India
Grit Blasting Machine Manufacturers
Grit Blasting Machine is a technique which smoot a surface with the help of high-velocity steel abrasive material. The grit blasting machine method helps in obtaining the cleaning and preparation of the surfaces for the secondary finishing operations. The selection process of the type of grit blasting equipment and machines depends on the size and shape of the equipment. The surface to be cleaned, the required final surface finish specification, and the overall required process.
ReplyDeleteWe are grit blasting Machine Manufacturer in India, Supplier & Exporter of, grit blasting cabinet, room, hopper in India at a low price for sale.
See More:
Grit Blasting Machine Price in India
Grit Blasting Machine Manufacturers
It was not first article by this author as I always found him as a talented author. Van Helsing Coat
ReplyDeleteThank you for sharing how to setup Apple AirPrint Server on a router running TomatoUSB firmware, I can finally print on my printer without connecting it on a PC or Mac unit. Want to build your Master bathroom designs? Then check https://www.desmoinesbathroomremodeling.com/
ReplyDeleteThis was an extremely wonderful post. Thanks for providing this info.
ReplyDeleteterror billy jacket
ReplyDeleteRouters are the most important devices that are required to get the internet connectivity. There are many brands and router models around the globe. Most people use multiple brand routers, they don't know how to configure them for the perfect usage. Here at
click my site
we have all the manuals for configuring the router login pages.
The timeliness with which business needs to reach SalesForce. Salesforce training in Chennai
ReplyDeleteSalesforce development has become an essential requirement in the present business scenario. By providing comprehensive solution for businesses through its communication and monitoring channels for the entire company, Salesforce training in Hyderabad
ReplyDelete
ReplyDeleteFirstly talking about the Blog it is providing the great information providing by you . Thanks for that .Hope More articles from you . Next i want to share some Information about Salesforce training in Hyderabad .
Based in Dubai, west asia network DMCC serves as a trader and distributor of worlds best construction products. We are the exclusive distributor of concrete densification and polishing materials of Curecrete Inc.
ReplyDelete
ReplyDeleteI fully satisfy with this website, i am just going through your all pages. Expecting this types of great new contents.
Well I definitely enjoyed reading it. This tip procured by you is very constructive for correct planning.
corporate film makers in delhi
ad film production houses in delhi
R Kumar Rkumar and Company, established in 1997,manufacturers and exporters of Custom Jute Bags, Cotton Bags,Juco Bags and Canvas Bags.
ReplyDeleteR Kumar and Company has been a leader in the field of manufacturing and exporting high quality cotton bags and jute bags. Based out of Kolkata, R Kumar designs, manufactures and exports various variants of Jute bags, Cotton bags and Canvas bags.
R Kumar and Company, established in 1997,manufacturers and exporters of Custom Jute Bags, Cotton Bags,Juco Bags and Canvas Bags.
ReplyDeleteR Kumar and Company has been a leader in the field of manufacturing and exporting high quality cotton bags and jute bags. Based out of Kolkata, R Kumar designs, manufactures and exports various variants of Jute bags, Cotton bags and Canvas bags.
Every dish at Zizzie Zizzie has its own illusionary and 3 dimensional effect catering from Continental to Chinese. On the other hand, it has its own story from the traditional recipes to the modern upgrades. It tells us the history of our team , cooks and chef’s who have left their scintillating mark inside and outside the kitchen and also of our serving staff and managers who have been ambassadors of hospitality.
ReplyDeleteWe find inspiration all around in new ingredients , new approaches and fresh take on old standards.
Every dish at Zizzie has its own illusionary and 3 dimensional effect catering from Continental to Chinese. On the other hand, it has its own story from the traditional recipes to the modern upgrades. It tells us the history of our team , cooks and chef’s who have left their scintillating mark inside and outside the kitchen and also of our serving staff and managers who have been ambassadors of hospitality.
ReplyDeleteWe find inspiration all around in new ingredients , new approaches and fresh take on old standards.
Đại lý vé máy bay Aivivu, tham khảo
ReplyDeletegia ve may bay tet 2021
vé máy bay đi Mỹ
mua vé máy bay đi Pháp
vé đi hàn
lịch bay sang nhật của vietnam airline
giá vé máy bay từ việt nam sang Anh
vé máy bay giá rẻ hôm nay
ReplyDelete192.168.15.1 nice one good post
ReplyDelete192.168.15.1 nice one good post
ReplyDeletewww.192-168-1-254.uno
192.168.l.0.1
192.168.1.254 IP address can be used to change the name of the Wi-Fi, control the number of devices that are connected at a time to the network and much more.
Excellent post! I want to more unique&different content about this topic and keep doing...
ReplyDeleteInformatica Training in Bangalore
Informatica Training in Chennai
Informatica MDM Training in Chennai
Informatica Course in Chennai
Đặt vé máy bay tại Aivivu, tham khảo
ReplyDeleteVé máy bay đi Mỹ
mua vé máy bay từ mỹ về việt nam hãng eva
bao giờ có chuyến bay từ đức về việt nam
đặt vé máy bay từ nga về việt nam
This is very valuable for me and thanks to you so much for your great post...!
ReplyDeletePEGA Training in Chennai
Oracle DBA Training in Chennai
Oracle DBA Course in Chennai
Thanks for giving me good information. It is really useful for getting more information.
ReplyDeletetesting types
angular current version
what is python used for at google
cisco cloud certification
data science interview questions and answers for freshers
python interview questions and answers for experienced