Wie bekomme ich einen epson perfection 4490 Photo Scanner zum laufen?

Erst einmal ein großes Dankeschön für eure Geduld und Hilfe.
Ich habe die Ordner auf dem Desktop angelegt.

Ok, hier mal die Ausgabe :

[ralf@BlackMonster 001]$ mkdir iscan-plugin
mkdir: Verzeichnis »»iscan-plugin«« konnte nicht angelegt werden: Die Datei existiert bereits
[ralf@BlackMonster 001]$ dir
iscan-gt-x750-bundle-2.30.4.x86.deb.tar.gz  iscan-plugin
[ralf@BlackMonster 001]$ cd iscan-plugin
[ralf@BlackMonster iscan-plugin]$ dir
iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz  iscan-gt-x750-bundle-2.30.4.x86.rpm.tar.gz  PKGBUILD  src
[ralf@BlackMonster iscan-plugin]$ nano PKGBUILD
[ralf@BlackMonster iscan-plugin]$ makepkg
==> Erstelle Paket: iscan-plugin-gt-x750 2.1.3-1 (Sa 20 Jun 2026 16:41:50 CEST)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
  -> iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz gefunden
==> Überprüfe source Dateien mit sha256sums...
    iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz ... Übersprungen
==> Entpacke Quellen...
  -> Entpacke iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz mit bsdtar
==> Beginne prepare()...
tar: Verweigere, Archivinhalt vom Terminal zu lesen (fehlt Option -f?)
tar: Error is not recoverable: exiting now
==> FEHLER: Ein Fehler geschah in prepare().
    Breche ab...

und hier der Inhalt der PKGBUILD :

# Maintainer: me <myself@home.de>
pkgname=iscan-plugin-gt-x750
_plugname=iscan-plugin-gt-x750
pkgver=2.1.3
pkgrel=1
pkgdesc="Epson Image Scan! plugin for GT-X750 (Perfection 4490) - Native 64-bit version"
arch=('x86_64')
url="https://download-center.epson.com/"
license=('custom:EPKOWA')
depends=('sane' 'iscan' 'libusb-compat')
makedepends=('binutils')
source=("https://download2.ebz.epson.net/iscan/plugin/gt-x750/deb/x64/iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz")
sha256sums=('SKIP')

prepare() {
  cd "$srcdir/iscan-gt-x750-bundle-2.30.4.x64.deb"

  # Extrahieren der control- und daten-archive aus dem .deb
 tar x "plugins/${_plugname}_${pkgver}-1_amd64.deb"

  # Dynamisches Entpacken des Datenarchivs (unterstützt xz und zst)
  mkdir -p extracted
  tar -xf data.tar.* -C extracted/
}

package() {
  cd "$srcdir/iscan-gt-x750-bundle-2.30.4.x64.deb/extracted"

  # Kopieren der Strukturen in das Zielverzeichnis
  if [ -d usr ]; then
    mkdir -p "$pkgdir/usr"
    cp -a usr/* "$pkgdir/usr/"
  fi

  # Bereinigen von potenziellen lib64-Pfaden zu lib
  if [ -d "$pkgdir/usr/lib64" ]; then
    mkdir -p "$pkgdir/usr/lib"
    cp -a "$pkgdir/usr/lib64"/* "$pkgdir/usr/lib/"
    rm -rf "$pkgdir/usr/lib64"
  fi

  # SANE-Backend-Registrierung
  mkdir -p "$pkgdir/etc/sane.d/dll.d"
  echo "epkowa" > "$pkgdir/etc/sane.d/dll.d/epkowa"

  # Lizenzdatei
  mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
  local lic_file=$(find . -type f -iname "*license*" -o -iname "*eula*" | head -n 1)
  if [ -n "$lic_file" ]; then
    cp "$lic_file" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  else
    echo "Proprietary EPKOWA License - see upstream URL $url" > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  fi
}

Ich habe schon bewusst das home verzeichnis in meinem Beispiel gewählt, welches Du mit cd ~ ansteuern kannst.

Probier es doch bitte einmal dort, und nicht auf dem Desktop.

Ok, habe ich gemacht. Hier das Ergebnis:

cd ~
[ralf@BlackMonster ~]$ cd iscan-plugin
bash: cd: iscan-plugin: Datei oder Verzeichnis nicht gefunden
[ralf@BlackMonster ~]$ mkdir iscan-plugin
[ralf@BlackMonster ~]$ cd iscan-plugin
[ralf@BlackMonster iscan-plugin]$ nano PKGBUILD
[ralf@BlackMonster iscan-plugin]$ 
[ralf@BlackMonster iscan-plugin]$ nano PKGBUILD
[ralf@BlackMonster iscan-plugin]$ makepkg
==> Erstelle Paket: iscan-plugin-gt-x750 2.1.3-1 (Sa 20 Jun 2026 17:28:50 CEST)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
  -> Lade iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz herunter...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100 640.2k 100 640.2k   0      0  5.81M      0                              0
==> Überprüfe source Dateien mit sha256sums...
    iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz ... Übersprungen
==> Entpacke Quellen...
  -> Entpacke iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz mit bsdtar
==> Beginne prepare()...
tar: Verweigere, Archivinhalt vom Terminal zu lesen (fehlt Option -f?)
tar: Error is not recoverable: exiting now
==> FEHLER: Ein Fehler geschah in prepare().
    Breche ab...

Kann das leider nicht reproduzieren, da iscan bei mir nicht so einfach zu installieren ist.

Aber man ar verrät mir das es gar kein typo war seitens @joekamprad, da lagen LaGGGer und ich mit der Vermutung daneben.

Sorry dafür, PKGBUILDs sind nun auch nicht wirklich in meiner Komfortzone. Da muss ich auch noch hinzulernen wie es scheint.

Dementsprechend, ändere die PKGBUILD zur ursprünglichen Variante und schau ob das klappt und Dir in dem gleichen Verzeichnis das plugin erzeugt bzw. die Fehlermeldung verschwindet und es durchläuft.

(Kurz gesagt ar x extrahiert tatsächlich Dateien aus dem '.deb Paket. Was mittels tar nicht möglich ist scheinbar.)

Ich habe mal aus dem tar im PKGBUILD ein ar gemacht und bekam folgende Ausgabe:

[ralf@BlackMonster iscan-plugin]$ makepkg
==> Erstelle Paket: iscan-plugin-gt-x750 2.1.3-1 (Sa 20 Jun 2026 18:09:01 CEST)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
  -> iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz gefunden
==> Überprüfe source Dateien mit sha256sums...
    iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz ... Übersprungen
==> Entpacke Quellen...
  -> Entpacke iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz mit bsdtar
==> Beginne prepare()...
==> Betrete fakeroot Umgebung...
==> Beginne package()...
==> Säubere Installation...
  -> Entferne libtool Dateien...
  -> Purging unreproducible ruby files...
  -> Entferne statische Bibliotheken...
  -> Bereinige ungewollte Dateien...
  -> Entferne unnötige Symbole aus Binär-Dateien und Bibliotheken...
  -> Komprimiere Man-Pages und Info-Seiten...
==> Prüfe auf Paketierungsprobleme...
==> Erstelle Paket "iscan-plugin-gt-x750"...
  -> Erstelle .PKGINFO Datei...
  -> Erstelle .BUILDINFO Datei...
  -> Erstelle .MTREE-Datei...
  -> Komprimiere Paket... 
==> Verlasse fakeroot Umgebung.
==> Beendete Erstellung: iscan-plugin-gt-x750 2.1.3-1 (Sa 20 Jun 2026 18:09:03 CEST)

Danach noch einaml dies :

sudo pacman -U iscan-plugin-gt-x750-2.1.3-1-x86_64.pkg.tar.zst 
\[sudo\] Passwort für ralf:  
Pakete werden geladen … 
**Warnung:** iscan-plugin-gt-x750-2.1.3-1 ist aktuell -- Reinstalliere 
Abhängigkeiten werden aufgelöst … 
Nach in Konflikt stehenden Paketen wird gesucht … 
 
**Paket (1)**             **Alte Version**  **Neue Version**  **Netto-Veränderung** 
 
iscan-plugin-gt-x750  2.1.3-1       2.1.3-1                0,00 MiB 
 
**Gesamtgröße der installierten Pakete:**  0,32 MiB 
**Größendifferenz der Aktualisierung:**    0,00 MiB 
 
**:: Installation fortsetzen? \[J/n\]** j  
(1/1) Schlüssel im Schlüsselbund werden geprüft                                                                                                   \[-----------------------------------------------------------------------------------------\] 100% 
(1/1) Paket-Integrität wird überprüft                                                                                                             \[-----------------------------------------------------------------------------------------\] 100% 
(1/1) Paket-Dateien werden geladen                                                                                                                \[-----------------------------------------------------------------------------------------\] 100% 
(1/1) Auf Dateikonflikte wird geprüft                                                                                                             \[-----------------------------------------------------------------------------------------\] 100% 
(1/1) Verfügbarer Festplattenspeicher wird ermittelt                                                                                              \[-----------------------------------------------------------------------------------------\] 100% 
**:: Paketänderungen werden verarbeitet …** 
(1/1) Reinstalliert wird iscan-plugin-gt-x750                                                                                                     \[-----------------------------------------------------------------------------------------\] 100% 
**:: Post-transaction-Hooks werden gestartet …** 
(1/2) Arming ConditionNeedsUpdate... 
(2/2) Checking which packages need to be rebuilt 
foreign acidrip 
foreign bauh 
foreign lios-git 
foreign photocollage 
foreign photofilmstrip 
foreign python-vulkan 
foreign usb-creator 
foreign whipper-git
Danach noch ein

und trotzdem erkennt er den Scanner nicht, obwohl ich ihn vorher aus- und eingeschaltet habe.

also weil beides aus dem AUR ist kann pacman das nicht auflösen, muss also zuerst die Abnhängigkeiten aus dem AUR bauen und installieren bevor das Plugin Paket gebaut werden kann. makepkg benutzt nur pacman.


sagt er ja auch.. also iscan und iscan-data erst installieren.

Wenn beide installiert sind lässt sich das plugin Paket auch bauen:

wenn ich hier dann iscan starte bekomme ich einen Fehler aber gibt halt keinen Epson scanner bei mir.

was wird den angezeigt wenn du im terminal journalctl -fstartest und den Scanner dann anschließt?

unmd checke ob die udev regel vorhanden ist um den scanner zu erkennen:

grep -i "0116" /usr/lib/udev/rules.d/49-iscan.rules

journalctl -f
Jun 20 18:50:30 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:31 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:32 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:33 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:34 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:35 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:36 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:37 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:38 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:39 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:40 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:41 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:42 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:43 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:44 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
Jun 20 18:50:45 BlackMonster boinc[1640]: Authorization required, but no authorization protocol specified
^Z
[1]+  Angehalten                 journalctl -f

 grep -i "0116" /usr/lib/udev/rules.d/49-iscan.rules
grep: /usr/lib/udev/rules.d/49-iscan.rules: Datei oder Verzeichnis nicht gefunden

Die Datei 49-iscan.rules existiert bei mir nicht.

Ich weiß nicht wofür die “0116” steht, aber lsusb gibt für den Scanner aus:

Bus 009 Device 007: ID 04b8:0119 Seiko Epson Corp. GT-X750 [Perfection 4490 Photo]

War nur eine Wette .. das wird immer komplexer ..
iscan-plugin-gt-x750-2.1.3-6-x86_64.pkg.tar.zst

# Maintainer: noname@noone
pkgname=iscan-plugin-gt-x750
_plugname=iscan-plugin-gt-x750
pkgver=2.1.3
pkgrel=5
pkgdesc="Epson Image Scan! plugin for GT-X750 (Perfection 4490) - Native 64-bit version with udev integration"
arch=('x86_64')
url="https://download-center.epson.com/"
license=('custom:EPKOWA')
depends=('sane' 'iscan' 'libusb-compat')
makedepends=('binutils')
source=("https://download2.ebz.epson.net/iscan/plugin/gt-x750/deb/x64/iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz")
sha256sums=('SKIP')

prepare() {
  cd "$srcdir/iscan-gt-x750-bundle-2.30.4.x64.deb"

  # Extraktion des Debian-Pakets
  ar x "plugins/${_plugname}_${pkgver}-1_amd64.deb"

  # Entpacken des Datenarchivs
  mkdir -p extracted
  tar -f data.tar.gz -C extracted/ -x
}

package() {
  cd "$srcdir/iscan-gt-x750-bundle-2.30.4.x64.deb/extracted"

  # 1. Systemstrukturen kopieren
  if [ -d usr ]; then
    mkdir -p "$pkgdir/usr"
    cp -a usr/* "$pkgdir/usr/"
  fi

  # 2. Pfadkorrekturen von Debian- zu Arch-Standard
  if [ -d "$pkgdir/usr/lib/x86_64-linux-gnu" ]; then
    cp -a "$pkgdir/usr/lib/x86_64-linux-gnu"/* "$pkgdir/usr/lib/"
    rm -rf "$pkgdir/usr/lib/x86_64-linux-gnu"
  fi

  if [ -d "$pkgdir/usr/lib64/sane" ]; then
    mkdir -p "$pkgdir/usr/lib/sane"
    cp -a "$pkgdir/usr/lib64/sane"/* "$pkgdir/usr/lib/sane/"
    rm -rf "$pkgdir/usr/lib64"
  fi

  # 3. SANE-Backend-Registrierung (epkowa aktivieren)
  mkdir -p "$pkgdir/etc/sane.d/dll.d"
  echo "epkowa" > "$pkgdir/etc/sane.d/dll.d/epkowa"

# 4. Hardware-Interpreter-Registrierung für GT-X750 (Korrektur auf ID: 0119)
  mkdir -p "$pkgdir/var/lib/iscan"
  echo "usb 0x04b8 0x0119 /usr/lib/iscan/libesint54 /usr/share/iscan/esfw54.bin" > "$pkgdir/var/lib/iscan/interpreter"

  # 5. Native udev-Regel für USB-Zugriffsrechte (Korrektur auf ID: 0119)
  mkdir -p "$pkgdir/usr/lib/udev/rules.d"
  echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="04b8", ATTR{idProduct}=="0119", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"' > "$pkgdir/usr/lib/udev/rules.d/49-iscan-gt-x750.rules"

  # 6. Lizenzdatei hinterlegen
  mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
  local lic_file=$(find . -type f -iname "*license*" -o -iname "*eula*" | head -n 1)
  if [ -n "$lic_file" ]; then
    cp "$lic_file" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  else
    echo "Proprietary EPKOWA License - see upstream URL $url" > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  fi
}

scheint es braucht eine regel damit das Gerät bereit gestellt werden kann.

und genau 9 nicht 6..

Nurmal nebenbei, siehe hamrick.com/iscan

https://www.hamrick.com/files/iscan-gt-x750-bundle-2.30.4.x64.deb.tar.gz
https://www.hamrick.com/files/iscan-gt-x750-bundle-2.30.4.x64.rpm.tar.gz

Bei hamrick.com handelt es sich um die Entwickler hinter VueScan. Die von denen gehosteten iscan plugins für den Perfection 4490 sollten auch mit VueScan funktionieren. Und Vuescan ist “schon” GTK3. Und nicht GTK2 wie iscan es noch ist.

Also der erste Link ist ja ein debian Paket. Da sollte debtap ja mit klappen.

Hatte ich schon sehr früh gepostet, aber der TE will anscheinend nicht …

Was ist mit

aur/epsonscan2 6.7.91.1-2 (+25 2.75) Epson scanner management utility

?

4490 photo is not supported by epsonscan2, iscan is the only option

Aah ok. Didn’t know.

Also, @lehmeier hat sich bzgl. seines Perfection 4490 dort bereits schlau gemacht, sie Kommentarspalte.

Ich bin jedoch überfragt ob Negastive gescannt werden sollen. Sollten es lediglich Bildabzüge sein, würde ich die Scaneinheit des Multifunktionsgerätes nutzen, welches ja mit epsonscan2 funktioniert, anstatt noch mehr Zeit für das Gerät aufzuwenden das rumzickt.

Auf maximal interpolierte 9600 dpi kommen beide Geräte. Auch wenn es beim Multi Gerät nur ein zusätzliches feature ist das ggf. durch den Perfection 4490 übertroffen wird. Das Multifunktionsgerät sollte auch komplett ohne direkte Softwareanbindung an den Rechner als Stand Alone Gerät scans tätigen können.

Dann bekomme ich wieder folgendes :slight_smile:

grep -i "0119" /usr/lib/udev/rules.d/49-iscan.rules
grep: /usr/lib/udev/rules.d/49-iscan.rules: Datei oder Verzeichnis nicht gefunden

Muss ich 49-iscan.rules erst per Hand anlegen?

49-iscan-gt-x750.rules habe ich als dateiname genommen das wird ja jetzt explizit mit dem Paket angelegt..

und ich verwende ja nun ein debian Paket und eines für 64 bit das Paket ist dann ein solches Plugin

vuescan ist ja nicht ohne kauf verwendbar:

You can test the trial version of VueScan for as long as you’d like with flatbed scanning, Film/Slide scanning and ADF (Automatic Document Feeder) scanning. You can test most Professional Edition features with the trial version.

Scans from the trial version will have a watermark that can’t be removed later.

Also zum testen ja aber Verwendung braucht Kauf.

Ich habe es vor etlichen Jahren gekauft, so um die ~50€. Einmalig.

Ich habe grade nachgeschaut, mittlerweile kostet das pro Jahr. Im Moment sind das 26€. Das ist natürlich heftig, zu diesen Bedingungen würde ich es auch nicht mehr kaufen.

Trotzdem ist das ein tolles Programm, keine Frage.

Ich würde ja kaufen, aber mittlerweile kostet ein Jahr 52,46€ ( ermäßigt ), normalerweise 69,95€ und Einmalzahlung kostet ermäßigt 157,45 € anstatt 174,95 €. Jeweils für die Professionell Version. Da ich auch Negative habe die ich scannen will.

Das ist mir einfach zuviel Geld, ausserdem erkennt die Trialversion im Moment meinen Scanner nicht.