ISDN - Linux ile Faks

ArticleCategory:

SystemAdministration

AuthorImage:

Sebastian Bauer

TranslationInfo:

original in de Sebastian Bauer 

de to en Sebastian Bauer

en to tr Aydın Doğan

AboutTheAuthor:

Üniversiteye yeni başladığım zamanlar istemeyerek, kaza ile Linux'a başladım. O günden beri kısa zamanda çok şey öğrendim ve Linux'daki özgürlüğü, olanakları ve açık kaynak olmasını beğeniyorum. Sanal doku yöremi www.goblin.kicks-ass.org adresinden ziyaret edebilirsiniz.

Abstract:

Bu makalede AVM'nin ISDN kartı ve hylafax yazılımı ile Linux'un nasıl bir faks makinası olarak kullanılacağını anlatacağım.

ArticleIllustration:

penguin_fax

ArticleBody:

Giriş

ISDN üzerinden Linux'da faks gönderebilmeniz için aşağıdaki yazılımlar ve donanımlardan fazlasına gerek yoktur.

Linux için capi sürücüleri kanımca şu an sadece AVM'nin kartları için var ve bu nedenle yazıyı AVM kartları çerçevesinde sınırlayacağım. Bu kartların yanında herhangi bir aktif kartta çalışabilir ama bütçem el vermediği için onları deneyemedim (herhangi bir donanım hakkında yardım için bağlantı kurunuz). Makalede geçen bütün programların mümkün olduğunca bütün linux sürümlerinde gösterilen yollarda çalıştığından emin olmak için hepsini kaynağından derleyeceğim. SuSE 8.1 ve Redhat 8.0'de FritzCard PCI ve ISDN Adaptor Classic (ISA) ile kartları denedim (kart bu sürümlerle çalıştı). Ne yazık ki herzaman heryerde çalışacağını garanti edemem.

Çekirdek yapılandırmaları

Bir sonraki adımlar için capi desteği olan çekirdeğinizin olması gerekmektedir; bu sebepten ilk olarak yeni çekirdeğinizi derlemeniz at The Linux Documentation Project bağlantısının çekirdek bölümünün Nasıl' larında (HowTo) bulabilirsiniz. Birçok sürümün çekirdeği capi desteği içermemekte veya standart kaynakları kullanmamakta; bu yüzden kaynak kodlarını www.kernel.org. adresinin güncel çekirdek bölümünde (current kernel) bulabilirsiniz. Çekirdek ayarlarının yanında donanımınız için aşağıdaki seçenekleri yapılandırmanız gerekmektedir:

Kernel Settings

Sonra çekirdeğinizi aşağıdaki gibi derleyebirsiniz

make dep
make bzImage
make modules
make modules_install

Eğer herşey çalıştı ve yolunda ise yeni çekirdeğinizi kapatıp tekrar baştan açınız. Artık capi4linux'u yükleyerek yolumuza devam edebilirsiniz.

capi4linux

Resmi olarak AVM'nin capi4linux sürücüleri sadece SuSE Linux için kullanılabilir fakat siz diğer çekirdek sürümlerinin hepsinde kulanabilirsiniz. Önce sürücüleri www.avm.de. adresinden yükleyiniz. Kartınıza uygun doğru sürücüleri seçtiğinizden emin olunuz. Hangi SuSE sürümğ kullandığınız önemli değil ama en azından kullandığınız sürüm gcc'yi (C derleyicisi) çalıştırsın. Şimdi indirdiğiniz sürücü arşivinizi aşağıdaki komut ile sırayla açabilirsiniz

tar xfz fcpci-suseX.X-XX.XX.XX.tar.gz

veya

tar xfz fcclassic-suseX.X-XX.XX.XX.tar.gz

Sonra, src.drv/fcpci.o veya src.drv/fcclassic.o dosyasını aşağıdaki gibi derleyebilirsiniz:

make

fritz dizini içerisinde. Sonra bu dosya /lib/modules/2.4.XX/kernel/drivers/isdn/avmb1/. dizinine kopyalanacaktır. Hemen sonra yapmanız gereken

depmod

sistem bağlantılarını doğru gerçekleştirmek için. Hata mesajı Unresolved symbols in /lib/modules/2.4.XX/kernel/drivers/isdn/avmb1/fcpci.o ki eminimki gözükecektir ihmal edilebilir. ISDN kartınızın yapılandırmasını tamamlamak için /etc/capi.conf dosyasını oluşturmanız gerekmektedir. AVM'den bu dosyaya örnek aşağıdaki gibidir:

# card      file    proto  io     irq  mem  cardnr  options
#b1isa      b1.t4   DSS1   0x150  7    -    -       P2P
#b1pci      b1.t4   DSS1   -      -    -    -
#c4         c4.bin  DSS1   -      -    -    -
#c4         -       DSS1   -      -    -    -
#c4         -       DSS1   -      -    -    -       P2P
#c4         -       DSS1   -      -    -    -       P2P
#t1isa      t1.t4   DSS1   0x340  9    -    0
#t1pci      t1.t4   DSS1   -      -    -    -
#fcpci      -       -      -      -    -    -
#fcclassic  -       -      0x300  5    -    -

Bu noktada kartınıza sorunsuz ulaşmanız gerekiyor. Eğer fcclassic hattını kullanıyorsanız muhtemelen donanım ayarlarınızı benzeştirmeniz ve düzenlemeniz gerekecek.

capi4k-utils

Capi arayüzü için capi4k-utils bazi faydalı araçlar sağlamaktadır. Bunları yükleyebilmek için kaynak kodunu buradan yükleyebilirsiniz ve sonra aşağıdaki gibi açabilirsiniz

tar xfz capi4k-utils-XXXX-XX-XX.tar.gz

Artık capi4k-utils'i aşağıdaki gibi derleyebilir ve yükleyebilirsiniz

cd capi4k-utils
make menuconfig
make
make install

Eğer yapılandırmalarınızdan şüpheliyseniz make menuconfig ve ondan sonrakileri iptal edebilirsiniz ama ilerde yapılandırmaların bu değişiklikleri içereceğinden emin olunuz. Şimdi aşağıdaki giriş ayarlarını /etc/modules.conf'un içine ekleyebilir yada değiştirebilirsiniz.

alias char-major-43 capidrv
alias char-major-44 capidrv
alias char-major-45 capidrv

Bu ön hazırlıktan sonra capi'nin modüllerini yükleyebilirsiniz

capiinit start
modprobe capidrv

ve tekrar kaldırmak için

rmmod capidrv
capiinit stop

Modülleri kaldırırken bazen hata mesajları aldığınızda bunları ihmal ediniz. Bu yükleme/kaldırma işlemini otomatikleştiren elimde küçük bir başlangıç yazılımı var:

#!/bin/bash
#
# System startup script for the isdn-capi subsystem

case "$1" in
     start)
        echo -n "Setting up capi-drivers for ISDN subsystem"
        capiinit start
        modprobe capidrv
        ;;

     stop)
        echo -n "Remove capi-drivers for ISDN subsystem"
        rmmod capidrv
        capiinit stop
        ;;
     restart)
        $0 stop
        $0 start
        ;;
     *)
        echo "Usage:$0{start|stop|restart}"
        ;;
esac
exit 0

Bu yazılım /etc/init.d/ or /etc/rc.d dosyasına yukardaki sırasıyla aynen kopyalanabilir ve her başlangıçta capi modüllerini otomatik olarak yüklemek için kullanabilir.

libtiff

Eğer sisteminizde libtiff yüklü değilse veya libtiff rpm gerekli başlangıç dosyalarını desteklemiyorsa, kaynağından derlemeniz ve hylafax'a devam etmeden önce yüklemeniz gerekmektedir. Libtiff paketi www.libtiff.org adresinden yüklenebilir ve aşağıdaki işlemler sayesinde sorunsuz çalışır:

tar xfz tiff-vX.X.X.tar.gz
cd tiff-vX.X.X
./configure
make
make install

Artık hylafax'ı yükleme ile devam edebilirsiniz.

hylafax

Hylafax'ı yüklemek için önce kaynak kodunu www.hylafax.org adresinden indiriniz. Sonra

tar xfz hylafax-X.X.X.tar.gz

çalıştırmanız gereken

cd hylafax-X.X.X
./configure

Takip eden sorularda /var/spool/fax makara dizinini oluşturacaksınız (seçenek 7) ve kağıt boyutunu A4 (seçenek 13). Diğer ayar seçeneklerine dokunmayabilirsiniz. Bundan sonra hylafax'ı yüklemeniz gerekmektedir:

make
make install
faxsetup

Artk faxsetup 'ı kullnamanın zamanı çünkü alan kodu ile uluslararası kodun (her ikiside başlangıç sıfırları hariç Long Distance Prefix ve Int. Distance Prefixolarak giderler ) ve diğer kısımların doğru yapılandırılması gerekmektedir. ÖNEMLİ: Son soru,

faxaddmodem

birinin HAYIR ile cevaplaması lazım. Bütün bunlardan sonra /etc/init.d/hylafax veya /etc/rc.d/hylafax yazılımlarını biraz değiştirmemiz gerekiyor. start bölümünün sonuna

$ECHO "Starting capifax receive..."
/usr/local/bin/c2faxrecv &

ekleyiniz ve stop bölümünün başına

$ECHO "Shutting down capifax receive..."
killall -15 c2faxrecv

ekleyiniz. Bu değişiklikler hylafax başladığı zaman, faksalan kısmı başlatmak için oldukça kullanışlı.

capi4hylafax

hylafax asıl olarak "gerçek" modemler için yapıldı ve bu yüzden capi4hylafax parçasını yüklemeniz gerekmektedir. Bu parça ISDN kartınızın hylafax için bir modemmiş gibi davranır. Bu parçayı www.avm.de adresinden indirebilirsiniz ve açmak için

tar xfz capi4hylafax-XX.XX.XX.tar.gz

Şimdi parçayı yapılandırmak ve yüklemek için aşağıdaki işlemleri yapınız

cd capi4hylafax-XX.XX.XX
./install

Düzenlenmesi gereken paramatreler aşağıdaki tabloda açıklanmıştır:

Outgoinging MSN Capi4hylafax'ın faks gönderirken kullandığı sayıdır (alan kodu hariç). Eğer Supress MSN yapılandırılmadıysa alıcı bu numarayı sayfanın en üstünde görecektir.
Incoming MSN Faksları alırken kullanılan sayıdır (alan kodu hariç). Eğer birden fazla sayı kullanmak istiyorsanız, virgülle birbirlerinden ayırınız.
DDI Parameter Bu seçenekler PBX ISDN' deki (direkt çevrim (direct dial-in : DDI) ile noktadan noktaya hat için(point-to-point line)) operasyonlar için gereklidir. DDIOffset sayısı öncü, uzantı ve DDILength bu uzantının boyutudur. IncomingDDIs larda kullanılan uzantıların listesini belirleyebilirsiniz.
Örnek: fax sayısı 123456- 78
DDIOffset = 123456, DDILength = 2
FaxNumber Bu sayı alıcıda gözükecektir. Hylafax boş yerleri tutamaz, bu yüzden 00XX.XX.XXXXXXXX formunu kullanınız. Noktalar otomatik olarak boşluklara çevrilecektir.
FaxIdentifier Buraya isminizi veya şirket isminizi yazabilirsiniz. Bu kısım alıcıda gözükücektir.
NumberPrefix Bu seçenek PBX de çalışırken dış hatlardan girmek için gerekli basamak sayısını tanımlar (genellikle 0).

Bütün ayarları doğru yaptıktan sonra artık fax gönderebilmeniz

c2faxsend -f TIFF -d [TelNum] [TIFF-File]

ve alabilmeniz

c2faxrecv -f TIFF

gerekiyor. Burada hylafax'a gereksiniminiz olmayacak ama kısa bir denetimden sonra o da yeterli olacaktır.

Deneme

Herşey yüklendi ve hylafax'ı çalıştırmanın zamanı geldi, (/etc/init.d/hylafax restart veya benzeri) birine faks göndermeyi deneyiniz.

sendfax -n -d [TelNum] [Fax-File]

Fax-file için bir çok dosya düzenleri kullanabilirsiniz, örneğin PostScript, PDF or TIFF. Faks alındığı zaman c2faxrecv çağrıyı kabul edecek ve faksı /var/spool/fax/recvq dizinine TIFF dosyası olarak atacaktır.

Sonuç...

AVM'ye göre capi araç sürücülerini yalnız tek geçişli ISDN kartı ile kullanabilirsiniz çünkü faks göndermek işlemcinin fazlaca yüklenmesine neden olmakta. Bana göre, çekirdek derlemesini yaptığım (Pentium-MMX 166 MHz) zaman bile faks almak ve göndermek iyi çalıştı. Bazı istekli ISDN kullanıcılarından (de.comp.os.unix.linux.isdn'den) iletiler geldi ve onlar iki ve birden fazla geçiş kartlarını bir kerede başarıyla kullanmışlar. Bütün bu standartların yanında hylafax'ın sağladığı olanaklar bu yazıda anlatılanlardan oldukça fazla.

Kendi deneyimlerimden billdiğim kadarıyla ISDN ile faks göndermek şu ana kadarki en kolay yol değil ve eğer nereden, nasıl başlayacağınızı bilmiyorsanız gerçekten sinir bozucu gelebilir. Umarım capi kaosunu çözmeniz ve yönetmenizde bir kısmınıza yardımcı olabilmişimdir.

Yazıda geçen herşeyi deneyenler için mutlu fakslar...