I use an HL-L2370DW which only accepts PCL on BINARY_P1. I think it likely that yours acts the same. You'll have to tell lp to send the output through a filter, using (iirc) the vf= option in printcap. This is what i used for a filter:
#!/bin/sh gs -sPAPERSIZE=letter -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE - Hope this helps.

