
Warning: strpos() expects parameter 1 to be string, array given in /volume1/web/wordpress/wp-includes/blocks.php on line 20

Warning: strpos() expects parameter 1 to be string, array given in /volume1/web/wordpress/wp-includes/blocks.php on line 20

Warning: strpos() expects parameter 1 to be string, array given in /volume1/web/wordpress/wp-includes/blocks.php on line 20
{"id":2619,"date":"2017-10-23T13:27:10","date_gmt":"2017-10-23T13:27:10","guid":{"rendered":"https:\/\/home.worldofwills.uk\/Home\/?p=2619"},"modified":"2021-01-15T18:06:51","modified_gmt":"2021-01-15T18:06:51","slug":"raspberry-pi-print-server","status":"publish","type":"post","link":"https:\/\/worldofwills.uk\/wordpress\/2017\/10\/23\/raspberry-pi-print-server\/","title":{"rendered":"Raspberry PI print server"},"content":{"rendered":"\n<p>I&#8217;ve wanted to sort out our home printing set-up for some time. We have a Canon printer which is connected via a USB cable to our desktop PC so whenever we want to print from the Mac we have to boot up the desktop. Our printer is not a network print server.<br>I&#8217;ve owned a RaspberryPi model &#8216;B&#8217; since they were first sold, but had done precious little with it. It&#8217;s too low powered to be used as a real desktop and to use it so I would have to have another screen, mouse etc.<br>There is a really useful toolset called &#8216;Buildroot&#8217; which allows a user on a Linux system to cross-compile and build a customised and very small&nbsp; boot image for a very small computer, such as the Pi, so I downloaded the tools and played around to see what it could do.<br>There are some excellent tutorials on embedded Linux and Buildroot on the <a href=\"http:\/\/free-electrons.com\">free-electrons<\/a> web site which I pored over for many hours and after some playing managed to configure &#8216;Buildroot&#8217; to build a dedicated printserver to run on the PI and offer printing to the other computers in our home network. The boot image is less than 150Mb so fits easily on a 256Mb SD card.<\/p>\n\n\n\n<p>The Pi is now powered by the printer so when we switch the printer on, the PI automatically loads up and makes the printer available on our home network.<\/p>\n\n\n\n<p>Here is the PI in its multi-coloured case, note it&#8217;s not much bigger than a credit card as can be seen below.<\/p>\n\n\n\n<div class=\"wp-block-image wp-image-2630\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/worldofwills.uk\/wordpress\/wp-content\/uploads\/2021\/01\/RPI_B_Original.jpg\" alt=\"\" class=\"wp-image-4972\" width=\"585\" height=\"438\" srcset=\"https:\/\/worldofwills.uk\/wordpress\/wp-content\/uploads\/2021\/01\/RPI_B_Original.jpg 800w, https:\/\/worldofwills.uk\/wordpress\/wp-content\/uploads\/2021\/01\/RPI_B_Original-300x225.jpg 300w, https:\/\/worldofwills.uk\/wordpress\/wp-content\/uploads\/2021\/01\/RPI_B_Original-768x576.jpg 768w\" sizes=\"(max-width: 585px) 85vw, 585px\" \/><figcaption>Raspberry Pi Model B, the original RPI<\/figcaption><\/figure><\/div>\n\n\n\n<p>Raspberry PI computers are just brilliant. They retail from just under \u00a310 and run Linux. Using <em>Buildroot<\/em>, you can create super low cost dedicated devices such as print servers, DNS servers, etc etc that attach to your home wireless networks. Just brilliant!.,<\/p>\n\n\n\n<p>Here is what I did to make it all work:<\/p>\n\n\n\n<ol><li>Download Buildroot to my Linux desktop and produce a configuration for the PI:\n<ol>\n<li><em>mkdir piB; cd piB;<\/em><\/li>\n<li><em>ln -s ~\/&#8217;<\/em>buildroot directory<em>&#8216; buildroot <\/em><\/li>\n<li><em>make -C ..\/buildroot O=$(PWD) raspberrypi_defconfig<\/em> to create the default configuration for the Raspberry Pi model B.<\/li>\n<\/ol>\n<\/li><li>Modify the configuration to point to overlays, user table, patch, post-build, post-image directories<\/li><li>Enable udev, dropbear, busybox, tinyhttpd, p910nd, kmod,<\/li><li>Modify config nodename.<\/li><li>Create overlay files for fixed IP address, printer startup, modules-load.d to enable usblp.<\/li><li>Modify the printer startup script (<em>S90printer<\/em> in my case) to create the lock directory \/<em>tmp\/lock\/subsys <\/em><\/li><li>Remove all the unnecessary graphics, sound etc stuff found in the default configuration.<\/li><li>Build the config using <em>make<\/em>.<\/li><li>Copy the configuration to SD card using &#8216;<em>dd<\/em>&#8216; with something like:<em>sudo dd if=images\/sdcard.img of=\/dev\/sdh ; sync ; sync<\/em><\/li><li>Put the SD card in the PI and power it up.<\/li><\/ol>\n\n\n\n<p>Then, set up printing from the client computers. The PI printserver uses p910nd to listen on the network for print requests. Clients should access it at: <em>socket:\/\/IPADDRESS:9100<\/em>. To make this all work from the Mac I had to load the Gutenberg Canon printer drivers onto the Mac as the standard Apple Canon drivers do not work across sockets.<\/p>\n\n\n\n<p>Loads of good info on p910 can be found at <a href=\"https:\/\/wiki.openwrt.org\/doc\/howto\/p910nd.server\">p910nd<\/a><\/p>\n\n\n\n<p>It all works a treat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve wanted to sort out our home printing set-up for some time. We have a Canon printer which is connected via a USB cable to our desktop PC so whenever we want to print from the Mac we have to boot up the desktop. Our printer is not a network print server.I&#8217;ve owned a RaspberryPi &hellip; <a href=\"https:\/\/worldofwills.uk\/wordpress\/2017\/10\/23\/raspberry-pi-print-server\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Raspberry PI print server&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[20],"tags":[],"_links":{"self":[{"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/posts\/2619"}],"collection":[{"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/comments?post=2619"}],"version-history":[{"count":2,"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/posts\/2619\/revisions"}],"predecessor-version":[{"id":4973,"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/posts\/2619\/revisions\/4973"}],"wp:attachment":[{"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/media?parent=2619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/categories?post=2619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/worldofwills.uk\/wordpress\/wp-json\/wp\/v2\/tags?post=2619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}