Random Ramblings
Experience setting up a Lexmark Platinum Pro905
November 24, 2011 at 10:00 AM | categories: opinion, howtos and guides, my projectsWe just got a printer, and we went for a Lexmark Platinum Pro905 from Harvey Norman. Here is some notes I made about its setup.
Setting it up
- Put it all together before plugging the power in
- The printer will automatically turn on when it gets power
- Ignore all the online/printed instructions, configuration of the printer (and WiFi) can be done from the touch screen without installing anything on the computers.
Be aware that:
- It appears to reboot if it crashes, but does so without explaining why (Magic reboot while trying to set up networking, yay!)
- Turns out the wrong passphrase in WiFi configuration might have caused the reboots - now thats a poor effort.
- There is no way to see the full passphrase once entered on the touch screen.
- There is no way to correct AP settings after adding them (eg fixing a typo in the ap config) other then re setting up the encrypted wifi.
Printing to it
Needs the proprietary Lexmark drivers, or one of the bundled supporting applications (I suspect the latter is the real killer), so don't buy or use this if you care about software freedom.
Lack of information
Researching this device is rather annoying. I can't find anything that talks about if the printer supports postscript or PCL anywhere on the Lexmark website.
What do I know about it?
Stuff all, other then it listens on port 9100 like an HP printer. This might be a clue that it uses HP tech under the covers, but its not something that its safe to assume.
Because of this I'm left with questions:
- Do the bundled drivers explain it?
- Do they work well?
- Whats the firmware update do? Make it work as a PCL or postscript printer? That would be nice.
PPD extraction script
Because it wasn't obvious what was needed to print to it (a detail somewhat bizarrely missing from all technical details of the printer) I decided to extract the ppd files for myself and find out what was what. On the off chance it would be useful to someone else, I wrote the script to extract the ppds so whoever else might want to see them can cut out the discovery part of their printer setup. (Its nothing special, its just unwrapping layer upon layer of different archives)
#!/bin/bash
# Extract lexmarks drivers from their deb bundles
# Run it from the dir with the printer deb.sh in it
# Where we will extract
tempdir="/tmp/$$"
# Where our ppds go
output="/tmp/output-ppds.$$"
# amd64 is the other option
ourarch="i386"
mkdir $tempdir
# Extract the self installer manually
./lexmark-inkjet-legacy-1.0-1.$ourarch.deb.sh \
--noexec --target $tempdir
cd $tempdir
# unpack the archive component
tar --lzma --extract --file instarchive_all
# Extract the deb as a tar
# Use tar to extract only the ppd files from it
dpkg --fsys-tarfile lexmark-inkjet-legacy-1.0-1.$ourarch.deb \
|tar --wildcards '*.ppd' --extract
mkdir $output
mv usr/local/lexmark/legacy/etc/*ppd $output
echo "Look in $output for the ppds"
rm -r $tempdir
Does it work on generic drivers?
No. Not without lexmarks drivers.
I tried the 'PCL 6/PCL XL Printer' drivers, as well as the 'Postscript Printer' (Generic, foomatic) drivers as shipped in Debian - both failed. Thats a rather disappointing result for something thats ostensibly a network printer.
Installing lexmarks drivers
Basic steps to install the driver:
- run the script ./lexmark-inkjet-legacy-1.0-1.i386.deb.sh (or your arch/package format as required). These seem to have a weird glitch where they won't install properly if you don't have a root password (may be inherited from system-config-printer, where I found something similar). If you hit the glitch, use sudo or gksudo to get root for running it.
- agree to the 'I agree that lexmark can beat me up in a dark ally' licence agreement. It contains choice quotes like these: "I agree that this patented printer is licensed for, and designed to work with only genuine Lexmark ink cartridges for the life of the patented printer. I agree to: (1) use only genuine Lexmark ink cartridges with this printer ..." "I agree that the patented print cartridge(s) shipped with this printing device are sold subject to the following license/agreement: The patented print cartridge(s) contained inside is/are licensed for a single use only and is/are designed to stop working after delivering a fixed amount of ink ..." "12. APPLICABLE LAW. This Software Licensing Agreement is governed by the laws of the Commonwealth of Kentucky, United States of America. No choice of law rules in any jurisdiction shall apply. The UN Convention on Contracts for the International Sale of Goods shall not apply."
- Hit next. It goes and installs, doing things like reloading udev rules, adding temp files to /root and installing both bundled .debs - whether you want them or not.
- Wait a moment while it closes the installer and launches a configuration application, then step through to your taste.
If someone knows how to get it working with free/generic ppds let me know, because I'd be happy not to agree to that licence again... (I'm also wondering what happens for people who didn't agree to it but set up the printer, does Lexmark think they have sway over them?)
Extracted PPDs
So, what do they tell us? I'll take a quick peak at lxPro800-Pro900.ppd, since its the one which covers my Lexmark Platinum 905p printer. A quick 'head' of the other files looks quite similar so far.
*% PPD file for Lexmark Pro800-Pro900 Series with CUPS. *% Created by the CUPS PPD Compiler v1.2.3. *% *% Adobe PostScript(R) Printer Description File *% *% Produced by Lexmark International, Inc
So far so good, at least we know there is a fair chance it'll do postscript. If we're super lucky, we might be able to use Proper postscript, not some wacky Lexmark version of it.
A few lines down we see this
*Path: "/usr/local/lexmark/legacy" [...] *cupsFilter: "application/vnd.cups-raster 0 /usr/local/lexmark/legacy/bin/printfilter"
Seems there is more custom magic in there then I'm willing to toy with, so I don't appear to have been super lucky after all :/
Impressions of lexmark
I'll be nice here. They're trying, not they aren't 'there' yet. - Broken website (downloads pages counting in bytes and generating overflow errors). EG. "File Size 2.5195788E7" - Incorrect doco in printed manual ('.docx (Microsoft Wword Open Document Format)') - Proprietary PPDs, and nasty licence agreement (ref above for those) - Using a GPL installer and not mentioning it, anywhere (and no offer of source). (see my follow up post on this)
Getting i2p into git from monotone
November 22, 2011 at 10:00 AM | categories: hacking around, howtos and guidesBranching i2p.
i2p is an interesting bit of software, aiming to create an annonymised network that anyone can use. Sadly, its source is kept in mtn.
Checking it out
To be honest, even this is too much of a pain in the arse (compared to what it should be)
mkdir i2p-mtn cd i2p-mtn mtn -d i2p.mtn db init mtn -d i2p.mtn pull mtn.i2p2.de i2p.i2p
To keep it up to date, simply re-run the last line at times and get the updates.
A plea!
Anyone, someone, please! Save me from monotone!
How to escape? bzr has no reliable way of doing it yet (that I can see), but mtn does have a git_export function we might be able to exploit to help us here. (If someone can tell me how to get i2p into bzr too, please let me know! Its still my preferred DVCS).
How to escape
The magic invocation can almost be found at the monotone site , and all it takes is mtn ( > .48) and git installed.
- ::
- mkdir i2p-git cd i2p-git git init mtn --db ../i2p-mtn/ git_export | git fast-import
Note that the linked page talks about 'git fast import' (two spaces), which is invalid - it should be 'fast-import'
This took a while, as it has 6,967 revisions at the time of writing. After that, you'll need to checkout the branch with actual code it in. git co i2p.i2p
And you are ready to view the source! yay!
Look at the 'unknown' branch, you'll see a tree with a debian/ directory too - enjoy.
Future work
I'm yet to really see how well this works (for example, if I can keep it up to date somehow), but not needing to use mtn for day to day poking around is a good start. A good thing to find out would be if git_export can resume where the last export left off, or if each update to the mtn repository means a new start from scratch for git?
PS
Its probably just easier to learn mtn - If you know a good guide to the basics let me know. (If you know a way to stop it being so annoying thats even better)
Disassembling a Belkin wireless MIMO router
November 09, 2011 at 10:00 AM | categories: hacking around, disassembly, howtos and guidesAs I was hoping to install Openwrt on yet another device (The first being a proper Linksys WRT54g), I began to research the hardware on which it will be installed. Seems successful installs on this device are few and far between - found less then a dozen results with Google, one of which will be the base of my installing efforts, and two of which reference the useful link.
As you've probably guessed by now, the device is a Belkin wireless G plus MIMO router, a F5D9230-4R v3001 (The version is important, as the different major versions use different chipsets).
Seeing references to accessing the device via ftp or serial, I tried to find a guide to taking it apart ... and came up dry. Searches like 'serial access to f5d9230-4r' and 'how to disassemble f5d9230-4r' (with various permutations) came up dry, leaving me to try it for myself.
Disassembly
So here you go, a quick photographic guide to taking it apart.
Tools required: a philips head screwdriver and a flat head screwdriver (flatheads of different sizes might be handy, esp if they have a longer handle then the one I have in the photo).
Undo the bottom screws
Prise out the back panel. You should be careful doing this, as the cable into the wireless antenna (next to the power plug) is quite short, and doesn't have a lot of room. Its also worth noting that the back panel is not attached to the ports, but is to the antennas. This means it can be prised out the back, but you might have to poke and push at it a bit.
Carefully insert a flathead down the side, and using the plastic 'towers' (for screwing the two halves together) for leverage undo each hook one at a time.
Once the sides are loose, the top should only need a little wiggle to get the front loose.
And thats pretty much it! From here you can take out the PCB, but there is nothing attached to the underside
But where is that serial port? I'm not sure, but I suspect its CON1 (JP1 is the only other possibility). If I find a link to resolve the question, I'll link it here :)
Reassembly
This is easiest if you take the PCB out. From there you can sit the rear plate against the power/connection ports, and slot it all back into the bottom casing.
Thats about it really, let me know if I forgot to mention something (I might still remember...)
Creating the Grand Final Bout dvd
October 29, 2011 at 10:00 AM | categories: skating, howtos and guides, related groups, volunteering, my projectsMonica offered to do up a DVD of the bout footage for the Convict City Roller Derby League. Because I had copies of the score sheets she decided to add the scores and who had Lead Jammer as subtitles to the film.
What we have
- A laptop running Ubuntu (and or Debian)
- The package devede (In Ubuntus multiverse, the 3rd party debian-multimedia repository for Debian)
- The package subtitleeditor (repositories as above)
- Copies of the video footage shot at the bout
- Photos of the score sheets used at the bout.
What was done
I made up a simple scoresheet (without all the overhead of the official ones) and typed up the photos of the score sheets to give us an easy to read (and reference) copy.
Subtitles were made using subtitleeditor and loaded in with devede. Something she discovered when doing the subtitles was a potential bug in subtitleeditor which you might like to be aware of. When you've made some changes to the subtitle file which are not valid subtitle syntax in a text editor and open the subtitle file in subtitleeditor, it will truncate the file (removing all your recent modifications) to the changes you've made using subtitleeditor. Not good if you 'penciled in' all the info before trying out subtitleeditor.
Monica made up the DVD image with devede, including the titles and menu screen (I could document how to do this, if anyones interested). One comment on devede is that it seems a bit clunky in the way it imports video files. It would be ok if we had 2 or 3 files, but with 11 the 'import individual file, check properties, ok' ritual gets a bit tedious.
devede will take all the subtitles/film data/ etc and put together a DVD iso for you. This process takes 2 hours on Monicas Core2Duo laptop, so could take a long time on a single core machine :)
Overlaying bout footage with crg-derbyscoreboard
October 29, 2011 at 10:00 AM | categories: skating, howtos and guides, related groups, volunteering, my projectsThis write up is going to be my memory booster if (when) I try and do this again. It may need to be fixed in places, I'll try and update it if I find its missing info.
Its a guide to doing POST production of a bout to overlay scores onto a video stream. This could probably be done in real time too, but not without something like Video4Linux Loopback Device or a hardware mixer.
Hopefully in future we can do this rather then do manual subtitles for presenting bouts (I cover this in a previous post as we can use the rather nice scoreboard overlay provided by the Carrolina Roller Girls derbyscoreboard.
Software we used
- Laptop running Debian stable
- crg-derbyscoreboard (from git, just pre 0.2 release)
- Chromium web browser (as shipped in Debian)
- Openshot video editor (version 1.4.0 backported from testing, the 1.1.3 in stable will not do what we need)
- A custom mask for Openshot made by Monica
- Footage (in a format Openshot can read)
- Screen capturing software recordmydesktop
- Dual head configured and a monitor plugged into the laptops DVI port
- xwininfo xorg utility (As shipped in Debian)
How we used it to record scores
Scoreboard and browser setup
For setup of crg-scoreboard please see its README or its wiki (The wiki has quite a bit of info on it these days, and should be a useful resource), or even its mailing list.
Launch chromium, and move a window onto each screen (Assuming you've already set up dual head displays). Your scoreboard will be on http://localhost:8080/ unless you have any site specific changes. Visit the scoreboards 'Video Feed Overlay Scoreboard' on the external monitors browser (This could be a projector, but I've not tested that yet), and 'Main Operator Control Panel' on the laptops screen (or your second screen, if not working with a laptop). Maximise the browser window showing the scoreboard (usually F11) so xwininfo will do the right thing
Scoreboard capture setup
Now, as long as you are running the scoreboard, you should be running recordmydesktop. For me, the command was
recordmydesktop --no-cursor --quick-subsampling --fps 2 --no-sound \ --on-the-fly-encoding --no-frame -o scoreboard-window-`date \ +%Y%m%dT%H%M`.ogv --windowid $(xwininfo |grep 'Window id' \ |cut -d ' ' -f 4)
In brief, the options do the following: disable the mouse from showing, lower the quality (its a three colour image, and over 90% is black), records two frames per second (The clock ticks every second, and thats the fastest updating thing on the board), disable sound (we produce none), encode on the fly (to minimise post recording waiting), don't display a border, the filename (including date and time to the minute) and the window to record.
The mouse will turn into a cross ('+') which you use to select the window you wish to record - the window containing the scoreboard.
Determine Window ID of your Video overlay scoreboard
xwininfo is a handy little command line utility that is included as part of x11-utils package and will show the window id of any window you select. Selecting the external monitor on my laptop gives 'xwininfo: Window id: 0x3cf5f67 "CRG SB Overlay - Chromium"' Take that value and give it to recordmydesktop.
How we used it for post production
Once you have your video streams, its time to do the post production. Unfortunately, there are some steps still to be done before this is possible.
Backporting Openshot
You need a newer Openshot then that in Debian squeeze (stable at the time of writing), we used 1.4.0 from testing as its new enough to have the features we need, and still install without changes.
wget http://ftp.au.debian.org/debian/pool/main/o/openshot/openshot_1.4.0-1_all.deb sudo dpkg -i openshot_1.4.0-1_all.deb
Thats it!
Installing the custom Openshot mask
I've added the mask Monica made to the files section of this site. We may end up submitting it upstream at a later date if we find its particularly useful or interesting to others.
The actual importing is fairly painless. Launch Openshot through the Applications menu or from a shell, then visit File -> Import New Transition. Browse to where you downloaded the file using the 'Select Transition' selection box and close the navigation box with OK once the file is selected. If you selected the correct image, OK in the Import Transitions box to confirm. Openshot will (hopefully) tell you the transition imported correctly and it will appear at the bottom of the Transitions tab in the UI.
Doing the overlay
Import all the clips (one at a time in older versions, multiple selection with 1.4). Add the bout footage to Track 1. Add the timing footage to Track 2. Get the scoreboard transition and drag it between the two tracks Right click the transition and select properties Length needs to be the full bout (Unless you use half time for something else, in which case you might want to do two halves). A full bout will be around 7200 seconds (2 hours). Importantly, change the Type from Transition to Mask. Do not modify Softness or Mask Threshold unless you have reason to. Apply to save the changes, and play your video in the preview window. Do any shuffling to the video that you need, then save your project.
Double check the two streams were synced correctly. If they are, its probably time to make DVDs.
Next Page ยป