ubuntuusers.de

i2000-Treiber unter Kubuntu 24.04

Status: Ungelöst | Ubuntu-Version: Kubuntu 24.04 (Noble Numbat)
Antworten |

max4ubuntu

Anmeldungsdatum:
20. August 2026

Beiträge: 1

Nachtrag: i2000-Treiber unter Kubuntu 24.04

Der Thread steht auf „gelöst", aber ReKnopp schrieb, das sei leider keine Lösung für kommende Fragesteller. Ich war so einer und ergänze deshalb.

Aufbau: Kodak i2800 (gleiche i2000-Serie, gleicher Treiber v4.14), Kubuntu 24.04.4, Kernel 7.0, Ryzen 9950X3D mit 32 Threads.

Installation

Lief im Wesentlichen wie oben beschrieben, mit drei Ergänzungen:

  • libudev0 gibt es inzwischen regulär in noble/universe (Version 200-1). Vorab installieren, dann entfällt der OpenUSB-Abbruch.

  • Bei der Mono-Frage n antworten. Findet der Installer Mono nicht, landet man sonst in einem Zweig, der ein totes Fremdrepo einträgt und apt-key aufruft — beides funktioniert auf 24.04 nicht mehr.

  • Zwei Nacharbeiten nötig:

sudo apt install libudev0 sane-utils
sudo ./setup          # Scanner dabei ausschalten!

sudo sed -i 's/OWNER="xxx", //' /etc/udev/rules.d/55-kodakdi.rules
sudo udevadm control --reload-rules
sudo ln -sfr /usr/lib/sane/libsane-kds_i2000* /usr/lib/x86_64-linux-gnu/sane/
sudo ldconfig

Das eigentliche Problem: viele CPU-Kerne

Danach wurde der Scanner erkannt, ließ sich aber nicht öffnen:

scanimage: open of device kds_i2000:i2000 failed: Invalid argument

Im Treiberlog unter /var/kodak/kds_i2000/twain/log.*/driver/ stand „lexexe is gone", im Kernel-Log ein Segfault.

Ursache: Der Hilfsprozess lexexe liest /proc/cpuinfo in einen zu kleinen Puffer. Bei 32 Threads ist die Datei 61 KB groß — Pufferüberlauf. An einem Vierkerner lief dasselbe Gerät bei mir jahrelang problemlos.

Lösung ohne Eingriff ins Binary

Dem Treiber eine gekürzte cpuinfo unterschieben:

awk 'BEGIN{n=0} /^processor/{n++} n<=4{print}' /proc/cpuinfo | sudo tee /etc/kodak-cpuinfo

Dauerhaft über saned. sudo systemctl edit saned@.service:

[Service]
BindReadOnlyPaths=/etc/kodak-cpuinfo:/proc/cpuinfo

Dazu localhost in /etc/sane.d/saned.conf, ::1 in /etc/sane.d/net.conf, saned.socket aktivieren.

Wichtig: künftig über net:[::1]:kds_i2000:i2000 scannen, nicht direkt. Funktioniert in XSane genauso wie mit scanimage, ohne sudo.

Die Socket habe ich per Override auf [::1] beschränkt, damit der Dienst nicht im Netz steht.

Zwei Optionsfallen

  • --mode Color ohne --depth 8 → Segfault (Vorgabe ist --depth 1)

  • --blankimagemode content ohne explizites --blankimagecontent → „Invalid argument" (Vorgabewert ist -1, gültig wäre 0..100)

Duplex, Farbe, Stapelbetrieb und Leerseitenerkennung laufen damit alle.

Moderiert von schwarzheit:

Der Beitrag ist von hier abgetrennt worden. Bitte entführe keine Themen (Verhaltenscodex)!

Antworten |