*Update. .. Y no Brother DCP-L2500D  will not work just like this… but.
You can ignore what’s below. This supose to be a process to instal official drivers which are not compatiple with today debian 12 or any other PI that want to run CUPS.

But.. There is an solution for this.
https://github.com/pdewacht/brlaser

Install those drivers and magically you can print again.
It’s not perfect some issues with page size.
But it works.

Well good luck.

Proxmox …. So how about Yes we can have our printer / scan server cause why not. The only problem that i do have is that my printer shuts down automatically. Yes you can turn it off but this saves that 5W of power where it’s not needed. As i need to print meabe once per year. Okay now let’s go to setup and how to section….

Check you're usb devices

lsusb
My output went like: Bus 001 Device 006: ID 04×9:0411 Brother Industries, Ltd DCP-L2500D This is important step as we need to make sure that this will always be the same port no matter if we remove USB cable, or we will move it to other usb port.

Create a udev rule to automatically recognize and create a persistent device

nano /etc/udev/rules.d/99-brother-printer.rules

This part is important replace the id vendor (04x9) and id product (0411) with you're id.

SUBSYSTEM=="usb", ATTR{idVendor}=="04x9", ATTR{idProduct}=="0411", SYMLINK+="brother_printer"

Reload the udev rules to apply the changes:

udevadm control --reload-rules
udevadm trigger
Plug out usb and plug it back again.

Disconnect and reconnect your Brother printer/scanner and check if the symlink /dev/brother_printer

ls -l /dev

Modify the Proxmox Container Configuration to include that in the container of id ( 117 )

nano /etc/pve/lxc/117.conf

Add those lines inside

lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/brother_printer dev/brother_printer none bind,optional,create=file

Start and restart the container

pct stop 117
pct start 117

Open CT ( 117 ) shell and check if you can see you're symlink with /dev/brother_printer

ls -l /dev/
Now the next part begins. To make this entire thing work we first need our .ppd file. For linux this file is something like a driver. And ofcourse it’s not there by default.

Add the symlink device

sudo lpadmin -p Brother_Printer -E -v file:///dev/brother_printer -m brother.ppd

This ofcourse will not work... as it was disable so modify the config....

# File device URIs have been disabled. To enable, see the FileDevice directive....
nano /etc/cups/cups-files.conf

# Go and look for the FileDevice and chage it from No to Yes 
# Press ctrl + s to save

Check if there is .ppd file of you're printer in the folder

# File device URIs have been disabled. To enable, see the FileDevice directive....
ls /usr/share/cups/model/
This more likely be empty. Here i’ll show you steps that i did to make my brother printer .ppd file to work. It might be different for you’re printer.

Brother DCP-L2500D drivers for linux.

# Go to website  
https://support.brother.com/g/b/downloadtop.aspx?c=eu_ot&lang=en&prod=dcpl2500d_eu

# Select Linux as os
# Select Linux(deb)

# Click first option 
Driver Install tool - The tool will install LPR, CUPSwrapper driver and scanner driver (for scanner models).

Instalation

# Click download
# Click agree to EULA 
# Press cancel in download window 
# Locate text " If your download does not start automatically, please click here. "
# Right click and copy link

# Go to container shell and enter 
wget https://the_link_you_copied.deb

# Then install it
chmod +x ./linux-brprinter-installer-2.2.4-1.deb
./linux-brprinter-installer-2.2.4-1

# Eneter your printer model
# Select auto mode. 
# Here does not really matter as this device it's not where driver thinks it is

Check

# After this you should have a file when you call
 ls /usr/share/cups/model/

# My final path for .ppd file is 
/usr/share/cups/model/brother-DCPL2500D-cups-en.ppd

Stop the ccupsd and modify the path

systemctl stop cups
nano /etc/cups/printers.conf

#Find line where dev is
# replace it with usb://dev/brother_printer
# Save the file ctrl + s

systemctl start cups