Martin's Blog, MY little blog

Archive for the ‘Programming’ Category

VIP1710 – AirPrint Emulator

Friday, January 28th, 2011

Before i depart to Bremen for two weeks i gonna try to use my insufficient Linux skills, bundled with insufficient embedded hacking skills in order to make my good ol’ pal “Vip1710″ be a networking printer box that runs my hack to make it usable with iOS devices. The problem here is that i have a Mipsel System here and no idea how to build that… but it should be possible, and if it is i have a printer server here which can not only share multiple printers in the network but also act as an AirPrint Server for the iDevices in our house… (But honestly, WHY do I do that? I dont like these devices anyway..)

Some nice Background information on the VIP1710:
http://www.mikrocontroller.net/topic/pollin-motorola-vip1710   (THE Thread on hacking it)
http://www.mikrocontroller.net/articles/MOTOROLA_VIP1710    (Some useful Information)
http://hilses.de/vip1710/   (Very detailed Information on hacking the VIP, thank you for this website!)

IPad: How to print with every(?) printer

Friday, January 28th, 2011

Ok, since my stepfather bough an Ipad, as did my brother, it was time for me criticising it – and improving it as well.
One thing said at the beginning: You dont need to jailbreak your Ipad, the way to get you pad printing is simple and straight forward. Unfortunately you will need a computer running some software (free).. but hey, at least you dont have to buy a new printer ,0)

Ok, so what will you need?

* CUPS – www.cups.org
* AVAHI – www.avahi.org
* (Obviously Linux)

The first is a printer server for linux, the second an open source implementation of Zeroconf.
Why that? Well, it seems that AirPrint is just a shiny name, in the end it seems just to be some Zeroconf – or at least Zeroconf compatible protocol.. anyhow, the better for us, isnt it?

Alright, lets get our stuff started. In my case i used a Debian Lenny VM on a Windows 7 Host – but i guess one could be using any Linux in Standalone or VM environment.
Please install both software via APT, Yum or whatever package manager you like, i especially recommend building them from sources, but that is you choice. Once installed navigate to localhost:631 and install the printer you want to use with your Ipad – the menues are straight forward and you shouldnt run into any problems here…
Now for the tricky part. As the Ipad (or rather the iOS) expects a certain kind of printer in the network we have to give it the impression that you CUPS enabled printer is an AirPrint machine. For that we have to create a file in “/etc/avahi/services” – the file is called “playprinter.service”. The content should be like this:

<?xml version=”1.0″ standalone=’no’?><!–*-nxml-*–>
<!DOCTYPE service-group SYSTEM “avahi-service.dtd”>
<service-group>
<name>#My Printer Name#</name>
<service>
<type>_ipp._tcp</type>
<subtype>_universal._sub._ipp._tcp</subtype>
<port>631</port>
<txt-record>txtver=1</txt-record>
<txt-record>qtotal=1</txt-record>
<txt-record>rp=printers/#My Printer Name#</txt-record>
<txt-record>ty=#My Printer Name#</txt-record>
<txt-record>adminurl=http://printers.00:631/printers/#My Printer Name#</txt-record>
<txt-record>note=#SomeNote#</txt-record>
<txt-record>priority=0</txt-record>
<txt-record>product=virtual Printer</txt-record>
<txt-record>printer-state=3</txt-record>
<txt-record>printer-type=0×801046</txt-record>
<txt-record>Transparent=T</txt-record>
<txt-record>Binary=T</txt-record>
<txt-record>Fax=F</txt-record>
<txt-record>Color=T</txt-record>
<txt-record>Duplex=T</txt-record>
<txt-record>Staple=F</txt-record>
<txt-record>Copies=T</txt-record>
<txt-record>Collate=F</txt-record>
<txt-record>Punch=F</txt-record>
<txt-record>Bind=F</txt-record>
<txt-record>Sort=F</txt-record>
<txt-record>Scan=F</txt-record>
<txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf</txt-record>
<txt-record>URF=W8,SRGB24,CP1,RS600</txt-record>
</service>
</service-group>

Wherever you see some #bla# you can enter your own stuff except for the parts where it says /printer/… there you have to enter the name of your Printer as it reads in your Control Panel Url!

Alright, have fun with it :0)

New project: An Arduino Clone

Thursday, October 21st, 2010

Ok, today I will start to do one of things every Arduino developer does at least once till he dies: Making his own Arduino clone.

For this matter i chose to do a “normal” Arduino clone, like Freeduino and sorts with some bits and bilts i like more than existing on the regular plattform.
I will start out building a small ISP burner to get some stuff prepared i want to test later. My goal, after all, will be to have a clone that runs totally on DIL parts – no need for SMT parts, even with using USB.

So far i will divide the project into the following steps:
1) Building an ISP (using mega-ISP)
2) Burning a modified VUSB Firmware on an mega168
3) Making a breadboard Arduino using the parts i have here
4) If 3 passes the tests making schematics available for it with downloadable firmware and maybe prototyping a PCB for it.