This post describes how one can use a Brother DCP-7055 on Linux via USB.
Brother has updated their webpage and made the installation process very simple by adding scripts which do all the work for you. At the end, both printing and scanning should work. All you need to do is go to this page, select your operational system ("Linux (deb)" if you use Ubuntu/Debian or "Linux (rpm)" if you use SUSE/Fedora) and get the "Linux brprinter installer". Now follow the instructions on the page and you will be good to go!
Scanning as a normal user
Depending on your system configuration, scanning might work only for superusers. The Brother Support website has instructions on how to allow all users to use the scanner. It is also possible to manually give this permission to each user. If you wish to do it manually, you must first determine which group has permission to use the scanner. For that, open a terminal and run:
lsusb | grep Brother
You should see a line like the one below (if you wish to better understand the output of lsusb, read this post):
Bus 002 Device 069: ID 04f9:0248 Brother Industries, Ltd
The highlighted segments show you the USB bus number and the device number assigned to your DCP-7055 (ID 04f9:0248 identifies "Brother" as the manufacturer and "DCP-7055 scanner/printer" as the device). You can get the name of the group which has permission to use the scanner with:
ls -al /dev/bus/usb/<bus-number>/<device-number>
In my case, I ran the following command:
ls -al /dev/bus/usb/002/069
and got the following output (the highlighted text is the group):
crw-rw-r-- 1 root lp 189, 196 Apr 16 13:45 /dev/bus/usb/002/069
In my case, the group name is then lp. Users can be added to this group to give them permission to scan documents with the command below:
sudo adduser <username> lp
If you are logged in as a user to which you just gave permission to scan documents, you might have to log off and log in again to make the changes take effect for that user.
A note for Raspberry Pi users
At the moment of this writing, the drivers for the DCP-7055 do not work on ARM processors, so the procedure above will not work on devices such as the Raspberry Pi. It is possible, however, to use the printer as a raw printer, i.e., a "dumb" printer which blindly prints what it is fed without any further processing (a very good description of the properties and limitations of a raw printer can be found here). Raspberry Pi users can go here to get more details on how to do this.