Pantum P2500 on Linux

I’ve had a Pantum P2500W laser printer for a while and it’s a cheap B&W printer. I use it for printing journal articles and for making PCBs.

It does its job quite well and I’d even recommend it.

What’s good about this printer is that it supports Linux! (yay!) However, if you’re on a rpm based distro, then you’re kinda out of luck.

You can get the official driver here for Ubuntu or Debian.

Normally I wouldn’t write something, because you can just use Alien to convert it. Nothing big…

However, let’s look at this:


./alien.pl --to-rpm ./Pantum-P2500-Series-2.6.x86_64.deb
Warning: alien is not running as root!
Warning: Ownerships of files in the generated packages will probably be wrong.
Use of uninitialized value $field in string eq at Alien/Package/Deb.pm line 262.
Use of uninitialized value in lc at Alien/Package/Deb.pm line 630.
Use of uninitialized value in lc at Alien/Package/Deb.pm line 630.
Warning: Skipping conversion of scripts in package : postinst postrm
Warning: Use the --scripts parameter to include the scripts.
Use of uninitialized value in lc at Alien/Package/Deb.pm line 630.
Use of uninitialized value $_ in pattern match (m//) at Alien/Package/Deb.pm line 673.
Use of uninitialized value $_ in concatenation (.) or string at Alien/Package/Deb.pm line 674.
mkdir: invalid option -- '0'
Try 'mkdir --help' for more information.
unable to mkdir -0: at Alien/Package.pm line 257.

And you get nothing…so how do we fix this?

Well, we need to extract the data from the deb. We can do this with ar.[1]


mkdir ./Pantum-P2500-Series-2.6.x86_64
ar -x ../Pantum-P2500-Series-2.6.x86_64.deb

You’ll see that I did this in a new directory. In this case, you get “tar bomb’d”; however, I imagine that is the case for other debs as well.

Anyway, with that you’ll see that you have two tar archives. Extracting them, you’ll get a layout like:


.
├── control
├── control.tar.gz
├── data.tar.gz
├── debian-binary
├── postinst
├── postrm
└── usr
├── lib
│   └── cups
│   └── filter
│   └── pt2500Filter
└── share
├── cups
│   └── model
│   └── Pantum
│   ├── Pantum P2200 Series.ppd
│   ├── Pantum P2200W Series.ppd
│   ├── Pantum P2500N Series.ppd
│   ├── Pantum P2500NW Series.ppd
│   ├── Pantum P2500 Series.ppd
│   ├── Pantum P2500W Series.ppd
│   ├── Pantum P2550N Series.ppd
│   ├── Pantum P2550 Series.ppd
│   ├── Pantum P2600N Series.ppd
│   ├── Pantum P2600NW Series.ppd
│   ├── Pantum P2600 Series.ppd
│   └── Pantum S2000 Series.ppd
└── doc
└── pantum-p2500-series
├── changelog.gz
└── copyright

At this point, we have everything we need to get our printer up and working. As root, do the following:


cp -rv ./usr/share/cups/model/Pantum /usr/share/cups/model
cp -rv ./usr/lib/cups/filter/pt2500Filter /usr/lib/cups/filter
systemctl restart cups

From here on out, you can add the printer the normal way that you would want to.

For those of you who don’t want to go through the hassle of extracting the deb and all of that, I’ve put the x86_64 and i386 tarballs on the site for you to get.

You’ll still need to do the copy portion, but that’s really all there is to it to get this printer up and going.

This entry was posted in Computer Science and tagged , , , , . Bookmark the permalink.

Leave a Reply