Code Monkey home page Code Monkey logo

Comments (70)

girtsf avatar girtsf commented on May 17, 2024 5

Same problem here. I can print a basic text document (from macOS client), but printing https://static.googleusercontent.com/media/www.google.com/en//landing/cloudprint/testpage.pdf causes the printer to blink "Ready" LED seemingly forever and do nothing. CUPS thinks that the job has completed. When it gets into this mode, it seems to be wedged and needs a hard power cycle.

from brlaser.

mabrowning avatar mabrowning commented on May 17, 2024 2

I'm having the same issue, but it seems to be repeatable only with certain files. e.g. www.google.com/landing/cloudprint/testpage.pdf

from brlaser.

Exxion avatar Exxion commented on May 17, 2024 2

Oh, and I forgot to mention that if you print a multi-page job and only some of the pages have the offending 600 DPI images, it will print all the pages without images but skip the ones with images. I don't know anything about driver development, but it sounds like that rules out the crash-loop theory as well as anything wrong with the entire job.

from brlaser.

Exxion avatar Exxion commented on May 17, 2024 1

Setting the resolution to 300 DPI under Set Default Options->General solved this for me, but according to the manufacturer, this printer should go up to 600, so this is really just a workaround.
I'll try to do some more detailed debugging soon.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024 1

Ok, so the printer either hangs or skips pages when printing images in 600dpi mode. But 300dpi mode works fine. And at least for Exxion, the official drivers also work fine.

I don't buy the "out of memory" explanation. An uncompressed A4-sized bitmap needs about 4 megabyte. If the printer is equipped with 8MB RAM, that should be plenty. Also, I can't find any memory complaints online about this particular model.

It's possible that the printer chokes on the print data generated by this driver. Though in that case I'd expect 300dpi prints to be affected as well. (Perhaps they are, just less often?)

Can somebody send me a some print data samples? A couple of pages that fail to print and a couple that print without problems, preferably generated with the same print settings? Maybe I can spot a pattern. (You can mail this directly to me: [email protected], if you don't want to make your files public.)


Capturing print data with CUPS: This is unfortunately a bit involved. First, edit /etc/cups/cups-files.conf and enable the FileDevice option: FileDevice Yes. Restart CUPS. Then, create a special print queue:

sudo lpadmin -p brlaser-test -E -m drv:///brlaser.drv/brl2300d.ppd -v file:/tmp/prnfile

When you print to this brlaser-test queue, the generated print data will be written to the file /tmp/prnfile. Each time you print this file will be overwritten, so you need to copy this file after every print.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024 1

Thanks. Both files print without problems on my own printer (a DCP-7030), so I can't reproduce the problem. I also don't see anything unusual in the failing file.

I committed a change to make brlaser's output match the official driver more closely. Can you retest?

from brlaser.

kainz avatar kainz commented on May 17, 2024 1

So I've run into this as well using a hl-2300d for things like airline tickets. I've noticed anything thats basically not a text-only printjob rapidly silently fails to print unless its @300 dpi.

from brlaser.

sjuk avatar sjuk commented on May 17, 2024 1

I think I've found the download location for the original driver. Brother HL-L2300D Download. I've installed the driver and it can print the pdewacht.pdf.

That looked promising for me and made me some more testing. I've tried a pdf file with four pages in duplex mode. But this did not work. And surprisingly in the new driver (brother-hll2300d) there is one more choice for resolution quality 300 dpi. And now I can confirm the issue of user @Exxion. With duplex & 600 dpi the multi-paged pdf does get printed. With duplex & 300 dpi it prints, but in lower quality.

For neither the brlaser nor the the original driver from brother gives a decent solution.
I would be very happy if someone knows of a better solution and can share it with us.
Thanks in advance

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024 1

Hi all! I just received a fix for a similar issue that affected the HL-1210W (#40). Can anybody retest today's git version?

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

Not really solved, but I did a reinstall of the whole Raspbian installation and cannot reproduce the problem any more. Probably it was some misconfiguration on my side.

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

Then it might be a different issue worth opening another bug report maybe? Since this one is closed, it won't get much attention from the developer, I fear.

from brlaser.

mabrowning avatar mabrowning commented on May 17, 2024

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

Then I'll reopen it and hope the best! :)

from brlaser.

drahnr avatar drahnr commented on May 17, 2024

Don't have access to this printer, so not much I can do.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

Yeah, somebody with access to this printer will have to figure this one out.

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

I have access to it but obviously I am not a coder. Let me know if I can help by doing some testing though!

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

I'd guess there's something in the job header that the printer doesn't like. Perhaps it's a particular setting that doesn't work. Try different resolutions, different paper sizes (A4 vs US Letter) etc. and see if you can make it reliably fail in some configuration. (For example, the DCP-7065 will not print 300 dpi jobs.)

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

As of myself, the original problem was solved after the reinstall of Raspbian. However, I am glad to report a new problem. :) On all client machines besides of one, I cannot print in duplex (whenever I change the duplex setting to anything other than "off" the printer won't print). On one machine, however, I am able to print in duplex. Is there a possibility to get dump of the used settings (I am using system-config-printer to add and configure printers on the client machines) to compare them? From what I can see in the GUI configuration, the settings are identical and I don't understand why duplex works on one machine and fails on three others...

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

Currently the duplex printing option is only enabled for the DCP-7065DN. Maybe you selected different printer models on different machines?

Otherwise you can enable CUPS debug logging and search for "page header" in the /var/log/cups/error.log. brlaser dumps the parameters for the first page of each print job. If the Duplex flag is set, brlaser will send the printer commands for duplex printing.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

@Photon89 I've added the HL-L2300D to the list of working printers, since at least the basics seem to be working for you. Can you try to print mabrowning's test file?

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

Further observations:

The CUPS server is a raspi running Raspbian, the Raspbian brlaser package is installed.

The client machine capable of duplex printing has an active avahi service which seems to have added a printer automatically which is capable of duplex printing. If I add a printer manually, it won't be capable of duplex printing on any of the client machines.

I now installed the latest git revision on one of the client machines. When adding a printer, it didn't ask for a driver and showed "remote printer" in the driver field. So I went to the settings and manually changed to the brlaser driver on the client. But when changing the settings to duplex, it didn't print again. The client shows me "cups-waiting-for-job-complete", the printer blinks a few times but doesn't print.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

@Photon89 You don't need printer drivers on the clients. With CUPS you only need to install the printer driver on the print server. The clients then send the print jobs to the server to be processed (usually in PostScript or PDF format).

You can use client-side printer drivers with CUPS, but I think that needs special configuration. I don't know if you've done that.


Also, there's something that doesn't add up in your description

  • The client with working duplex printing had a queue set up using Avahi
  • Avahi sets up queues in the normal CUPS way (i.e. using the printer driver on the server)
  • You say that the server has the Raspbian brlaser package
  • But the Raspbian package has no support at all for duplex printing, that's a feature that I've only merged at the end of last year, it's not yet part of a release.

Did you install brlaser from git on the Raspbian system as well? Or perhaps that CUPS install is using a different (and seemingly more featured) driver?

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

Sorry, stupid me! Turned out that on the new setup I actually installed the official i386 driver with some QEMU User Emulation magic (there was a howto for it but the website is down). So it looks like I am not a good tester here... @mabrowning should take over, I guess.

from brlaser.

mabrowning avatar mabrowning commented on May 17, 2024

@girtsf Luckily, (other than testing Google Cloud Print), whatever is in that PDF seems to be a pretty rare case and I have been running the printer for the past few months without further issue.

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@mabrowning for me it is high DPI images/rasters that cause issues.
Lowering the DPI in whatever program you are using can get it through, though it can degrade the content so badly it isn't worth printing...

from brlaser.

girtsf avatar girtsf commented on May 17, 2024

Is there a way to make CUPS filter raster stuff to lower DPI?

from brlaser.

rkreis avatar rkreis commented on May 17, 2024

from brlaser.

rkreis avatar rkreis commented on May 17, 2024

from brlaser.

girtsf avatar girtsf commented on May 17, 2024

[..] I got a useful error message on the printer's LCD [..]

The HL-L2300D doesn't have an LCD. When it fails, the "Ready" LED keeps blinking forever. I suspect it just sits in a crash loop internally.

Thanks for the details on the source of the problem!

(We ended up just ordering a new printer rather than fighting so hard to get a $100 printer working. But if there is an easy downsample/recompress raster filter fix, somebody else might benefit from it.)

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

https://www.brother.com.au/monochrome-laser-printers/hl-l2300d-detail

8MB Memory

Yeah, that would do it.

from brlaser.

Exxion avatar Exxion commented on May 17, 2024

The file I was trying to print does print on the original drivers, but I'm not entirely certain they didn't just automatically switch it to 300 DPI to do so
EDIT: Yeah, it prints fine on the original drivers.

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@pdewacht https://preppykitchen.com/passionfruit-cream-puffs/ (wasn't my choice, ha)

This was a bit of a pain to isolate, but I got there.

Using Chromium.
Pages 1-3 printed.
Page 4 did not print.
Page 5 did print if specified, aka 1-3,5, but not if following 4.

If I save page 4 to PDF, it did print. So something there is relevant.

I copied the page into an .odt document, and had it failing from a PDF, but only on page 2.
Sample files below.

The /tmp/prnfile print files were from lpr -P "brlaser-test" filename.pdf

Failing
(removed, see updated revisions below)

Succeeding
(removed, see updated revisions below)

lpr -P "Brother_HL-L2300D_series" pdewacht.pdf # fails
lpr -P "Brother_HL-L2300D_series" pdewacht-ok.pdf # prints

Note: they aren't actually zips, I just added the suffix for it to upload...

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@pdewacht still failing :(

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@pdewacht you should have better luck with this.
The difference between these two files (which fail and succeed for me), is the word "med" in the content text.

edit: difference is now down to 1 letter, m vs me

That should be a tiny-tiny difference easy to test.

source files

no.pdf
ok.pdf

/tmp/prnfile(s)

no.zip
ok.zip

edit: fixed the filenames to be the same length to align the encoding

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

Playing with diffing these files via

od -An -tx1 -w1 -v ok.zip > aa.txt
od -An -tx1 -w1 -v no.zip > bb.txt
diff -y aa.txt bb.txt 

There is very little differences, namely about 168 bytes of difference.
Most look like a length encoding (aka, irrelevant?), but there are a few sequences that are different.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

@dcousens Amazing work on reducing the test case. The only thing I can see is that I use an encoding that's longer than necessary... Can you try the commit I've pushed to the branch 'issue4'?

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

No luck as of yet. (rebuilt issue4 branch, installed, restarted cups)
It'd be good if others (@Exxion ?) could back up my test data (try printing the PDFs) to ensure the failure is deterministic.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

Perhaps a silly question, but has anybody tried configuring this printer as a Generic PCL Printer? I've found some Brother documentation that lists this printer among all their other PCL printers. It might work?

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@pdewacht do you mean, without using this driver? IIRC I had very limited success.

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

Right, when adding the printer in CUPS, "Select Another Make/Manufacturer", then choose "Make: Generic" and "Model: Generic PCL Laser Printer". I was wondering if anybody had already tried that. (I imagine somebody must have done so, but I can't be certain until they confirm it.)

I just find it odd that the HL-L2300D is listed in that document as if it's a regular PCL printer. In contrast, the DCP-series printers supported by this driver aren't mentioned at all.

from brlaser.

igraltist avatar igraltist commented on May 17, 2024

from brlaser.

jaguth avatar jaguth commented on May 17, 2024

I have the same issue with my HL-L2300, but the green light will flash indefinitely for any print job. It worked for about the first year of its life. And just recently, even when i try to print a test page in Windows 10, the green light sits there and blinks at me like some cruel joke. "yes, i am just about to print, keep waiting and see what happens!". 30 minutes later: nope, still nothing. I guess it started producing this issue conveniently after its 1 year warranty expiration 8(

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

There are some files which can be printed with my Brother HL-L2300D printer and driver brlaser V4. But some files (especially pdf files) can not be printed. For example File pdewacht.pdf cannot be printed. All other files attached to this post was printed as expected.

The brlaser V4 driver was automatically installed by Ubuntu 18.04 in a fresh new installation last week.

I've tried the generic PCL driver. But that didn't work. As result I get empty pages. By the way the link to some Brother documentation is dead.

I can not confirm that 300 dpi print does help, because this printer only supports 600 x 600 dpi and HQ1200 (2400 x 600 dpi). There is no choice to print in lower values than 600 dpi.

Some people wrote about using the original drivers and that they would be working. I would be happy if someone can go in more detail where to get the original driver for the Brother HL L2300D printer, or even how it is called. It also would be interesting if there would be any other working solution to get the printer working.

Thank you in advance

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

Hello Everybody, is there anyone who can help? Is there anything I can do to help (testing something, providing log files or something else)?

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

Here is how I made it work on the Raspi without using any drivers at all (and official binary drivers on the clients): https://forum.manjaro.org/t/how-to-set-up-a-remote-printer-which-is-attached-to-a-raspberry-pi-or-any-other-arm-computer/57056

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

Could be a terrible printer. Has anyone asked Brother for help?

I already asked Brother for help. But they only threw some links on me. :-(
http://support.brother.com/g/b/downloadtop.aspx?c=de&lang=de&prod=HLL2300D_US_EU_AS
http://support.brother.com/g/s/id/htmldoc/printer/cv_hll2300d/ger/index.html#GUID-AF8C0063-911B-44B3-B52D-0FC0D110ABB5_40#KEY=duplex

The links did not help and asking twice did not lead to another answer. :-(

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

Here is how I made it work on the Raspi without using any drivers at all (and official binary drivers on the clients): https://forum.manjaro.org/t/how-to-set-up-a-remote-printer-which-is-attached-to-a-raspberry-pi-or-any-other-arm-computer/57056

Before I switch to another distribution. Can you please confirm that printing of pdf documents with duplex works flawlessly?

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

@sjuk Though I can recommend Manjaro, you don't have to switch to it just to make your printer work. The only Manjaro-specific steps in the howto are steps 1 and 2 from the client setup. In case of a different distro, you just have to install your printer driver and the nss-mdns (or equivalent) package with the package manager of your distro instead of pacman.

And yeah, I can confirm that duplex printing works for me with this setup.

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@Photon89 can you print the problematic files?

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

@dcousens Yes, I can print, for example, the pdewacht.pdf file from comment #4 (comment) But I guess, that's no surprise since I use the official Brother drivers on the clients.

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

I've also installed the official Brother drivers. I used linux-brprinter-installer-2.2.0-1 install script from their homepage. The script automatically downloaded and installed the following packages.
hll2300dcupswrapper-3.2.0-1.i386.deb
hll2300dlpr-3.2.0-1.i386.deb
In the printer manager gui there are two printers and the drivers are called
Brother HL-L2300D
Brother HL-L2300D for CUPS

@Photon89 is there any chance to compare our drivers? Do you know where the "real" driver files are located, so that we can share them here for comparing purpose?

Thanks in advance

from brlaser.

Photon89 avatar Photon89 commented on May 17, 2024

@sjuk Well, as I said, the HowTo I linked just describes how to use the official drivers with an ARM device like a Raspberry Pi. Those are exactly the same drivers as in the install script from Brother's homepage.

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

@Photon89 Sorry, but in this case your comment is not helpful at all. But thank you for trying.

from brlaser.

ph33nx avatar ph33nx commented on May 17, 2024

For anyone who needs a quick solution..

Edit the file: /etc/cups/ppd/Brother_HL-L2320D_series.ppd
Replace 600 to 300 in: Resolution 300dpi/300 DPI: "<</HWResolution[300 300]/cupsBitsPerColor

& Voila!! You can print now.

although the quality drops a little but it still works.

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

For anyone who needs a quick solution..

Edit the file: /etc/cups/ppd/Brother_HL-L2320D_series.ppd
Replace 600 to 300 in: Resolution 300dpi/300 DPI: "<</HWResolution[300 300]/cupsBitsPerColor

& Voila!! You can print now.

although the quality drops a little but it still works.

I've found the file and added the following line under *DefaultResolution: 600dpi.

*Resolution 300dpi/300 DPI: "<</HWResolution[300 300]/cupsBitsPerColor 1/cupsRowCount 0/cupsRowFeed 0/cupsRowStep 0/cupsColorSpace 3>>setpagedevice"

After that I was able to choose 300 DPI for the next print. Now pdewacht.pdf gets printed. But the quality is very poor. Some words cannot be read with this resolution. I would not so far to call this workaround a solution.

But thank you very much sharing your knowledge, because it leads the attention to the resolution. Perhaps a developer could have a look at that?

from brlaser.

Terrabits avatar Terrabits commented on May 17, 2024

In case it helps clarify things:

I am also using brlaser (built from current repo) with the 2300D on a raspberry pi. I've added the 300 dpi setting per @abhi21x and @sjuk. I tried printing the files linked above with these results:

  1. pdewacht.pdf prints at 300 dpi
  2. pdewacht.pdf does not print at 600 dpi
  3. no.pdf from @dcousens prints at both dpi for me
  4. ok.pdf from @dcousens also prints at both dpi

So perhaps my system or printer is somehow different than @dcousens, or perhaps the minimal example is too minimal. I don't know.

For pdewacht at 600 dpi, cups says the job completed but it never prints (blinky light for 5 seconds then nothing).

In all scenarios I get nothing in /var/log/cups/error_log with LogLevel warn (the default), and a ton of stuff with LogLevel debug, none of which looks particularly interesting.

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

Resolved!
(and tested with other problematic documents too)

from brlaser.

Terrabits avatar Terrabits commented on May 17, 2024

I can confirm as well πŸ‘. Thank you! πŸ‘

from brlaser.

janbuchar avatar janbuchar commented on May 17, 2024

This sounds great! Will there be a release any time soon or should I switch to the git version?

from brlaser.

pdewacht avatar pdewacht commented on May 17, 2024

Sorry for the delay, I'm making a new release tonight.

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

I'm unable to print the following test document, isolated down to the smallest thing I possibly could.

It is strange.pdf.

@Terrabits maybe you could try?

from brlaser.

Terrabits avatar Terrabits commented on May 17, 2024

@dcousens This printed for me using the drivers that I built from source around the time of my previous post (3/27).

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@Terrabits thank you for testing!
I can only print that document using 300 DPI.

Somehow yet again we have different results!
@sjuk could you try?

from brlaser.

dcousens avatar dcousens commented on May 17, 2024

@pdewacht I managed to have that document print by changing

-  static const unsigned max_lines_per_block_ = 64;
+  static const unsigned max_lines_per_block_ = 32;

from brlaser.

sjuk avatar sjuk commented on May 17, 2024

@Terrabits thank you for testing!
I can only print that document using 300 DPI.

Somehow yet again we have different results!
@sjuk could you try?

@dcousens: I've cloned, compiled and installed version 6 of brlaser driver from pdewacht's git repository. After that I added a new printer which automatically assigned the recently installed driver. Printing of strange.pdf worked fine. Printing pdewacht.pdf also worked fine with the driver. Looks very promising. :-)

from brlaser.

mathematicalmichael avatar mathematicalmichael commented on May 17, 2024

in case anyone comes across this:
cloned and compiled the branch from #68 worked flawlessly (just followed readme instructions) and resolved my pdf printing issues on ubuntu 18 (x86)

from brlaser.

niftyteam avatar niftyteam commented on May 17, 2024

in case anyone comes across this:
cloned and compiled the branch from #68 worked flawlessly (just followed readme instructions) and resolved my pdf printing issues on ubuntu 18 (x86)

agreeing with @mathematicalmichael. this just worked on my hl-l2320d. i was having problems printing in duplex, and printing with images. changing the resolution on the ppd files made it work on all my windows/mac/ios devices.

from brlaser.

2mac avatar 2mac commented on May 17, 2024

I ran into this issue recently and found this thread. For those like me who find this before the next official release, this bug was fixed by another commit to master. Just build the latest master and it will work. No need to use a fork.

Also, when this happened to me, I had to reset the printer to get it to print any job after the bad print. To do this (on the HL-L2300D), turn off the printer, hold "Go" and turn it on. When the 3 top lights come on, release the button, then press it 10 times and wait. This will reset all internal state of the printer, and you'll be able to print again.

from brlaser.

mattmays avatar mattmays commented on May 17, 2024

I have a Brother HL-L2320D and compiling from master and resetting per @2mac's instructions worked like a charm. Thanks!

from brlaser.

djabaay avatar djabaay commented on May 17, 2024

I signed in because this thread and fix was a Godsend. I have a Brother HL-2300D which had all of the above symptoms you all methodically debugged. I cloned the repo, configured, compiled, and installed, and restarted cups. I was able to then successfully print the black and white image that previously failed. There wasn't even a need to re-add the printer, it just worked. Thank you all so much.

from brlaser.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.