# Adding Brother DCP-T300 - please help

## Oniryczny

I am trying to add printer/scanner Brother DCP-T300

I have copied all files from .deb.packages but can't print.

Please help...

I have found on Brother help:

I'm using Gentoo Linux and I receive the following error mssage:" Filter "brlpdwrapperXXXXX" for printer "XXXXX" not available: No such file or directory". (where XXXXX is your Brother product name) 

When you use printer in a Gentoo environment, make a symbolic link to "/usr/libexec/cups/filter/brlpdwrapper[printer name]" after the driver installation. 

Command example (Type the whole command as a single line before hitting enter):

# ln -s /usr/lib/cups/filter/brlpdwrapper[printer name] /usr/libexec/cups/filter/brlpdwrapper[printer name]

but there is no /usr/lib/cups directory

----------

## Roman_Gruber

As user root open a webbrowser and use http://localhost:631/

I do not own such a printer.

For example for my printer there is a ppd file or what it is called, which I have downloaded from the manufactuerer in the past.

With this url and the correct ppd file I was able to setup my printer. The ppd file gives instructions on how to handle the printer, else you need to use some sort of printer emulation, which depends on the capabilities of your printer. Cheap printers usually do not support such features as pcl ...

----------

## ian.au

 *Oniryczny wrote:*   

> I am trying to add printer/scanner Brother DCP-T300
> 
> I have copied all files from .deb.packages but can't print.
> 
> Please help...
> ...

 

Then the drivers installed somewhere other than /usr/libs/cups/* you just have to find out where they are them and link them from there. 

You could try 

```
/opt/brother/Printers/*model*
```

 That is where they ended up on my current machine (different model printer) but I installed from the *.rpm on this machine, and from memory that was the default location. 

In case it helps, I ended up creating the following links for this printer:

```
ian@lw3 ~ $ ls -al /usr/libexec/cups/filter | grep .-\>

lrwxrwxrwx 1 root root     55 Dec  4  2014 brmfcj6910dwfilter -> /opt/brother/Printers/mfcj6910dw/lpd/brmfcj6910dwfilter

lrwxrwxrwx 1 root root     53 Dec  4  2014 brother_lpdwrapper_mfcj6910dw -> /opt/brother/Printers/mfcj6910dw/lpd/filtermfcj6910dw

lrwxrwxrwx 1 root root     53 Dec  4  2014 filtermfcj6910dw -> /opt/brother/Printers/mfcj6910dw/lpd/filtermfcj6910dw
```

----------

## Oniryczny

```
# LANG=C ls -l /opt/brother/Printers/dcpt300/lpd/

total 1756

-rwxr-xr-x 1 root root 1788268 Apr 20  2015 brdcpt300filter

-rwxr-xr-x 1 root root    2272 Apr 20  2015 filterdcpt300

-rwxr-xr-x 1 root root    2247 Apr 20  2015 psconvertij2

#
```

and

```
# LANG=C ls -al /usr/libexec/cups/filter | grep .-\>

lrwxrwxrwx 1 root root     32 Aug  2 07:30 pstopxl -> /usr/libexec/cups/filter/gstopxl

lrwxrwxrwx 1 root root     35 Aug  2 07:30 pstoraster -> /usr/libexec/cups/filter/gstoraster

lrwxrwxrwx 1 root root     13 Jun 10 21:29 rastertodymo -> rastertolabel

#
```

this isn't good, I guess...

----------

## ian.au

 *Oniryczny wrote:*   

> 
> 
> ```
> # LANG=C ls -l /opt/brother/Printers/dcpt300/lpd/
> 
> ...

 

Actually, the second lot (/usr/libexec/cups/filter) look okay I think they are just some additional filters cups installs for certain (foomatic? I can't remember now) drivers. I have those on my machine too. Anyway, it's safe to leave those in place. 

You are missing the links to the filters for your printer, so just add links to them, restart your cups server and you should then be able to set the printer up through your cups interface ie: 

```
# ln -s  /opt/brother/Printers/dcpt300/lpd/brdcpt300filter /usr/libexec/cups/filter/brdcpt300filter

# ln -s  /opt/brother/Printers/dcpt300/lpd/filterdcpt300  /usr/libexec/cups/filter/brdcpt300filter/filterdcpt300

# ln -s  /opt/brother/Printers/dcpt300/lpd/psconvertij2  /usr/libexec/cups/filter/brdcpt300filter/psconvertij2
```

Hope that gets it working for you

----------

## Oniryczny

First line done properly but then:

```

# LANG=C ln -s /opt/brother/Printers/dcpt300/lpd/filterdcpt300 /usr/libexec/cups/filter/brdcpt300filter/filterdcpt300

ln: failed to create symbolic link '/usr/libexec/cups/filter/brdcpt300filter/filterdcpt300': Not a directory

# LANG=C ln -s /opt/brother/Printers/dcpt300/lpd/psconvertij2 /usr/libexec/cups/filter/brdcpt300filter/psconvertij2

ln: failed to create symbolic link '/usr/libexec/cups/filter/brdcpt300filter/psconvertij2': Not a directory

#
```

----------

## ian.au

 *Oniryczny wrote:*   

> First line done properly but then:
> 
> ```
> 
> # LANG=C ln -s /opt/brother/Printers/dcpt300/lpd/filterdcpt300 /usr/libexec/cups/filter/brdcpt300filter/filterdcpt300
> ...

 

My apologies, I cut and pasted that up incorrectly from your earlier post and didn't check it properly: second and third lines should read

 *Quote:*   

> ln -s /opt/brother/Printers/dcpt300/lpd/filterdcpt300 /usr/libexec/cups/filter/filterdcpt300
> 
> ln -s /opt/brother/Printers/dcpt300/lpd/psconvertij2 /usr/libexec/cups/filter/psconvertij2

 

That should get you going

----------

## Oniryczny

When adding through ppd file gives

```

   Idle - "File "/usr/libexec/cups/filter/brother_lpdwrapper_dcpt300" not available: No such file or directory"
```

----------

## ian.au

 *Oniryczny wrote:*   

> When adding through ppd file gives
> 
> ```
> 
>    Idle - "File "/usr/libexec/cups/filter/brother_lpdwrapper_dcpt300" not available: No such file or directory"
> ...

 

Edit: I'll just check my machine - I was going to suggest changing the symlink, but thought again after posting...

----------

## Oniryczny

Now I got

```

stopped 

"Filter failed"
```

I thought I would be able to find my Brother through Find New Printers instead of adding via ppd file like it is made in debian/suse with those binaries from Brother website...

----------

## ian.au

You need to find the missing file and link it looking at this machine:

```
tree /opt/brother/Printers
```

 gives

 *Quote:*   

> /opt/brother/Printers
> 
> └── mfcj6910dw
> 
>     ├── cupswrapper
> ...

 

The links I have are 

 *Quote:*   

> ls -al /usr/libexec/cups/filter | grep .-\>
> 
> lrwxrwxrwx 1 root root     55 Dec  4  2014 brmfcj6910dwfilter -> /opt/brother/Printers/mfcj6910dw/lpd/brmfcj6910dwfilter
> 
> lrwxrwxrwx 1 root root     53 Dec  4  2014 brother_lpdwrapper_mfcj6910dw -> /opt/brother/Printers/mfcj6910dw/lpd/filtermfcj6910dw
> ...

 

so you need to create a second link by the look of that, to:

```
ln -s /opt/brother/Printers/dcpt300/lpd/filterdcpt300 /usr/libexec/cups/filter/brother_lpdwrapper_dcpt300
```

Hope so anyway

----------

## ian.au

Sorry, I changed my post after I read it back you need both so go back and recreate the one that I told you to rename in that post I edited you need two links to the filter in /usr/libexec/cups/filter 

 *Quote:*   

> lrwxrwxrwx 1 root root 53 Dec 4 2014 brother_lpdwrapper_mfcj6910dw -> /opt/brother/Printers/mfcj6910dw/lpd/filtermfcj6910dw 
> 
> lrwxrwxrwx 1 root root 53 Dec 4 2014 filtermfcj6910dw -> /opt/brother/Printers/mfcj6910dw/lpd/filtermfcj6910dw 

 

Sorry, it's been a few years since I set this up

----------

## Oniryczny

```
# ls -al /usr/libexec/cups/filter | grep .-\>

lrwxrwxrwx 1 root root     49 08-25 22:09 brother_lpdwrapper_dcpt300 -> /opt/brother/Printers/dcpt300/lpd/brdcpt300filter

lrwxrwxrwx 1 root root     47 08-25 16:30 filterdcpt300 -> /opt/brother/Printers/dcpt300/lpd/filterdcpt300

lrwxrwxrwx 1 root root     46 08-25 16:30 psconvertij2 -> /opt/brother/Printers/dcpt300/lpd/psconvertij2

lrwxrwxrwx 1 root root     32 08-02 07:30 pstopxl -> /usr/libexec/cups/filter/gstopxl

lrwxrwxrwx 1 root root     35 08-02 07:30 pstoraster -> /usr/libexec/cups/filter/gstoraster

lrwxrwxrwx 1 root root     13 06-10 21:29 rastertodymo -> rastertolabel

# LANG=C ln -s /opt/brother/Printers/dcpt300/lpd/filterdcpt300 /usr/libexec/cups/filter/brother_lpdwrapper_dcpt300

ln: failed to create symbolic link '/usr/libexec/cups/filter/brother_lpdwrapper_dcpt300': File exists

#
```

so

```
# rm /usr/libexec/cups/filter/brother_lpdwrapper_dcpt300 

# LANG=C ln -s /opt/brother/Printers/dcpt300/lpd/filterdcpt300 /usr/libexec/cups/filter/brother_lpdwrapper_dcpt300

#
```

And I got the Test page!

Thank you so much   :Smile: 

----------

## ian.au

Great, glad you got it running. Sorry about that earlier post, I edited it almost immediately - but you must have read it meantime.

Cheers, Ian

----------

## Oniryczny

So I need to change anything more then?

----------

## ian.au

If it works and you are happy, why change anything? I'm pretty embarrassed about those posts this morning, I was under the pump for time and it surely showed - but I knew you were very close to getting it running. Why not post back your working symlink listing in /usr/libexec/cups/filter/ for that printer and mark this thread solved - it may save someone else from having to decipher my rambling instructions  :Wink: 

----------

