SimulPiscator / AirSane

Publish SANE scanners to MacOS, Android, and Windows via Apple AirScan.
GNU General Public License v3.0
243 stars 26 forks source link

Scanimage -L detects scanner, but no option in MacOS #103

Closed arsradu closed 1 year ago

arsradu commented 1 year ago

Hello,

So I'm trying to get the scanner part of my HP Ink tank 315 AIO detected from MacOS. I'm using a Raspberry Pi as print server, and with sane and sane-airscan installed, sane-find-scanner is able to detect the scanner, and so is scanimage -L command. Still...no option to start the scanner (or as it is with the dedicated MacOS driver, connected via USB "open scanner") for this case... Only the printer is showing.

Basically I'm trying to get from this

Screenshot 2023-05-11 at 19 27 23

to something more like this macOS-Open-Scanner-Button png

What am I doing wrong/not doing right?

How can I test if airsane is working or is properly installed? Do I need to compile/install this on the Raspberry Pi as well?

Sorry for the noob questions. This is all very new to me.

I hope someone can answer.

SimulPiscator commented 1 year ago

Hi,

I'm not sure whether I understand your setup correctly. AirSane needs to run on the machine the scanner is physically attached to, i.e. the Raspberry Pi. Then, on macOS, you may click "+" in the Printers and Scanners dialog, and choose your scanner which should be listed as a "Bonjour Scanner".

arsradu commented 1 year ago

Perfect! So that was my mistake. I knew it should be something done on the server itself, so that all devices that would print/scan on that printer can benefit from the exact same features.

But for some reason, being focused on solving the issue on the Mac I thought it needs to run on the Mac. My bad. :)

Alright, in this case, I'll follow the "build and install on Linux" instructions, since the Rasberry Pi is running its default Raspian (Debian 11).

Thank you so much! I'll try it and let you know. :)

arsradu commented 1 year ago

Aaand the results. :)

Screenshot 2023-05-11 at 20 38 49 Screenshot 2023-05-11 at 20 42 14

Bonjour it is! :))

I'm guessing it's normal that they show up separately, right? Or...is there a way to make it show up as an All-in-One Printer & Scanner, instead of a printer and a separate scanner? I saw somewhere a screenshot showing a multi-function device recognised as Bonjour Multifunction. Can that be applied here...?

Now, one more question, though not directly related to this project. Do you have any idea if (and how) I can change that default printer/scanner icon to something more accurate for this model?

With the default driver, I know they have a folder under Library/Printers if I'm not mistaken with all the icons, and they chose each icon from the actual ppd file. But in this case...the driver is on the server, right? And for as far as I could see, there's no mention of icns locations in there...

It's a small question and really not important. I was just wondering if there's a way, and only if you happen to know the answer.

Other than that, it's working perfectly! FINALLY!!! I was looking for a solution like this for so freaking long! I almost lost my hope that I will ever get that scanner to show up in MacOS so I can use it remotely. But now it works. Perfectly!

Thank you so much for this!

SimulPiscator commented 1 year ago

I'm guessing it's normal that they show up separately, right? Or...is there a way to make it show up as an All-in-One Printer & Scanner, instead of a printer and a separate scanner? I saw somewhere a screenshot showing a multi-function device recognised as Bonjour Multifunction. Can that be applied here...?

Unfortunately, no. I don't think it will negatively affect usability, though.

Regarding the scanner icon, AirSane allows you to specify icons for individual scanners in its options file. It is described in the AirSane README file, under "Optional Configuration". Let me know if this works for you. SANE itself does not have icons associated with scanner models, so you will need specify your own .png file for AirSane.

arsradu commented 1 year ago

I think I'm on the right path but...no luck yet. I'm sure I'm missing a step or something. Maybe permissions, maybe somethign else. I don't know.

I've managed to copy the file from my local machine to the server, and move it into the right directory. I've also configured the file (and I'd say it's probably ok), but...no luck so far. For some reason still takes the same default icon as before. I'm not even sure how. That line is commented. :)) So either that's another icon, ooor there's some voodoo going on there.

Screenshot 2023-05-12 at 10 23 08

Also, is there any way we can use .icns with this, as well? Since I couldn't find anything good on the web, I just extracted the original icns file from HP, resized it to 512x512 (initially 1024x1024) and saved as PNG with Alpha channel. So the file should be ok.

Uploading it here, as well, for reference

InkTank310
SimulPiscator commented 1 year ago

Unfortunately, the way how macOS treats eSCL icons seems to be a bit buggy. To make sure that AirSane is configured correctly, first try this: Point your web browser to http://<RaspberryPi IP>:8090 There, all available scanners should be listed (one in your case), with their icons. If the desired icon appears there, do the following in macOS:

arsradu commented 1 year ago

This si so cool! I'm learning new things every day. :)

So yeah, the scanner is showing up in the browser and it does show the custom icon I set there. Also, first time I'm using Image Capture like this lol. I thought it can only be accessed from Printers & Scanners, not by its own. But as I said, I'm learning new and interesting things every day.

Anyway, it's a bit hard to tell, since it's doing some colouring from MacOS's accent color, so it's orange instead of black, but the shape is the one of the image I set up on the server.

First it shows like this.

Screenshot 2023-05-12 at 16 15 41

Then it automatically changes to this.

Screenshot 2023-05-12 at 16 16 00

So yeah, I'd say it's also recognised there.

Sadly re-adding the scanner doesn't make a difference though. It's still the default icon. And now I'm sure it's not even the default icon that AirSane has for it.

Meaning this one.

Gnome-scanner

It looks like it's taking that icon from some other place. Probably locally, from MacOS.

So nevermind. I guess the same goes for the printer. And, unless you know exactly where is it taking it from...it's probably best to just leave it alone. So, even if I could set up a custom icon, somewhere on the server, it wouldn't show up there, unless I'm changing the one it's currently using, at that location.

Anyway, thank you very much! This is an awesome project! I'm not sure if it started from the same need to be able to access the scanner remotely, with no driver necessary on the local machine, but it's an awesome project nonetheless.

Well done! :) And once again, thank you very much!

SimulPiscator commented 1 year ago

Thank you for your kind words. Indeed, the AirSane project arose from the need to access a single scanner from multiple macOS laptops. Also, there were no drivers available for current macOS releases any more, so SANE was the only option to use it.

The icon you show above is the GNOME scanner icon, which AirSane uses as a default icon.

arsradu commented 1 year ago

Many, many thanks! It's been a pleasure. And I've learned so much in the past week or so trying to solve this issue.

Let's close this up then. :) Everything has been clarified/solved. I'm really happy.