AirSane icon indicating copy to clipboard operation
AirSane copied to clipboard

Airsane discards backend without scan area options (`ricoh2`)

Open ValdikSS opened this issue 1 year ago • 5 comments

https://github.com/SimulPiscator/AirSane/blob/776acdc8dce6c6834bded03e2741765ac4b9853a/server/scanner.cpp#L607-L608

Full log (spoiler)
git commit: a908079 (branch HEAD, rev 280+)
build date: 2024-03-10T13:40:19Z
reading access rules from file /etc/airsane/access.conf
start time is 14287.55
reading device options from '/etc/airsane/options.conf'
enumerating  devices...
sane_init(nullptr, nullptr)
sane_get_devices() ...
... sane_get_devices() -> SANE_Status Success
sane_exit()
found: ricoh2:libusb:001:002 (Ricoh Aficio SP-100SU)
stable unique name: ricoh2:Ricoh Aficio SP-100SU:1
uuid: f59be082-7322-551d-8b38-2e32f8840b53
sane_init(nullptr, nullptr)
sane_open(ricoh2:libusb:001:002) -> 0xb45a7790
sane_close(0xb45a7790)
sane_exit()
error: missing scan area parameter(s)
end time is 14296.45
startup took 8.90 secconds
listening on 127.0.0.1:8090
listening on 192.168.54.1:8090
listening on 192.168.0.13:8090
listening on [::1]:8090
listening on [fe80::208:22ff:fef3:a8c6]:8090
allowing 127.0.0.1: access file is empty

Airsane does not accept printers which backend does not supply scan area parameters. One of such backend is ricoh2.

SANE documentation states that the frontend MUST accept scanners with this parameter missing.

A frontend must work properly with any or all of these options missing.

Also filled bug in sane: https://gitlab.com/sane-project/backends/-/issues/750

ValdikSS avatar May 09 '24 19:05 ValdikSS

Thanks! Though I don't know how to fix it. I'm getting the maximum scan area from those parameters, and eSCL requires me to publish that. So I would need to publish a fake scan area, and ignore any scan area user settings. I'm not sure whether that works out.

SimulPiscator avatar May 10 '24 09:05 SimulPiscator

So I would need to publish a fake scan area, and ignore any scan area user settings.

Yes, I guess the default value would be Letter or A4 for most devices.

ValdikSS avatar May 10 '24 09:05 ValdikSS

eSCL will now announce a max scan area width of 216mm (US Letter) and a max scan area height of 297mm (A4). That should accommodate for most cases.

I need to ask you to test with the Ricoh scanner because I don't have such a device available.

SimulPiscator avatar May 10 '24 12:05 SimulPiscator

It detects the scanner now but fails to scan. Can't tell whether this is an AirSane fail or just the backend, will debug further in several weeks.

P.S. also just wanted to be sure that you have received my emails and not interested in the donation.

ValdikSS avatar May 11 '24 15:05 ValdikSS

Thanks for debugging it.

Regarding the donation, "not interested" would not be quite accurate. I just don't think it is the time now. Anyway, I am very happy with the popularity boost you gave AirSane through your project, thanks a lot!

SimulPiscator avatar May 11 '24 15:05 SimulPiscator

Works now, thanks! Not sure if it's 100% bug free (apparently there's still dimension difference somewhere, as Linux scanning utilities report error at the end of the page, but it scans, the data is not discarded), but it works.

ValdikSS avatar Aug 19 '24 10:08 ValdikSS