SeaPrint - Network printing for SailfishOS

Yeah, that seems to be the sad state of the situation. So since it is hard to get hold of firmware, chances increase that it is old. Did i understand you correctly that you had tried with Postscript some other way, and it didn’t work? Maybe contacting support could be a good idea.

If you have it working with CUPS on a Linux machine already, you could share the printer from it, and use that. But that’s of course no fun with a nice printer like that.

If you have the SDK set up and feel comfortable changing a little code, you could change ippprinter.cpp at roughly line 134, so that it does the following unconditionally:

_additionalDocumentFormats.append("application/pdf");
_additionalDocumentFormats.append("application/postscript");
// and maybe even add this for good measure
_additionalDocumentFormats.append("image/urf");

If that works, your printer is the first confirmed case of something that supports reasonable formats but with no way of detecting it.

Can you please edit your post to make the debug text hidden? Select the text you want to hide and click the sprocket icon, and select “hide details”, or wrap in tags like this:

[details="Summary"]
This text will be hidden
[/details]

I believe that in your case it is more clear that your printer does not actually support any of the relevant formats, but only their own proprietary ones. I’ll dig a bit more and see if i find some more information.

1 Like

Thank you, but I’m a complete amateur at this sort of thing…

1 Like

No problem :slight_smile: We all keep learning. Looking more closely at that printer, there are some hints about it supporting Postscript… but nothing super-conclusive. It seems that they are hiding it behind something they call BR-Script. Seems i have some more reading to do.

2 Likes

No SDK here. Could you send the file, so I can implement it via cp as root? Please tell me the exact folder, where to cp it to.

Unfortunately it is not that easy. C++ neds to be compiled, unlike QML.
I made a quick attempt at building a package with the modification i suggested for you, but it turned out to be more involved. I would need to trick the app in several different procedures.

It is probably better if you use the proper debugging tools for IPP anyway.
To do that you need ipptool, it is available on your Sailfish device in the package cups-ipptool.
pkcon install cups-ipptool
And you use it something like this:
ipptool -tv -f Downloads/1.pdf ipp://192.168.1.229:80/lp1 printjob.ipp
Change to the ip of your printer and an existing document of course. The printjob.ipp file is built in somewhere.
More info here: https://istopwg.github.io/ipp/ippguide.html
With this you can at least test PDFs with the printer, Postscript files too if you have any.

Hi @attah, I just tried to install seaprint on the Jolla Tablet, and discovered that it’s impossible: the i486 package depends on ld-linux-armhf.so.3, which naturally can’t be installed on i486.

I have always been wondering about how it would perform there… Unfortunately my Jolla Tablet has a dead battery and won’t boot.

I have no idea how that dependency snuck in there, since i haven’t (knowingly) done anything fancy with the build config. The i486 RPM is also over 10 times as big as the ARM version, for reasons unknown to me. Lauri did spot this during QA, but it sounded like he suspected a problem with the official build tools. I assumed that was followed by an internal bug report, but i don’t know how that went.

I unfortunately don’t even know where i would start looking to narrow down the issue.

You know it’s possible to replace the battery? I’m sure I saw the instructions on TJC somewhere…

I don’t remember seeing such bug report, so I suspect it never got filed. In any case, I could try building it myself. Maybe tomorrow if I have time.

1 Like

I’ll check. Thanks.

Building “manually” with sfdk, i actually got some errors that pointed to .o files.
Seems i missed the step of git clean between builds… hadn’t realized it was needed.
Now at least the i486 version is a more reasonable size…

Edit: I already have a translation coming in and some minor fixes, so expect a release soon.

New release pending, I uploaded the i486 build of it to GitHub too.


Sent to store, so likely accepted by QA tomorrow.
4 Likes

Cool stuff! Any chance of getting i486 build of the share plugin as well?

You can write to Kyocera support and ask for newer firmware and installation instructions (provide them the model number and the firmware currently in use), this worked in my case.
In the future, buy from a vendor which provides new firmware for all customers on his website. :slight_smile:

Sorry, fixed.

Now, time for tablet surgery.

1 Like

Wow, thanks for SeaPrint (also all the other contributors). I think I just had the easiest time ever getting output from a printer across Windows, OS X, Linux, Android and now Sailfish!

4 Likes

I realized i was quite unclear above, especially when read by new users. See openrepos, via the storeman app for the best source for the share plugin.
Or directly: https://openrepos.net/content/attah/seaprint-share-plugin

Also from my side, many thanks for this app and for the continuous development!

2 Likes

It is amazing the continuous development this app gets. As we get the app and all the benefits of it for free, please support him (any amount is possible) via paypal.me/AntonThomasson

3 Likes

Today I wanted to print only a single page of a longer document. The page range setting was grayed out - what could be causing that?

1 Like

I’m guessing the problem is that i base the settings too closely on what the printer says that it supports when it comes to job settings. Are you per chance printing via some raster format to a printer that doesn’t support PDF natively? Some settings, like this one, are delegated to the printer for native PDF printing, but realized locally for other formats. (So whether or not the printer can perform it is irrelevant then)

Please do post the debug output (tap printer 5 times with no document selected) if you have it easily available.

The settings logic is becoming due a serious overhaul anyway, but if it is as i suspect i can duct-tape this use case to the current structure fairly easily.