Einzelnen Beitrag anzeigen
Alt 09.04.2008, 10:48   #199
the_freestyler
IPPF-Fan
 
Registriert seit: 07.03.2007
Beiträge: 103
Idee Anleitung sane (Multifunktionsgeräte - stable/cvs)

Anleitung sane (Multifunktionsgeräte - stable/cvs) am Beispiel eines Canon MP520 mit Druck- und Scanfunktion.

Mein Dank geht an TheSneaker und tehron, nach derer Anleitung ich es bei mir hinbekommen habe und somit diese Anleitung schreiben konnte.



Vorraussetzung:

  1. Euer Geräte wird von sane stable oder sane-cvs unterstützt.

  2. Geeignete Build-Umgebung zum Bauen von Freetz, zB StinkyLinux ('libusb-dev' nachinstallieren mit apt-get install libusb-dev.)

  3. Etwas Zeit, Geduld und Erfahrung mit dem Bau von Freetz, da ich nicht garantieren kann, dass dies in allen möglichen Fällen funktioniert.

1. Wir besorgen uns ein aktuelles Freetz (nicht als root ausführen)
Code:
svn co http://svn.freetz.org/trunk freetz-trunk
cd freetz-trunk/
make menuconfig
Wir wählen aus:
Code:
Advanced options  ---> 
       Shared libraries  ---> [*] libusb (libusb.so)
und sonst noch die Dinge, die wir brauchen.
Dann raus, Config speichern und

Code:
make

2. Wir besorgen sane:

für sane-stable
Code:
cd ..
wget http://alioth.debian.org/frs/download.php/2318/sane-backends-1.0.19.tar.gz # für die sane stable
tar xfz sane-backends-1.0.19.tar.gz # entpacken
mv sane-backends-1.0.19 sane-backends # umbenennen
Oder sane-cvs:
Code:
cd ..
  cvs -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/sane login # für die sane-cvs zum einloggen (mit Enter bestätigen)
  cvs -z3 -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/sane co sane-backends # download der sane-cvs
3. Wir setzen ein paar Pfade und Variablen:
Code:
export HOME="euer home, wo die Ordner freetz-trunk und sane-backends"

PREFIX="/var/mod"

GCC="$HOME/freetz-trunk/toolchain/target"
export CFLAGS="-Os -W -Wall -pipe -march=4kc -Wa,--trap"
export LDFLAGS="-L$HOME/sane-backends/lib -Wl,-rpath,$PREFIX/lib"
export CPPFLAGS="-I$HOME/sane-backends/include"
export PATH="$GCC/bin:$PATH"
4. Wir bauen sane:
Code:
cd $HOME/sane-backends
./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux --prefix="$PREFIX" --disable-ipv6
make
make install prefix="$HOME/sane-backends"
5. Ordner einrichten, Dateien kopieren und Symlinks erstellen:

An dieser Stelle müsst ihr herausfinden, welche library für euer Gerät die richtige ist. In meinem Fall (für die Canon pixma Serie ist es die libsane-pixma.so.1.1.0). Eine gute Anlaufstelle ist wieder die sane Seite.

Code:
mkdir -p $HOME/freetz-trunk/addon/sane-backends/root/bin/
mkdir -p $HOME/freetz-trunk/addon/sane-backends/root/etc/sane.d/
mkdir -p $HOME/freetz-trunk/addon/sane-backends/root/etc/hotplug/
mkdir -p $HOME/freetz-trunk/addon/sane-backends/root/lib/sane/

cp $HOME/sane-backends/frontend/.libs/* $HOME/freetz-trunk/addon/sane-backends/root/bin/
cp $HOME/sane-backends/tools/sane-config $HOME/freetz-trunk/addon/sane-backends/root/bin/
cp $HOME/sane-backends/tools/sane-find-scanner $HOME/freetz-trunk/addon/sane-backends/root/bin/
cp $HOME/sane-backends/tools/gamma4scanimage $HOME/freetz-trunk/addon/sane-backends/root/bin/

cp $HOME/sane-backends/backend/.libs/libsane.so.1.1.0 $HOME/freetz-trunk/addon/sane-backends/root/lib/
cp $HOME/sane-backends/backend/.libs/libsane-pixma.so.1.1.0 $HOME/freetz-trunk/addon/sane-backends/root/lib/ # ggf. andere library auswählen

cd $HOME/freetz-trunk/addon/sane-backends/root/lib
ln -s libsane.so.1.1.0 libsane.so.1
ln -s libsane.so.1.1.0 libsane.so
ln -s libsane-pixma.so.1.1.0 libsane-pixma.so.1 # libsane-pixma ersetzt ihr durch eure library
ln -s libsane-pixma.so.1.1.0 libsane-pixma.so # libsane-pixma ersetzt ihr durch eure library

cd $HOME/sane-backends
cp backend/.libs/libsane-dll.so.1.1.0 $HOME/freetz-trunk/addon/sane-backends/root/lib/sane/
cd $HOME/freetz-trunk/addon/sane-backends/root/lib/sane/
ln -s libsane-dll.so.1.1.0 libsane-dll.so.1
ln -s libsane-dll.so.1.1.0 libsane-dll.so

cd $HOME/sane-backends

vim $HOME/freetz-trunk/addon/sane-backends/root/bin/saned_wrapper
#!/bin/sh
(while true; do /bin/saned -d; done) >/dev/null 2>/dev/null &

chmod 755 $HOME/freetz-trunk/addon/sane-backends/root/bin/saned_wrapper

vim $HOME/freetz-trunk/addon/sane-backends/root/etc/sane.d/dll.conf
pixma # anstelle von pixma hier euer Modul eintragen (zB. plustek, epson oder gt68xx)

echo "192.168.178.0/24" > "$HOME/freetz-trunk/addon/sane-backends/root/etc/sane.d/saned.conf" # Netzwerk, das auf sane zugreifen darf

cp $HOME/freetz-trunk/build/original/filesystem/etc/hotplug/printer $HOME/freetz-trunk/addon/sane-backends/root/etc/hotplug/printer
6. Bearbeiten der Printer Hotplug Datei.
Hiermit wird saned gestartet. Das ist bei Multifunktionsgeräten sehr praktisch, denn sobald der Drucker angesteckt ist, wird der printserver und sane gestartet. Wird der Drucker abgesteckt, wird der sane Dienst beendet.
Für standalone Scanner muss hier eine andere Lösung gefunden werden.

Code:
vim $HOME/freetz-trunk/addon/sane-backends/root/etc/hotplug/printer
Zitat:
# Starting printserver...
if ! $BIN -d $USB_DEVICE -p $PORT -c $CONSOLE; then

eventadd 153
fi

echo "1" > $HANDLE

eventadd 150 9100 & # `echo ar7cfg.brinterfaces.ipaddr | ar7cfgctl -s`
/bin/saned_wrapper # (start saned)

else
eventadd 152
echo "0" > $HANDLE
fi
;;

remove) if test $4 -eq 1; then

# Stop it all...
killall ${BIN##*/}
rm -f $PRINTER_STATUS_FILE
rm -f $PRINTER_ID_FILE
sleep 1;
rmmod $MODULE
eventadd 151
killall saned_wrapper
killall saned

fi
;;

*) ;;

esac

vrijgeven
7. Sane Backends als Addon hinzufügen und Freetz bauen

Code:
echo "sane-backends" > "$HOME/freetz-trunk/addon/static.pkg"

cd $HOME/freetz-trunk
make
8. Testen

ist das Image gebaut und auf die Box geflashed, kann per Telnet oder SSH auf der Konsole getestet werden, ob alles läuft.

Code:
/$ scanimage -L
device `pixma:04A9xxxx_139xxx is a CANON Canon PIXMA MP520 multi-function peripheral
Nun kann zB. http://sanetwain.ozuzo.net/ genommen werden, um von Windows aus zu scannen.

Viel Spaß beim Ausprobieren
__________________
Router: Fritz!Box Fon WLAN 7270 FW:54.04.70freetz-stable-3288
Fritz!Box Fon WLAN 7170 FW:29.04.70freetz-stable-3288
Wlan-Router: Buffalo WHR-HP-G54 DD-WRT v24 SP2 voip
Anbindung: Versatel 16000/800 und SparVoip
Telefon: 2x Siemens Gigaset C450 ISDN, HTC Touch
the_freestyler ist offline   Mit Zitat antworten