Author Topic: Anyone successfully using Brother HL-5470dw?  (Read 47233 times)

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #45 on: February 15, 2016, 05:38:16 pm »
  I will note that I have a Brother printer driver (HL-3075), and if I print a text file with resolution set to anything above 600, the page appears blank (although there is no crash).
You have to print device font capacity, and reduce the numbers of fonts, to the number that your print capacity or less.
Iam printing in 2 brothers with HQ1200, without problems with linux ppd files, you can test.

I attach 2 files, one have the font courier,type1 for charge, and the file for delete the font. I drag and drop to the printer and give me a error, this is a capture of the font.
ERROR NAME:
undefined
COMMAND;
OPERAND STACK;
The idea is to send and test the font without your program.

Saludos

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 389
  • Karma: +5/-0
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #46 on: February 16, 2016, 10:22:35 am »
Alright...how the heck does one debug a printer driver? Alex??? lol...what's the "secret sauce" to actually do this with?

You're on the right track already. Basically, dig into the job's Postscript output until you find the bit that's causing the problem, and then figure out what the correct code should look like. :p

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1323
  • Karma: +26/-0
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #47 on: February 16, 2016, 02:08:51 pm »
You're on the right track already. Basically, dig into the job's Postscript output until you find the bit that's causing the problem, and then figure out what the correct code should look like. :p

I only wish I could actually get that far...the crash happens before I can successfully print anything...so literally as soon as I try to print using the HQ1200 setting I am getting a "divide by zero" error.

What actually helped is attempting to print from your handy AE, it produces a pretty descriptive error, while most other apps simply crash. I've attached the screenshot of what that error message actually is. This implies that whatever operation the driver attempts to perform to instantitate the HQ1200 mode produces an error which is then sent back to the program, I assume as an API return code?

I'm now looking at the PAK tools/utilities you made available on your site to understand the details of the AUXPRINT.PAK file. My assumption here is that as PIN imported the PPD with the specific control "codes" to put the printer in HQ1200 mode it either did not convert correctly because it did not know how to do it, or it failed to import altogether (although during the PPD import process no errors are generated).

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #48 on: February 18, 2016, 11:32:05 pm »
I decided to try to install ppd win7-32 ​​in OS2 .
Commenting that the PPD br- mfc2720dw is very similar to Dariusz , 1200x1200 , but in linux ppd is 2400x600 .
And these are the mistakes that leave me, I put the resolution to HQ1200 , EPM text printing with cigar ... the text remains in the spool , and I get this error:
Code: [Select]

%!
% lib/ehandler.ps -- Downloaded Error Break-page handler
% Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
% RCSID: $Header:   L:/pvcs/passion/down21/windown/ehandler.psv   3.0   28 Aug 1992 16:46:42   JKEEFE  $
% assumes serverloop password is the default one
/$brkpage where
{pop(Error Handler in place - not loaded again\n)print flush stop}
{serverdict begin statusdict begin 0000 checkpassword
 {(Error Handler downloaded.\n)print flush 0000 exitserver}
 {(Bad Password on loading error handler!!!\n)print flush stop}ifelse
}ifelse
/$brkpage 64 dict def $brkpage begin
/prnt
 {dup type/stringtype ne{=string cvs}if dup length 6 mul/tx exch def/ty 9 def
  currentpoint/toy exch def/tox exch def 1 setgray newpath
  tox toy 2 sub moveto 0 ty rlineto tx 0 rlineto 0 ty neg rlineto
  closepath fill tox toy moveto 0 setgray show}bind def
/nl{currentpoint exch pop lmargin exch moveto 0 -9 rmoveto}def
/=={/cp 0 def typeprint nl}def
/typeprint{dup type exec}readonly def
/lmargin 72 def
/rmargin 72 def
/tprint
   {dup length cp add rmargin gt{nl/cp 0 def}if
    dup length cp add/cp exch def prnt}readonly def
/cvsprint{=string cvs tprint( )tprint}readonly def
/integertype{cvsprint}readonly def
/realtype{cvsprint}readonly def
/booleantype{cvsprint}readonly def
/operatortype{(--)tprint =string cvs tprint(-- )tprint}readonly def
/marktype{pop(-mark- )tprint}readonly def
/dicttype{pop(-dictionary- )tprint}readonly def
/nulltype{pop(-null- )tprint}readonly def
/filetype{pop(-filestream- )tprint}readonly def
/savetype{pop(-savelevel- )tprint}readonly def
/fonttype{pop(-fontid- )tprint}readonly def
/nametype{dup xcheck not{(/)tprint}if cvsprint}readonly def
/stringtype
 {dup rcheck{(\()tprint tprint(\))tprint}{pop(-string- )tprint}ifelse
 }readonly def
/arraytype
 {dup rcheck{dup xcheck
  {({)tprint{typeprint}forall(})tprint}
  {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-array- )tprint}ifelse
 }readonly def
/packedarraytype
 {dup rcheck{dup xcheck
  {({)tprint{typeprint}forall(})tprint}
  {([)tprint{typeprint}forall(])tprint}ifelse}{pop(-packedarray- )tprint}ifelse
 }readonly def
/courier/Courier findfont 9 scalefont def
end %$brkpage
errordict/handleerror
 {systemdict begin $error begin $brkpage begin newerror
   {/newerror false store
    vmstatus pop pop 0 ne{grestoreall}if initgraphics courier setfont
    lmargin 720 moveto(ERROR: )prnt errorname prnt
    nl(OFFENDING COMMAND: )prnt/command load prnt
    $error/ostack
    known{nl nl(STACK:)prnt nl nl $error/ostack get aload length{==}repeat}if
    systemdict/showpage get exec(%%[ Error: )print
    errorname =print(; OffendingCommand: )print/command
    load =print( ]%%)= flush}if end end end}
dup 0 systemdict put dup 4 $brkpage put bind readonly put

At the same time I leave the error in the spool , and try to open any file.ps from the icon, select the file properties >>>  right click>> menu create another  >>>
edit
e.exe
INIS are corrupted as the picture
When I try to open any txt file I get this error image .
saludos

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 389
  • Karma: +5/-0
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #49 on: February 20, 2016, 01:56:41 pm »
Quote
You're on the right track already. Basically, dig into the job's Postscript output until you find the bit that's causing the problem, and then figure out what the correct code should look like. :p

I only wish I could actually get that far...the crash happens before I can successfully print anything...so literally as soon as I try to print using the HQ1200 setting I am getting a "divide by zero" error.

What actually helped is attempting to print from your handy AE, it produces a pretty descriptive error, while most other apps simply crash. I've attached the screenshot of what that error message actually is. This implies that whatever operation the driver attempts to perform to instantitate the HQ1200 mode produces an error which is then sent back to the program, I assume as an API return code?

AE is not 'mine' in any way.  But in any case, I think that application just means an uninitialized value (or, more probably, a bad address or invalid pointer) somewhere in the PS driver.  Not really meaningful beyond the fact that it crashes.

Quote
I'm now looking at the PAK tools/utilities you made available on your site to understand the details of the AUXPRINT.PAK file. My assumption here is that as PIN imported the PPD with the specific control "codes" to put the printer in HQ1200 mode it either did not convert correctly because it did not know how to do it, or it failed to import altogether (although during the PPD import process no errors are generated).

You can use PPAKTOOL AUXPRINT.PAK /R (or /V) "<printer name>" to dump out the data for that printer as generated by PIN.  If it was imported without corruption, all the values should be shown as the PPD describes them.  If you see stuff that's completely weird (or garbled) then it's a good sign the imported data is corrupt.

You can also use the /P switch to recreate a PPD for the printer out of the PAK file. It won't be exactly the same as the original, but it should have a compatible subset of it. Comparing the two may be instructive (or may not)...

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #50 on: February 23, 2016, 01:08:06 pm »
I made same test with the editor AE, and the printer Xerox 6500n in 600dpi with Linux ppd.
And you can see 2 files, one with the error but very more small only 145.789 bytes(this is the Have a Cigar.txt--warpon -- is 1.129.236bytes ) and other with only one line without intro 0d0a that is perfect.
Which shows the gsview , it is what gives the printer.
Saludos

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: Anyone successfully using Brother HL-5470dw?
« Reply #51 on: February 23, 2016, 06:20:30 pm »
More test and my conclusion:
I test with the Brother mfc2720dw with linux ppd, in 3 resolutions 300,600, and HQ1200 dpi, without problems with Courier Bold. Only in 2400x600 that is HQ1200 the text is more large that  width.
The ae.exe editor with courier new have a bug (i am not sure but i think that)

The windows ppd are generic, or incomplete. Why?, In the brother mfc2720dw the windows ppd HQ,is 1200x1200, in linux is 2400x600. If in linux work ok in all resolutions,the linux config is right.
In the xerox6500n, the windows ppd, do not have any about security, user, passw, etc. but in linux ppd that is complete especific for this printer. And work ok.

Saludos