Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 673454 - net-print/splix-2.0.0_p20130826: Blank printouts on Samsung ML-1610 when host is big endian
Summary: net-print/splix-2.0.0_p20130826: Blank printouts on Samsung ML-1610 when host...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC64 Linux
: Normal normal
Assignee: Bernard Cafarelli
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-19 20:22 UTC by Marcus Comstedt
Modified: 2019-01-04 20:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch for making algo0x11 always generate LE bands (algo0x11_le.patch,1.20 KB, patch)
2018-12-19 20:23 UTC, Marcus Comstedt
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Comstedt 2018-12-19 20:22:29 UTC
The Samsung SPL2 printer language allows bands to be encoded either as big endian or as little endian.  However, ML-1610 suppoers only little endian bands.  Splix will encode the bands as host-endian, so on a BE machine it will generate bands that the printer does not understand and it will print a blank page.


Reproducible: Always

Steps to Reproduce:
1.Print to a Samsung ML-1610 printer from a big endian system
2.
3.
Actual Results:  
The printer pushes out a blank page

Expected Results:  
The page is printed with the correct contents, like it is when printing from a little endian host.

The ML-1610 only uses compression format 0x11, so the issue can be fixed by modifying the Algo0x11 implementation to generate BandPlane::LittleEndian bands
instead of BandPlane::Dependant.  Fortunately the only endian-dependent data is the total length and the pointer table, so it's a simple fix.
Comment 1 Marcus Comstedt 2018-12-19 20:23:52 UTC
Created attachment 558180 [details, diff]
Patch for making algo0x11 always generate LE bands
Comment 2 Marcus Comstedt 2018-12-19 20:28:14 UTC
Eh, sorry, I meant the length of the uncompressed prefix, not the total length.  (The total length is in the band header which is always encoded as BE.)
The patch is correct though.  :-)

  // Marcus
Comment 3 Bernard Cafarelli gentoo-dev 2018-12-28 00:31:34 UTC
Thanks for the report and patch! It looks good from a quick look, will commit this after testing with my printer
Comment 4 Larry the Git Cow gentoo-dev 2019-01-04 20:38:34 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=251405fcbb39497047cdd5f878dca0749286fd7b

commit 251405fcbb39497047cdd5f878dca0749286fd7b
Author:     Bernard Cafarelli <voyageur@gentoo.org>
AuthorDate: 2019-01-04 20:36:51 +0000
Commit:     Bernard Cafarelli <voyageur@gentoo.org>
CommitDate: 2019-01-04 20:38:16 +0000

    net-print/splix: fix for big-endian hosts
    
    Closes: https://bugs.gentoo.org/673454
    Package-Manager: Portage-2.3.53, Repoman-2.3.12
    Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>

 .../files/splix-2.0.0_p20130826-algo0x11_le.patch  | 33 +++++++++++
 net-print/splix/splix-2.0.0_p20130826-r1.ebuild    | 66 ++++++++++++++++++++++
 2 files changed, 99 insertions(+)