Manufacturers should be forced by law to open source the drivers of unsupported hardware and pay the price of E-waste handling. If it works it has less chance to become waste, if it is waste they should be fined for making more of it!
Absolutely 10/10 can't agree more. It boggles my mind why they close source the drivers, because what good is a printer driver for a specific machine and hardware going to be to another manufacturer who makes completely different hardware? What's the worst that can happen? Somebody else might learn something about how to write their own drivers? Hardly a critical trade secret. It's just pointless and destructive secrecy on information that cannot possibly be profitable to anybody but the manufacturer of that specific hardware (as far as I can see). The hardware manufacturing aspect is obviously and understandably a trade secret in most cases, and nobody is asking them to open that up. The ewaste as a result of this pointless secrecy problem and stupidity is absolutely disgusting. We all live on this planet together. Lets not shit all over it with tons of ewaste, into our drinking water and food supply with toxic garbage.
I bought myself a label printer a while ago and recently switched to Linux. No official support. Been learning a lot trying to get it working (including cups api and reverse engineering custom binary filters). I got it printing locally over usb but i want network printing.. the ippusbxd seems interesting (or ipp-usb).. either way, my journey continues... Thank you for your highly detailed video!!
Text Version With Commands: blog.robertelder.org/linux-printer-debugging/ 0:39 Obvious things to make your printer work. 2:11 Less obvious things to try second. 4:20 Start debugging with 'lsusb', device nodes, lsusb usblp 7:27 CUPS backends 8:14 lpstat command 8:43 CUPS - a more formal introduction 9:29 Udev 10:17 systemd 10:37 ippusbxd 11:13 AppArmor 11:56 lp command 12:02 lpr command 12:25 What actually are 'printer drivers'? 13:55 GTK and printing. 14:56 Check These Log Files 17:10 More Detailed Review of udev rules. 18:00 udevadm Command To Debug udev/kernel events. 20:24 Major and Minor Numbers & device files in /sys 22:33 CUPS filters 30:51 How did I force MY printer to work with Linux? 32:52 What Does The Future of Printing On Linux Look Like?
On my Linux Mint 20.1 Ulyssa PC, I installed HPLIP and the HPLIP GUI via application management, connected an HP Deskjet, waited 15 seconds, printed a test page, immediately scanned it with scanner software. Done, running. Never again Microzhoft Whindahz!
Wow, that was a great piece of work and I appreciate all of your research and sharing of this information. I have an Epson WF-3530 printer that I have been using with Linux Lite 2.8 for many years and recently updated to the current version of Linux Lite 6.6. After installing, I'm now going to be installing the Epson Linux "Print" Drivers, but I found that in the .deb based drivers list, there are 3 different drivers available and really no explanation of the differences between them, so I'm doing some digging to try to figure that one out. They appear to all be available for my WF-3530 printer, so I will need to figure out the differences between the Driver ESC/P, Driver ESC/P-R and Driver 2 ESC/P-R. Inkjet Printer Driver Epson Inkjet Printer Driver (ESC/P) for Linux Epson Inkjet Printer Driver (ESC/P-R) for Linux Epson Inkjet Printer Driver 2 (ESC/P-R) for Linux My Research Continues....
At 26:00, when you have a postscript file, you could also have used gstoraster before rastertobrlaser. GS stands for ghostscript, the open source implemention of a postscript parser (AGPL or commercial license).
hah, yes it's true. I thought about mentioning that, but it's not really practical for all document formats for all printers. Just like with piping directly to the lp1 device, where it worked with the Brother printer, but not for the Epson. In these cases you might still need the CUPS filters or backends to get the result that you want. For anyone else reading these comments, here's a recent hackernews thread on this exact topic: news.ycombinator.com/item?id=28054789
As someone who used linux for some time, do not trust the gui when it comes to something like this, for some reason its crappy and adding rhe printer using gui did not work but using the cups web interface it worked and automatixally found compatible driver
You said that it was successfully 'detected', but I'm curious what method you used to determine this. Are there any interesting statements in the error logs (the ones noted in the video)?
Also, I've never tried pop os before. I usually just stick to Ubuntu since it seems to have the best general hardware compatibility. I've had some issues with wayland in the latest version of ubuntu though. I think ubuntu 20 is pretty stable, and that's what I'm using now. If you have a spare laptop/computer, you could try putting ubuntu on it and see if your problem goes away on that machine. That would let you identify the problem. If the problem is solved by something like one of the udev rules from Ubuntu, you could just copy/paste that specific rule onto your main pop os machine.
@@RobertElderSoftware Sorry it works now WTH!? (probably an update or I connected later after it booted). Why I spent 5 hours to find a solution last night? (Thailand). Also I don't wanna blame linux though (it's not linux fault since this is a proprietary driver FROM EPSON) but this is an another reason why people don't use linux desktop as they don't wanna spend their time to puzzle it. That 5 hours people would rather having fun on a nightclub with their friends. I think it's the same reason why you don't wanna use NVIDIA on Linux (not recommend).
@@RobertElderSoftware I've been using linux for 3 years & this is the first time I use a printer on Linux though. Some people are lucky that it work flawlessly like Linus from Linux Tech Tips (the printer). Linux is not Windows people & Linux is unpredictable in my opinion for what's gonna happen but I'm glad that I'm use to it. I will never switch back to Windows until I upgrade my PC/Laptop (latest & decent spec but don't have money for it). I have ASD as well so that's why I use Linux
I assume you're implying that you experienced a newly introduced problem with your printer when going from version 20.3 to 21.1. If that's the case, you might be able to compare the differences in the udev rules between the two versions and see if there is something there that caused it to work in the previous version. If so, you could then port that over to your current setup. It could also be the countless other daemons involved in printing, or something totally different that I haven't thought of.
I've never used Linux Mint before, but many of the concepts that I showed (such as major numbers, minor numbers, and udev rules) are common to pretty much every Linux distribution. Different distributions may, however, have different sets of installed udev rules pre-installed, but that's exactly what makes them a 'different distribution'.
On my Linux Mint 20.1 Ulyssa PC, I installed HPLIP and the HPLIP GUI via application management, connected an HP Deskjet, waited 15 seconds, printed a test page, immediately scanned it with scanner software. Done, running. Never again Microzhoft Whindahz!
Manufacturers should be forced by law to open source the drivers of unsupported hardware and pay the price of E-waste handling. If it works it has less chance to become waste, if it is waste they should be fined for making more of it!
Absolutely 10/10 can't agree more. It boggles my mind why they close source the drivers, because what good is a printer driver for a specific machine and hardware going to be to another manufacturer who makes completely different hardware? What's the worst that can happen? Somebody else might learn something about how to write their own drivers? Hardly a critical trade secret. It's just pointless and destructive secrecy on information that cannot possibly be profitable to anybody but the manufacturer of that specific hardware (as far as I can see). The hardware manufacturing aspect is obviously and understandably a trade secret in most cases, and nobody is asking them to open that up.
The ewaste as a result of this pointless secrecy problem and stupidity is absolutely disgusting. We all live on this planet together. Lets not shit all over it with tons of ewaste, into our drinking water and food supply with toxic garbage.
This guy is thorough. I felt like I was back in my Cisco classes.
I bought myself a label printer a while ago and recently switched to Linux. No official support. Been learning a lot trying to get it working (including cups api and reverse engineering custom binary filters). I got it printing locally over usb but i want network printing.. the ippusbxd seems interesting (or ipp-usb).. either way, my journey continues... Thank you for your highly detailed video!!
Text Version With Commands: blog.robertelder.org/linux-printer-debugging/
0:39 Obvious things to make your printer work.
2:11 Less obvious things to try second.
4:20 Start debugging with 'lsusb', device nodes, lsusb usblp
7:27 CUPS backends
8:14 lpstat command
8:43 CUPS - a more formal introduction
9:29 Udev
10:17 systemd
10:37 ippusbxd
11:13 AppArmor
11:56 lp command
12:02 lpr command
12:25 What actually are 'printer drivers'?
13:55 GTK and printing.
14:56 Check These Log Files
17:10 More Detailed Review of udev rules.
18:00 udevadm Command To Debug udev/kernel events.
20:24 Major and Minor Numbers & device files in /sys
22:33 CUPS filters
30:51 How did I force MY printer to work with Linux?
32:52 What Does The Future of Printing On Linux Look Like?
Nice video, congratulations.
On my Linux Mint 20.1 Ulyssa PC, I installed HPLIP and the HPLIP GUI via application management, connected an HP Deskjet, waited 15 seconds, printed a test page, immediately scanned it with scanner software. Done, running. Never again Microzhoft Whindahz!
No linux support no buy
Its odd that we still have to jump through so many issues despite ipp being allegedly driverless
Wow, that was a great piece of work and I appreciate all of your research and sharing of this information. I have an Epson WF-3530 printer that I have been using with Linux Lite 2.8 for many years and recently updated to the current version of Linux Lite 6.6. After installing, I'm now going to be installing the Epson Linux "Print" Drivers, but I found that in the .deb based drivers list, there are 3 different drivers available and really no explanation of the differences between them, so I'm doing some digging to try to figure that one out. They appear to all be available for my WF-3530 printer, so I will need to figure out the differences between the Driver ESC/P, Driver ESC/P-R and Driver 2 ESC/P-R.
Inkjet Printer Driver
Epson Inkjet Printer Driver (ESC/P) for Linux
Epson Inkjet Printer Driver (ESC/P-R) for Linux
Epson Inkjet Printer Driver 2 (ESC/P-R) for Linux
My Research Continues....
At 26:00, when you have a postscript file, you could also have used gstoraster before rastertobrlaser.
GS stands for ghostscript, the open source implemention of a postscript parser (AGPL or commercial license).
What a journey!
Amazing information and video. Thank you.
You could use netcat to print don't need to install cups.
hah, yes it's true. I thought about mentioning that, but it's not really practical for all document formats for all printers. Just like with piping directly to the lp1 device, where it worked with the Brother printer, but not for the Epson. In these cases you might still need the CUPS filters or backends to get the result that you want.
For anyone else reading these comments, here's a recent hackernews thread on this exact topic:
news.ycombinator.com/item?id=28054789
My printer is working with windows, I am just watching it after watching tutorial about missile, so I think this is probably my deviation..
As someone who used linux for some time, do not trust the gui when it comes to something like this, for some reason its crappy and adding rhe printer using gui did not work but using the cups web interface it worked and automatixally found compatible driver
How do you make the printer work from centOs 8 which is running on oracle virtual box? Spend 2 hours Troubleshooting it failed.
32:18 I would disable ippusbxd for this specific usb device.
Gutenprint
Ppd files from manofacturer.
My EPSON L360 is detected & I already install its Linux driver but it won't print. Also EPSON unity program doesn't work anymore due to QT4 issues.
I use the latest Pop!_OS
You said that it was successfully 'detected', but I'm curious what method you used to determine this. Are there any interesting statements in the error logs (the ones noted in the video)?
Also, I've never tried pop os before. I usually just stick to Ubuntu since it seems to have the best general hardware compatibility. I've had some issues with wayland in the latest version of ubuntu though. I think ubuntu 20 is pretty stable, and that's what I'm using now. If you have a spare laptop/computer, you could try putting ubuntu on it and see if your problem goes away on that machine. That would let you identify the problem. If the problem is solved by something like one of the udev rules from Ubuntu, you could just copy/paste that specific rule onto your main pop os machine.
@@RobertElderSoftware Sorry it works now WTH!? (probably an update or I connected later after it booted). Why I spent 5 hours to find a solution last night? (Thailand). Also I don't wanna blame linux though (it's not linux fault since this is a proprietary driver FROM EPSON) but this is an another reason why people don't use linux desktop as they don't wanna spend their time to puzzle it. That 5 hours people would rather having fun on a nightclub with their friends. I think it's the same reason why you don't wanna use NVIDIA on Linux (not recommend).
@@RobertElderSoftware I've been using linux for 3 years & this is the first time I use a printer on Linux though. Some people are lucky that it work flawlessly like Linus from Linux Tech Tips (the printer). Linux is not Windows people & Linux is unpredictable in my opinion for what's gonna happen but I'm glad that I'm use to it. I will never switch back to Windows until I upgrade my PC/Laptop (latest & decent spec but don't have money for it). I have ASD as well so that's why I use Linux
Printer works but not scans, why is that?
Not enough information in your question to say for sure. Were you able to install manufacturer's drivers? What distribution are you using?
I don't know what they did in Linux Mint 21.1 but updating from 20.3 was a huge mistake.
I assume you're implying that you experienced a newly introduced problem with your printer when going from version 20.3 to 21.1. If that's the case, you might be able to compare the differences in the udev rules between the two versions and see if there is something there that caused it to work in the previous version. If so, you could then port that over to your current setup. It could also be the countless other daemons involved in printing, or something totally different that I haven't thought of.
would these tricks and commands also work with Linux Mint?
I've never used Linux Mint before, but many of the concepts that I showed (such as major numbers, minor numbers, and udev rules) are common to pretty much every Linux distribution. Different distributions may, however, have different sets of installed udev rules pre-installed, but that's exactly what makes them a 'different distribution'.
On my Linux Mint 20.1 Ulyssa PC, I installed HPLIP and the HPLIP GUI via application management, connected an HP Deskjet, waited 15 seconds, printed a test page, immediately scanned it with scanner software. Done, running. Never again Microzhoft Whindahz!