Categories: Linux

Hacking the PogoPlug Mobile – Adding Airprint and CloudPrint (Print From ChromeBook without a Cloudprint Printer)

I purchased a Pogo Plug Mobile (Model POGO-V4-A1-01) for $10 off ebay a few weeks ago.

This version of the PogoPlug comes with the following:

  • 88F6192 Kirkwood ARMv5 NAS system-on-chip running at 800 MHz>
  • 1 Gigabit Ethernet
  • 1 2.0 USB Port
  • SD Card Slot

I knew it could be used for a file server but did not have much use for it at the time so put it on the shelf. A few weeks later my elementary school age daughter needed to print from her Chromebook from home. Chromebooks are becoming very popular at schools. They are relatively inexpensive, easy to use, and able to be tightly administered by the school. Unfortunately it is very difficult to print from one at home. Since it doesn’t run from windows, you must have a printer that is “Cloudprint” enabled to work with google chrome or keep another computer running with Chrome. Since I had an old Samsung 4521f printer and didn’t want to keep my computer running all day, I decided to get my Pogoplug off the shelf and do some hacking.

Warning: This involves removing the built in software on your PogoPlug and will remove all “stock” functionality that it came with. You will not be able to use the PogoPlug services. This WILL void your warranty. In addition, all these instructions and this post is at your own risk.
  1. Plug an ethernet cable into your PogoPlug, pop an empty 2GB or more SD Card into the SD Card slot, and plug your PogoPlug into the wall.
  2. Using your browser, navigate to your ip address for your router (usually 192.168.0.1 or something similar, see your router manual), login to your admin interface, and look at the connected devices and determine what ip address your PogoPlug is using.
  3. Enable SSH.
  4. To enable SSH, create an account at the PogoPlug website. Activate your pogoplug, then go to Settings in the Web interface, select Security Settings, and then select the checkbox for Enable SSH for this Pogoplog-enabled device. A dialog box will open and ask you to assign a password for the root use.

    Screenshot is at: Pogoplug help.

  5. Using Putty, connect to your Pogoplug.
  6. Login with root/ceadmin.

    To avoid typos, as much as possible copy all commands using your mouse and paste them into your ssh console (paste is usually just a single right click)
  7. Follow these instructions from Qui’s blog post “Hacking the Pogoplug v4 (Series 4 and Mobile) with Linux (Debian or Arch)” but only to “Debian/ALARM Installation on SD Card (or USB Hard/Flash Drive)” – DO NOT do that step.
  8. Also, make sure you install netconsole. He says it is optional but if you have problems you will need it to diagnose them. Also, install “asuc” on your windows computer that is accessing the pogoplug, asuc: A Simple Udp Console. This will let you see what’s going on inside your PogoPlug or at least initial boot without having to SSH in.

    WARNING: I”ll say that again. DO NOT DO “Debian/ALARM Installation” section in Qui’s blog. You will get what will look like a bricked device if you try to install Arch on the SD Card (if you do do this, it isn’t bricked but you will need to install debian on a flash stick and reboot and you should be able to log in by ssh) Only do the debian install onto the SD Card as illustrated in next step.
  9. Ok, now that you are done with Qui’s instructions, install Debian on the SD Card:
    #stop my.pogoplug.com service (just in case)
    killall hbwd
    
    #make device node for mmc/sd card
    #skip command for usb install
    mknod /tmp/mmcblk0 b 179 0
    
    #Partition your SD Card 
    /sbin/fdisk /tmp/mmcblk0
    
    # Type in the following commands to erase
    # and re-partition SD Card/USB Flash/Hard Drive
    #(WARNING - FLASH/HARD DRIVE WILL BE COMPLETELY WIPED):
    #
    p # list current partitions
    o # to delete all partitions
    n # new partition
    p # primary partition
    1 (one) # first partition
     # default start block
     # default end block (to use the whole drive)
    w # write new partition to disk
    
    #make device node for partition
    
    mknod /tmp/mmcblk0p1 b 179 1
    
    #download format utility
    cd /tmp
    wget http://archlinuxarm.org/os/pogoplug/mke2fs
    chmod +x mke2fs
    
    #format newly created partition
    #ext3 with "rootfs" as label
    /tmp/mke2fs -L rootfs -j /tmp/mmcblk0p1
    
    
    #create mount point
    mkdir /tmp/mnt
    #mount SD Card
    mount /tmp/mmcblk0p1 /tmp/mnt
    
    
    #download Debian rootfs and md5
    cd /tmp/mnt
    wget http://mirror.jblee.kr/Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2
    
    wget http://download.qnology.com/pogoplug/v4/Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.md5
    
    #check md5 (output should match)
    md5sum Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2
    cat Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.md5
    
    #extract and delete
    tar -xjf Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2
    rm Debian-3.14.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2
    
    
    #Sync and reboot, cross your fingers
    sync
    cd ..
    umount /tmp/mnt
    /sbin/reboot
    

    If you have problems, see Qui’s post for troubleshooting

  10. Setup Debian
    #Initial update
    apt-get update
    apt-get upgrade
    
  11. Install Printer services:
    apt-get install cups 
    apt-get cups-driver-gutenprint
    apt-get install ghostscript
    apt-get install python-cups
    apt-get install avahi-utils
    apt-get install foomatic-filters
    apt-get install foomatic-db
    apt-get install printer-driver-all
    
  12. Backup CUPS configuration and install new cupsd.conf.
    #Backup original cupsd.conf
    cd /etc/cups
    mv cupsd.conf cupsd.conf.org
    
    #download Qui's cupsd.conf
    wget  --no-check-certificate http://dl.dropbox.com/u/42238/pogoplug/cupsd.conf
    
    /etc/init.d/cups restart
    
  13. Make sure your Printer is connected to the USB port of your PogoPlug. If you have a network printer, you can leave it networked but find out what the IP addreess of the printer is.
  14. Navigate to the ipaddress of your PogoPlug, using port 631. Example: http://192.168.031:631

    You should see the CUPS web interface. Go to Home->Add Printers and Classes->Add Printer. Follow the wizard.
    CUPS printer system works with many but not all printers. A printer connected directly through the USB port is easiest for you to setup, but you can also setup a network printer using an IP address. You will need to know how to connect and what IP protocol to use. For troubleshooting see CUPS help (links are ont he CUPS admin interface web page).

  15. Add Print Driver:

    This is what I did to print to my Samsung 4521f printer on my home network which was plugged into a Belkin router running Toastman’s mod of tomatoUSB:

    • Add Printer->Other Network Printers->LPD/LPR Host or Printer ->
    • Entering into connection: socket://192.168.0.33:9100 (ip address that belkin router that the printer connects to).
    • I used the Samsung ml-4500 gdi driver. (I downloaded a gdi from http://www.openprinting.org/driver/gdi/). The driver that was listed in the CUPS in interface did not work.
  16. For security purposes, setup a separate Google gmail account to use that will be the owner of the printers.
  17. Install Cloudprint for Debian

You should be good to go. The trickiest part may be the print drivers.

Charlie

Recent Posts

Fix Your Smart Home – Stop Tasmota Devices From Switching Randomly

While working on fixing my KuLED light switches from magically but unexpectedly switching on, I…

2 months ago

Using WP-CLI to Access MySQL Running in A LAMP Docker Container

WP-CLI is a great command line tool to help you manage Wordpress. I had trouble…

4 months ago

Dunzip – Download and Unzip in Linux With One Command

Tired of downloading zip or tar files, decompressing, and then having to delete the compressed…

5 months ago

Backing Up an SD Card or Hard Drive to A VHD File (Virtual Hard Disk)

  The Microsoft Virtual Hard Disk - An Ideal Backup Image Format Microsoft's Virtual Hard…

5 months ago

Ultimate Ad-Free Browsing

Browser getting cluttered with Ads ? Want to achieve a nearly total ad-free browsing experience…

11 months ago

How to Monitor Your Home Remotely With Skype

Want to peek in on your dog ? Have an elderly parent or friend that…

11 months ago