Οδηγός χρήσης του Debian/Αναγνωρίση & εγκατάσταση υλικού

Από Βικιβιβλία
Μετάβαση σε: πλοήγηση, αναζήτηση

Περιεχόμενα

Εισαγωγικά[επεξεργασία]

Ένα χρόνιο πρόβλημα στο χώρο του Debian και του Linux γενικότερα είναι αυτό της υποστήριξης που παρέχει για περιφερειακά και κάρτες επέκτασης που κυκλοφορούνε στο εμπόριο.

Το πρόβλημα γίνεται εντονότερο στους φορητούς υπολογιστές στους οποιους χρησιμοποιούνται από τις εταιρίες ποιό συχνά κλειστό υλικό. Κλειστό με την έννοια ότι όχι μόνο δεν δημιουργούνε οδηγούς συσκευών για το Linux αλλά δεν δημοσιεύουν και επαρκείς τεχνικές προδιαγραφές ώστε να μπορούν μέλη της κοινότητας του ελλακ να δημιουργήσουν ανάλογους οδηγούς.

Το αποτέλεσμα είναι ότι αν αγοράσετε μια web-camera ή έναν laser εκτυπωτή ή την τελευταία κάρτα γραφικών που βγήκε πρόσφατα στο εμπόριο είτε δεν θα μπορείτε να τον χρησιμοποιήσετε είτε θα το καταφέρετε μετά από προσπάθεια που κυμαίνεται από μικρή αν είστε hacker ή τεράστια αν έχετε μικρή εμπειρία.

Έχοντας πει τα παραπάνω να σημειωθεί ότι και με άλλα λειτουργικά συστήματα δεν είναι πάντα εύκολη η εγκατάσταση ενός καινούργιου περιφερειακού. Στην καλύτερη περίπτωση θα πρέπει να μπείτε στον κόπο να εγκαταστήσετε τον οδηγό αν το περιφερειακό σας κυκλοφόρησε ποιό πρόσφατα από την έκδοση πχ των Windows που έχετε.

Οδηγοί συσκευών και πυρήνας[επεξεργασία]

Η τρέχουσα ρύθμιση του πυρήνα σας βρίσκεται στο αρχείο /boot/config-2.x.y

  1. lsmod μας δίνει μια λίστα με τα ενεργά αρθρώματα του πυρήνα.

Επίσης φαίνεται ότι ένα πακέτο όπως το linux-image-2.6.26-1-686 περιέχει και αρκετά αρθρώματα μεταγλωττισμένα στον κατάλογο /lib/modules/`uname -r` . Και ανάλογα με το υλικό του υπολογιστή (και υποθέτω με την βοήθεια του udev μόνο μερικά από αυτά θα φορτωθούν στον πυρήνα

Συνεπώς η γενική εικόνα :

  • μια μεταγλώττιση του πυρήνα θα μας δώσει έναν πυρήνα και πολλούς οδηγούς,αρθώματα
  • αυτά τοποθετούνται στον κατάλογο /lib/modules/2.x.y
  • κατόπιν ο πυρήνας ανάλογα με το υλικό εγκαθιστά και τα ανόλογα αρθώματα.


$ tail -f /var/log/messages

ModulesAll Ρίξτε μια ματιά στους οδηγούς που περι λαμβάνονται στον debian πυρήνα.

Με την εντολή

  1. modprobe --list

μπορούμε να δούμε όλα τα διαθέσιμα αρθρώματα του πυρήνα , συμπεριλαμβανομένου και οδηγών συσκευών και με

  1. lsmod

μπορούμε να δούμε μια λίστα με τα αρθρώματα που έχουν φορτωθεί στον πυρήνα .

Χρήσιμα[επεξεργασία]

Κατηγορίες υλικού[επεξεργασία]

Μόντεμ[επεξεργασία]

Μιά από τις ποίο γνωστές μη-φιλικές προς το Debian συσκευές είναι τα winmodems ή softmodems.

Για λόγους οικονομίας οι κατασκευαστές των modem άρχισαν να αφαιρούν λειτουργίες που επιτελούνταν σε επίπεδο υλικού και να επαφίεται στους προγραμματιστές να φτιάξουν έναν ποιό πολύπλοκο οδηγό που θα επιτελεί τις λειτουργίες αυτές. Αύτο το γεγονός είχε σαν αποτέλεσμα να υπάρχει μεγάλη πιθανότητα να ο Η/Υ υπολογιστής που αγοράσατε να περιέχει ένα winmodem με αποτέλεσμα να πρέπει να προσπαθήσετε παραπάνω να βρείτε τον αντίστοιχο οδηγό για λίνουξ (αν υπάρχει) και να προσπαθήσετε να τον εγκαταστήσετε. Προφανώς σε μια τέτοια περίπτωση δεν θα μπορούσατε πχ να κάνετε εγκατάσταση από καθρεπτισμό αφού δεν θα έχετε σύνδεση. Δείτε σχετικά και τον ιστότοπο linmodems.org

Συνεπώς στην αγορά μόντεμ προσέχουμε να μην είναι winmodem και ακόμα προσέχουμε τον τύπο της διασύνδεσης του (usb ή παράλληλη ;). Αν δεν μπορούμε να αποφύγουμε ένα winmodem (πχ φορητός) τότε προσέχουμε να είναι ένα για το οποίο υπάρχει σταθερός οδηγός.

Κάρτα μνήμης usb flash[επεξεργασία]

Χρήσιμες εντολές αποσφαλμάτωσης

  • fdisk -l
  • less /var/log/messages | tail -n 30
  • dmesg | tail -n 5
  • gparted
  • mkfs
  • fdisk
  • df -h


Adsl μόντεμ[επεξεργασία]

Σε ηλεκτρονικές λίστες συζήτησης όπως η linux-greek-users@lists.hellug.gr προτείνεται η αγορά modem με θύρα ethernet.

Μια από τις δοκιμές που θα πραγματοποιήσουμε είναι με modem adsl/router/Wi-Fi pstn της linksys με θύρα ethernet που δίνεται με σύνδεση adsl της εταιρίας w:forthnet Θα δοκιμάσουμε

  1. Αναγνώριση κατά την καινούργια εγκατάσταση από DVD του Debian etch , και συνέχιση μέσω καθρεπτισμού
  2. Χρήση μέσα από το εγκατεστήμένο πλεον Etch.
    1. Με προπληρωμένη κάρτα netkey
    2. Με κανονική σύνδεση adsl

Κάρτα γραφικών[επεξεργασία]

Τρείς από της μεγαλύτερες εταιρίες που παράγουν κάρτες γραφικών είναι οι Nvidia (en) ή ATI (en) και η Intel (en)

Αν και τα δεδομένα αλλάζουν συχνά αυτή τη στιγμή ποιό φιλικές κάρτες γραφικών θεωρούνται τις intel όμως πρόκειται για κάρτες που υπολοίπονται σε επιδόσεις (πχ στα τρισδιάστατα γραφικά) έναντι αυτών της ATI και Nvidia.

Οι τελευταίες αν και συνήθως δημιουργούν οδηγούς συσκευών για τις καινούργιες τους κάρτες αυτοί είναι κλειστοί στην κοινότητα του ελλακ όπως και οι τεχνικές προδιαγραφές των κα kρτών.


Παράδειγματα[επεξεργασία]

ati radeon hd3650 ( κάρτα asus EAH3650 SILENT MAGIC ) σε debian lenny[επεξεργασία]
  • Εγκαθιστούμε από το non-free αποθετήριο τα πακέτα fglrx-driver , fglrx-*
  • Εκτελούμε την εντολή aticonfig --initial
  • Κάνουμε επαννεκκίνηση


  • Αρχικά κάνουμε λήψη του οδηγού fglrx (catalyst) από τη σελίδα οδηγών του ιστοτόπου της ati.
    • κατοπιν προχωραμε με την εγκατασταση
    • αν κατα την επανεκκίνηση εχουμε πρόβλημα μπορούμε πάντα να συνδεθούμε σε sinle user mode και να επαναφέρουμε το παλιό αρχείο xorg.conf του οποίου έχει κρατηθεί αντίγραφο στον φάκελο /etc/X11 από τον εγκαταστάτη του οδηγού .
ΑΤΙ X1650 (Gigabyte GV-RX165256D-RH) σε debian lenny[επεξεργασία]
  • Έχουμε εγκαταστήσει την κάρτα γραφικών στην υποδοχή του διαύλου pci-express της μητρικής μας και συνδέουμε το καλώδιο της οθόνης με την υποδοχή της κάρτας. Εδώ ίσως χρειαστούμε μετατατροπείς-προσαρμογείς βυσμάτων προς DVI-i
  • Κάνουμε επανεκκίνηση
  • πιθανώς η κάρτα μας να δουλέψει αφού είναι εγκαταστημένα το πακέτα xserver-xorg-video-ati,xserver-xorg-video-radeon Αυτά τα πακέτα δεν ζητήσαμε να εγκατασταθούνε ρητά και μάλλον η εγκατάσταση τους γίνεται από τον εγκαταστάτη του debian ο οποίως κατά την εγκατάσταση του xorg εγκαθιστά και μέρικούς οδηγούς που πιθανών να χρειαστούν. Πρόκειται για ανοιχτούς οδηγούς που ίσως δεν υποστηρίζουν καλά καινούργιες κάρτες γραφικών. (πχ όχι τρισδιάστατα γραφικά) Αν κοιτάξουμε τα αρχεία του πακέτου θα δούμε και το /usr/lib/xorg/modules/drivers/ati_drv.so,/usr/lib/xorg/modules/drivers/radeon_drv.so Πρόκεται για επέκτάσεις (module) του xorg server.
  • Εξετάζουμε στην αναφορά του hardinfo το τμήμα OpenGL. Δεν υποστηρίζεται το DRI ,αλλά έχουμε mesa δηλαδή μπορούν να εκτελεστούν εφαρμογές opengl αλλά μάλλον πολύ αργά αφού μεταφράζονται μέσα από τον X εξυπηρετητή.
Vendor     Mesa project
Renderer        Mesa GLX Indirect
Version 1.4 (2.1 Mesa 7.0.4)
Direct Rendering     No   
  • Στον πυρήνα 2.6.26 παρατηρούμε ότι σαν προκαθορισμένη διαμόρφωση δημιουργείται το άρθρωμα (module) radeon
   -> Device Drivers -> Graphics support -> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support ) -> ATI Radeon
  • Εξετάζωντας το ring buffer του πυρήνα βλέπουμε ότι φορτώνεται το εν λόγω άρθρωμα , κάτι που το διασταυρώνουμε και με την lsmod.
# dmesg | grep radeon 
[   71.684872] [drm] Initialized radeon 1.29.0 20080528 on minor 0
 #lsmod | grep radeon
  radeon                133920  2   
  drm                    91488  3 radeon
  • Εξετάζουμε το ημερολόγιο καταγραφής του xorg εξυπηρετητή για να δούμε αν αναγωνρίζεται η κάρτα μας.
 #less /var/log/Xorg.0.log   
 (II) PCI: PCI scan 
  ..............
 (--) PCI:*(1:0:0) ATI Technologies Inc RV535 [Radeon X1650 Series] rev 158, Mem @ 0xd0000000/28, 0xff930000/16, I/O @ 0xd000/8, BIOS @ 0xff900000/17
  ..............
 (II) LoadModule: "glx"
 (II) Loading /usr/lib/xorg/modules/extensions//libglx.so
 (II) Module glx: vendor="X.Org Foundation"
       compiled for 1.4.2, module version = 1.0.0
       ABI class: X.Org Server Extension, version 0.3
 (==) AIGLX enabled
 (II) Loading extension GLX
 ................
 (II)LoadModule: "dri"
 (II) Loading /usr/lib/xorg/modules/extensions//libdri.so
 (II) Module dri: vendor="X.Org Foundation"
       compiled for 1.4.2, module version = 1.0.0
       ABI class: X.Org Server Extension, version 0.3
 (II) Loading extension XFree86-DRI
 (II) Matched radeon from file name radeon.ids in autoconfig
 (II) Matched radeonhd from file name radeonhd.ids in autoconfig
 (==) Matched radeon for the autoconfigured driver
 (==) Assigned the driver to the xf86ConfigLayout
 (II) LoadModule: "radeon"
 (II) Loading /usr/lib/xorg/modules/drivers//radeon_drv.so
 (II) Module radeon: vendor="X.Org Foundation"
       compiled for 1.4.2, module version = 4.3.0
       Module class: X.Org Video Driver
       ABI class: X.Org Video Driver, version 2.0
  • Για να λειτουργήσει ικανοποιητικά το DRI με την κάρτα μας χρειάζονται και το άρθρωμα στον πυρήνα και η επέκταση του εξυπηρετητή Xorg. Αναλυτικότερα η υποδομή DRI περιλαμβάνει
    • τον διαχειριστή DRM που είναι δύο αρθρώματα του πυρήνα , έναν γενικό drm οδηγ ,και έναν άλλο για εξειδικευμένη υποστήριξη κάποων καρτών γραφικών. Με την χρήση αυτών των δυο μπορεί μια διαργασία του χρήστη να αποκτήσει άμμεση πρόσβαση στον υλικό της κάρτας γραφικών χωρίς την χρονοβόρα μεσολάβαση του Xorg εξυπηρετητή.
    • ένα άρθρωμα opengl το οποίο υποχεται εντολές opengl από εφαρμογές τις προετοιμάζει και τις στέλνει στην κάρτα γραφικών
    • τις επεκτάσεις στο X :, libdri.so radeon_drv
  • Σε'αυτό το σημείο μπορούμε να κάνουμε λήψη και εκτέλεση κάποιων benchmarks πριν προχωρήσουμε στην εγκατάσταση του κλειστού οδηγού για να μπορέσουμε να συγκρίνουμε τις αποδόσεις.(δες phoronix benchmarks)
  • Κάνουμε λήψη του πακέτου mesa-utils . (περιέχει μεταξύ άλλων και το πρόγραμμα glxinfo που μας παρέχει και την πληροφορία για το άν ειναι ενεργοποιημένο το DRI.
 #glxinfo 
 name of display: :0.0
 display: :0  screen: 0
 direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
     //όπως βλέπουμε για την ώρα δεν είναι ενεργοποιημένο το DRI παρόλο που φορτώθηκε κάποια επέκταση ονόματι dri.
  • Μέσω synaptic κάνουμε λήψη των πακέτων fglrx (πρόκειται για τον κλειστό οδηγό της ati πακεταρισμένο σε deb αρχεία)
  • Εκτελούμε την εντολή # aticonfig --initial ή οποία θα δημιουργήσει ένα νέο /etc/X11/xorg.conf το οποίο θα φορτώνει τον οδηγό fglrx
  • Κάνουμε επανεκκίνηση
  • Ακολουθώντας τις οδηγίες στο βίκι της ATI για debian

κάνουμε λήψη του πακέτου fglrx-src , linux-headers-2.6.26-1-common και εκτελούμε την εντολή

#  module-assistant auto-install fglrx-kernel-src 
  • Αν όλα βαίνουν καλώς θα δημιουργήθηκε και θα εγκατασταθηκε το πακέτο fglrx-kernel-2.6.26-1-amd64 το οποίο θα εγκατέστησε το άρθρωμα /lib/modules/2.6.26-1-amd64/misc/fglrx.ko
  • Κατόπιν θα κάνουμε μόνιμη την εγκατάσταση του fglrx οδηγού
 #nano /etc/modules
 και προσθέτουμε fglrx
  • Επανεκκίνηση
  • Εξετάζουμε πάλι την αναφορά του hardinfo το τμήμα OpenGL.
 ...
Direct Rendering     Yes

Συμβουλευτείτε[επεξεργασία]

  • την λίστα υποστήριξης οικογένειας Radeon καρτών της ΑΤΙ του εγχειρήματος X.Org
  • Επίσης πολύ ενδιαφέροντα άρθρα σχετικά με την συμβατότητα καρτών γραφικών προς το linux μπορείτε να βρείτε και στον ιστότοπο phoronix.
  • Την ιστοσελίδα τις ati με τους κλειστούς οδηγούς για linux ,
  • Την ιστοσελίδα τις nvidia με τους κλειστούς οδηγούς για linux της nvidia
  • Μια συνοπτική λίστα των βασικών οικογενειών ολοκληρωμένων γραφικών της ati.
  • Μια συνοπτική λίστα των βασικών οικογενειών ολοκληρωμένων γραφικών της nvidia.
  • Μια συνοπτική λίστα των βασικών οικογενειών ολοκληρωμένων γραφικών της intel.

Συζήτηση[επεξεργασία]

  • κανάλι #ati στο freenode
  • κανάλι #xorg στο freenode

Nuvola devices tablet.png Γραφική ταμπλέτα[επεξεργασία]

Πηγές , σχετικοί ιστότοποι και εγχειρίδια[επεξεργασία]

Δοκιμή εγκατάστασης bamboo της wacom. Ακολοθούμε τις οδηγίες του linuxwacom εγχειρήματος. (ας σημειωθεί ότι δεν μπορέσαμε να το εγκαταστήσουμε σε debian etch παρά μόνο αφού εγκαταστήσαμε μέσω του αποθετηρίου backport νεώτερο πυρήνα). Επίσης συμβουλευτείτε το μικρό εγχειρίδιο του ubuntu forum.

Πλαίσιο λειτουργίας[επεξεργασία]

  • Ο πυρήνας πολύ πιθανόν να περιέχει σχετικό άρθρωμα για την ταμπλέτα μας. Αυτό θα περιέχεται στον κατάλογο /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko και στην διαμόρφωση του πυρήνα είναι προσβάσιμο από Device Drivers-> Input device support -> Tablets -> Wacom.Παρατηρούμε ότι στην προκαθορισμένη διαμόρφωση του πυρήνα (2.6.26) του debian lenny το αρθρωμα είναι μεταγλωττισμένο και εχει δημιουργηθεί αλλά δεν είναι μέρος του πυρήνα, και άρα φορτώνεται κατα την εκκίνηση εφόσον ανιχνευτεί ανάλογη ταμπλέτα.
  • Θα χρειαστούν δύο οδηγοί για να λειτουργήσει η usb ταμπλέτα που παρέχονται και οι δύο από το εγχείρημα linux wacom.
    • Ο wacom.o , που είναι το άρθρωμα usb του πυρήνα. Αυτό σημαίνει ότι πρέπει να δημιουργηθεί και να τοποθετηθεί στον κατάλογο /lib/modules/.. και κατόπιν να αυτοματοποιηθεί το φόρτωμα του.
**και ο wacom_drv.o.Αυτός είναι ο  XFree86 Wacom οδηγός. Συνήθως οι X οδηγοί φορτώνονται στο Section module του xorg.conf από
τον κατάλογο /usr/lib/xorg/modules . Αν τους μπερδέψετε και χρησιμοποιήσετε τον έναν στην θέση του άλλου
η ταμπλέτα σας δεν θα δουλέψει.


Αρχικά πρέπει να κοιτάξουμε αν υπάρχει κάποιο ανάλογο πακέτο στο επίσημο αποθετήριο. Πχ για το debian testing υπάρχει το xserver-org-input-wacom. Δεν είμαι σίγουρος αν δημιουργείται πρόβλημα αν, ενώ έιναι εγκατεστημένο αυτό το πακέτο προσπαθήσουμε να εγκαταστήσουμε τον οδηγό από τo linuxwacom.sourceforge.net.

Κατόπιν δίνωντας #lsusb ή #less /proc/bus/input/devices βλέπουμε ότι υπάρχει κάποιος οδηγός wacom που αναγνωρίζει την ταμπλέτα μας.

Για τον πυρήνα 2.6.26 του lenny πρόκειται για το άρθρωμα (module) wacom που θα φορτωθεί στον πυρήνα εφόσον έχουμε συνδεδεμένη την ταμπλέτα μας. Βέβαια τίθεται το ερώτημα αν αυτή επηρεάζει την προσπάθεια μας να εγκαταστήσουμε άλλο νεώτερο άρθρωμα . Ελπίζω οχι αν έχει το ίδιο όνομα. Το ότι υπάρχει το αρθρωμα αυτό μπορούμε να το δούμε

  • από τον ίδιο τον κώδικα του πυρήνα
  • εξετάζωντας τον φάκελα /lib/modules
  • δίνωντας lsmod


  1. Λήψη πηγαίου κώδικα στον φάκελο μας
  2. ξεπακετάρισμα στον κατάλογο /opt/
  3. Βλέπουμε τα αρχεία και εγκαθηστούμε προδημιουργημένο(prebuild) οδηγό.

localhost:/opt/linuxwacom-0.8.0-3# ls
acinclude.m4     ChangeLog      depcomp*     Makefile.am      prebuilt/
aclocal.m4       config.guess*  GPL          Makefile.in      README
AUTHORS          config.sub*    install-sh*  missing*         src/
autom4te.cache/  configure*     LGPL         mkxincludes.in*
bootstrap*       configure.in   ltmain.sh    NEWS
localhost:/opt/linuxwacom-0.8.0-3# cd prebuilt/
localhost:/opt/linuxwacom-0.8.0-3/prebuilt# ls
32/  64/  install*  uninstall*  wacom.4x.gz
localhost:/opt/linuxwacom-0.8.0-3/prebuilt# ./install
Installing Wacom man page......
Installed under /usr/share/man/man4

Installing wacom_drv....
wacom_drv.so installed under /usr/lib/xorg/modules/input

Installing utility programs (wacdump, xidump, xsetwacom....)
Installed under /usr/local/bin

Installing wacomcpl......
Installed under /usr/local/bin


You need to compile and install wacom.(k)o manually if your kernel is out of date.

After adding your Wacom tools into /etc/X11/xorg.conf, please restart X server or simply reboot your system to run the new Wacom X driver.
localhost:/opt/linuxwacom-0.8.0-3/prebuilt#
  1. Συνδέστε την bamboo κάρτα σε θύρα usb .
  2. Η εντολή :
#more /proc/bus/usb/devices  δίνει και 
T:  Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=056a ProdID=0017 Rev= 1.13
S:  Manufacturer=Wacom Co.,Ltd.
S:  Product=CTE-450
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 60mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=wacom
E:  Ad=81(I) Atr=03(Int.) MxPS=   9 Ivl=4ms
  1. Δίνοντας
 # tail -f /var/log/messages και αποσυνδέοντας και ξανασυνδέωντας το καλώδιο θα πρέπει να παρατηρήσουμε δραστηριότητα στο τερματικό μας όπως πχ:
Oct 15 18:00:51 localhost kernel: [14746.514753] usb 4-2: USB disconnect, addres s 2
Oct 15 18:00:56 localhost kernel: [14752.023287] usb 4-2: new full speed USB dev ice using uhci_hcd  and address 3
Oct 15 18:00:57 localhost kernel: [14752.197805] usb 4-2: configuration #1 chose n from 1 choice
Oct 15 18:00:57 localhost kernel: [14752.201447] input: Wacom BambooFun 4x5 as / class/input/input7
Oct 15 18:00:57 localhost kernel: [14752.238530] usb 4-2: New USB device found, idVendor=056a,  idProduct=0017
Oct 15 18:00:57 localhost kernel: [14752.238530] usb 4-2: New USB device strings : Mfr=1, Product=2, SerialNumber=0
Oct 15 18:00:57 localhost kernel: [14752.238530] usb 4-2: Product: CTE-450
Oct 15 18:00:57 localhost kernel: [14752.238530] usb 4-2: Manufacturer: Wacom Co .,Ltd.
Oct 15 18:00:57 localhost logger: device 4-2:1.0 is bound to the wacom driver
Oct 15 18:00:57 localhost logger: no need to rebind
  1. Κστόπιν κάνουμε τις εξής αλλαγές στο αρχείο διαμόρφωσης του X , /etc/X11/xorg.conf
Section "ServerLayout"
       Identifier     "Default Layout"
       Screen      0  "aticonfig-Screen[0]-0" 0 0
       InputDevice    "Generic Keyboard"
       InputDevice    "Configured Mouse"
       InputDevice    "stylus"    "SendCoreEvents"
       InputDevice    "eraser"   "SendCoreEvents"
       InputDevice    "cursor"    "SendCoreEvents"    # For non-LCD tablets only
       InputDevice    "touch"    "SendCoreEvents"    # Only a few TabletPCs support t$        
       InputDevice    "pad"   # For Intuos3/CintiqV5/Graphire4/Bamboo tablets 
EndSection
  1. Στο ίδιο αρχείο προσθέτουμε τις εξής συσκευές εισόδου (ίσως χρειαστεί να αλλάξουμε το event0 σε eventY .,Υ= ακέραιος .(αν έχει δημιουργηθεί η συσκευή /dev/input/wacom χρησιμοποιήστε αυτή) Για να βρούμε ποιά τιμή πρέπει να βάλουμε θα χρησιμοποιήσουμε το πολύ χρήσιμο εργαλείο γραμμής εντολών wacdump δοκιμάζοντας την εκτέλεση του με όλα τα πιθανά ορίσματα /dev/input/event0 , /dev/input/event1, κτλ πχ #wacdump /dev/input/event2 και γράφωντας στην ταμπλέτα μας για να δούμε αν δημιουργούνται γεγονότα (events) της ταμπλέτας στο σύστημα X.Παρόμοια μπορεί να φανεί χρήσιμο και το εργαλείο xidump αν και δεν το έχουμε δοκιμάσει.

Επίσης εφόσον πχ έχουμε ταμπλέτα usb θα σβήσουμε τις γραμμές με το σχόλειο # SERIAL ONLY.

Section "InputDevice"
  Driver        "wacom"
  Identifier    "stylus"
  Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
  Option        "Device"        "/dev/input/event0"   # USB ONLY
  Option        "Type"          "stylus"
  Option        "USB"           "on"                  # USB ONLY
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC ONLY
EndSection
Section "InputDevice"
  Driver        "wacom"
  Identifier    "eraser"
  Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
  Option        "Device"        "/dev/input/event0"   # USB ONLY
  Option        "Type"          "eraser"
  Option        "USB"           "on"                  # USB ONLY
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC ONLY
EndSection
Section "InputDevice"
  Driver        "wacom"
  Identifier    "cursor"
  Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
  Option        "Device"        "/dev/input/event0"   # USB ONLY
  Option        "Type"          "cursor"
  Option        "USB"           "on"                  # USB ONLY
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC ONLY
EndSection

# This section is for Intuos3, CintiqV5, Graphire4, or Bamboo
Section "InputDevice"
  Driver        "wacom"
  Identifier    "pad"
  Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
  Option        "Device"        "/dev/input/event0"   # USB ONLY
  Option        "Type"          "pad"
  Option        "USB"           "on"                  # USB ONLY
EndSection
# This section is for the TabletPC that supports touch
Section "InputDevice"
  Driver        "wacom"
  Identifier    "touch"
  Option        "Device"        "/dev/ttyS0"          # SERIAL ONLY
  Option        "Device"        "/dev/input/event0"   # USB ONLY
  Option        "Type"          "touch"«
  Option        "ForceDevice"   "ISDV4"               # Serial Tablet PC ONLY
  Option        "USB"           "on"                  # USB ONLY
EndSection

Λάθη κατά την εγκατάσταση[επεξεργασία]

Ένα λάθος που μας προέκυψε κατά την δοκιμή είναι (από το /var/log/Xorg.0.log) το:

(II) LoadModule: "wacom"
(II) Loading /usr/lib/xorg/modules//wacom_drv.so
(II) Module wacom: vendor="X.Org Foundation"
       compiled for 4.3.99.902, module version = 1.0.0
       Module class: X.Org XInput Driver
       ABI class: X.Org XInput driver, version 0.5
(EE) module ABI major version (0) doesn't match the server's version (2)
(II) UnloadModule: "wacom"
(II) Unloading /usr/lib/xorg/modules//wacom_drv.so
(EE) Failed to load module "wacom" (module requirement mismatch, 0)

Πιθανολογούμε να χρειάζεται επαναμεταγλώττιση σε αυτήν την περίπτωση της επεκτασης X wacom_drv.so. Για να γίνει αυτό πρέπει να κάνουμε τα παρακάτω βήματα:

  • Οδηγίες για το κτίσιμο του
  • # apt-get source xorg-server (προσοχή , από`σω γνωρίζω δεν μπορείται να κάνετε λήψη πακέτων πηγαίων πακέτων .dsc από το synaptic ή το aptitude.


Ρύθμιση και διαμόρφωση της ταμπλέτας[επεξεργασία]

  • Το wacomcpl είναι ένα εργαλείο διαμόρφωσης του wacom οδηγού γραφικής διεπαφής μέσα από το οποίο μπορούμε να αλλάξουμε

χαρακτηριστικά της ταμπλέτας όπως:

    • ευαισθησία στην πίεση
    • click threshold,
    • λειτουργίες κουμπιών
    • ταχύτητα κέρσορα
    • ταχύτητα απεικόνισης ()speed, mapping),

κτλ χωρίς να χρειάζεται να τροποποιήσουμε με το χέρι το αρχείο XF86Config/xorg.conf file.

Θα εγκατασταθεί μαζί με τον οδηγό από τον prebuild κατάλογο εφόσον έχετε εγκατεστημένα τα πακέτα tcl (γλώσσα σεναρίων) και tk (διαπλατφορμική γραφική εργαλειοθήκη που παρέχει motif στυλ στην γραφική διεπαφή μιας εφαρμογής)

  • Το xsetwacom είναι ένα εργαλείο διαμόρφωσης του wacom οδηγού διεπαφής γραμμής εντολής με χρήση του οποίου μπορούμε επίσης να αλλάξαμε παραμέτρους λειτουργίας της ταμπλέτας (ευαισθησία στην πίεση, click threshold, κτλ) χωρίς να χρειάζεται να τροποποιήσουμε με το χέρι το αρχείο XF86Config/xorg.conf file.
  • wacdump Εργαλείο με το οποίο βλέπουμε τα γεγότα που παράγει η ταμπλέτα μας προς το X σύστημα. Μπορεί να φανεί πολύ χρήσιμο σε αποσφαλμάτωση ή σωστή διαμόρφωση του οδηγού και της ταμπλέτας.
  • xidump Εργαλείο με το οποίο βλέπουμε τα γεγότα που παράγει το XFREE6 σύστημα. Μπορεί να φανεί πολύ χρήσιμο σε αποσφαλμάτωση ή σωστή διαμόρφωση του οδηγού και της ταμπλέτας.

Εγκατάσταση wacom bamboo σε lenny[επεξεργασία]

  • Το /etc/X11/xorg.conf δεν περιέχει serverlayout section και θα πρέπει να είμαστε

προσεχτικοί στην συμπλήρωσή του ακολουθώντας για το servelayout τις οδηγίες εδώ

  • Κατ'άλλα η εγκατάσταση θα προχωρήσει όπως το etch κανωντας λήψη και μεταγλώττιση του οδηγού

Nuvola apps amarok.pngΚάρτα ήχου[επεξεργασία]

Σε μερικές περιπτώσεις μετά την εγκατάσταση του debian ενδέχεται να μην έχετε ήχο. Πιθανή τρόποι να διορθώσετε το πρόβλημα:

  • εκτελέστε την εφαρμοφή alsaconf
  • κάνετε λήψη και εγκατάσταση του πακέτου alsa-oss

Σχετικά πακέτα[επεξεργασία]

  • Nuvola mimetypes deb.png alsa-base. Αυτό το πακέτο περιέχει διάφορα αρχεία διαμόρφωσης για τους ALSA οδηγούς . Για να δουλέψει το ALSA σε ένα σύστημα με κάρτα ήχου πρέπει να υπάρχει ALSA οδηγός γι'αυτή στον πυρήνα. Το Linux 2.6 όπως εκδίδεται σε πακέτα linux-image περιέχει ALSA οδηγούς για όλες τις υποστηριζόμενες κάρτες στην μορφή άρθρωματος πυρήνα
  • Nuvola mimetypes deb.png alsa-oss. Αυτό το πακέτο περιέχει τις κατάλληλες διεπαφές που θα επιτρέψουν προγράμματα που δημιουργήθηκαν με το OSS(Open_Sound_System) να εκτελεστούν χρησιμοποιώντας το ALSA.
  • Nuvola mimetypes deb.png alsaplayer. Αυτό το πακέτο περιέχει διάφορους αναπαραγωγείς μουσικών αρχείων διαφόρων διεπαφών (gtk,text κτλ)
  • Nuvola mimetypes deb.png alsa-utils (περιέχει βοηθήματα όπως :
    • amixer: μίκτης(en) γραμμής εντολών
    • alsamixer: μίκτης(en) βιβλιοθήκης curses(en)
    • alsaconf: εργαλεία διαμόρφωσης του ALSA.
    • amidi: εργαλείο ανάγνωσης και εγγραφής σε ALSA RawMIDI θύρες
    • aplay, arecord: βοήθημα εγγραφής και αναπαραγωγής γραμμής εντολών
    • aplaymidi, arecordmidi: βοήθημα εγγραφής και αναπαραγωγής MIDI γραμμής εντολώνcommand line
    • aconnect, aseqnet, aseqdump: command line MIDI sequencer control
  • Nuvola mimetypes deb.png aslamixergui Γραφική διαπεφή του alsamixer.


Δείτε επίσης[επεξεργασία]


Camera2.svg Ψηφιακή κάμερα[επεξεργασία]

Σύμφωνα με το άρθρο του linux.com δεν υπάρχει πρόβλημα συμβατότητας για τις ψηφιακές κάμερες αρκεί να έχετε έναν συμβατό αναγνώστης καρτών.

Αναγνώστης-καρτών.svg Αναγνώστης καρτών μνήμης[επεξεργασία]

O Αναγνώστης καρτών μνήμης (en) είναι περιφερειακό που μας δίνει την δυνατότητα να συνδέσουμε κάρτες μνήμης (en) διαφορετικών μεγεθών από κινητά τηλέφωνα, υπολογιστές παλάμης, φωτογραφικές μηχανές κτλ.


Δοκιμές[επεξεργασία]

Transcend multi-card reader M5[επεξεργασία]
ο φάκελος υπολογιστής με συνδεδεμένο τον αναγνώστη καρτών μνήμης και εισηγμένες δυο κάρτες σε Debian 5.0 Gnome

Σε προδιαθέτει θετικά το ότι στο κουτί της συσκευής αναφέρει και το Linux. Με το που το συνδέεις βλέπεις στο παράθυρο Υπολογιστής ότι θα εμφανιστούν τα εικονίδια:

  • Οδηγός Compact flash
  • Οδηγός Memory stick
  • Generic USB xD/SM Reader
  • Οδηγός SD/MMC

Δοκιμάσαμε με επιτυχία την εισαγωγή κάρτας Memory stick Pro Duo από κινητό K710 . κάρτα SD από έξυπνο κινητό καθώς και μια MSmicro (M2) που ήταν αναγνώσιμη αλλά όχι αν είχαμε ταυτόχρονα το memory stick pro duo.

Χρήσιμα[επεξεργασία]

Camera-web.svg Webκάμερα[επεξεργασία]

Ένα ενδιαφέρον άρθρο το οποίο αντανακλά την προβληματική και ασύμβατη σχέση που έχει το Debian Linux με αυτή την κατηγορία των περιφερειακών είναι και το παρακάτω. Ένας άνδρας γράφει οδηγούς Linux για 235 USB webcams

Usb Video Class[επεξεργασία]

Πρόκειται για έναν οδηγό που μπορεί και επικοινωνεί με κάμερες usb που υλοποιούν αυτό το πρότυπο. Στα αποθετήρια του debian δεν υπάρχει κάποιο πακέτο για uvc οδηγό και ο λόγος είναι ότι είναι ενσωματωμένο στον πυρήνα εφόσον επιλεχτεί κατά την ρύθμιση του πυρήνα πριν από μεταγλώτιση. Στον πυρήνα 2.26.6 μπορούμε βρούμε την επιλογή αυτή στην τοποθεσία : Location:->DeviceDrivers -> Multimedia devices -> Video capture adapters (VIDEO_CAPTURE_DRIVERS [=y])-> V4L USB devices (V4L_USB_DRIVERS [=y])

Στον 2.6.26 υπάρχει το άρθρωμα v4l2-common που όμως πρέπει να το φορτώσετε.

#modprobe v4l2-common

Περίπτωση 1 (logitech quickcam notebooks)[επεξεργασία]

Θα δοκιμάσουμε μια logitech web camera σε debian lenny

  • Συνδέεουμε το καλώδιο της κάμερας στην usb θύρα του υπολογσιστή μας
  • Δίνοντας σε ένα τερματικό (σαν υπερχρήστης) την εντολή #lsusb θα πρέπει να δούμε μεταξύ άλλων
 Bus 002 Device 003: ID 046d:08dd Logitech, Inc

(δυστυχώς όπως βλέπουμε σε αυτή την σελίδα διαφορετικές εκδόσεις τις ίδιας κάμερας εκτός από το id ίσως είναι χρήσιμο να βρούμε και το αναγνωριστικό αναθέωρησης της ίδιας σειράς προιόντος δίνωντας και την εντολή #lsusb -d 046d:0990 -v | grep bcdDevice και επίσης τον αριθμός προιόντος ακολουθώντας τις οδηγίες της logitech για εύρεση του αριθμού προϊόντος ) Αυτό σημαίνει ότι πρέπει να είμαστε πολύ προσεχτική όταν αγοράζουμε μια web camera.

  • Ψάχνουμε να βρούμε για μια κάμερα με τα παραπάνω χαρακτηριστικά αν υπάρχει λειτουργικός οδηγός για linux.
    • Βρήκαμε κάποιους συνδέσμους σχετικά με τον qc-usb ,κάναμε λήψη και εγκαταστήσαμε τον qc-usb οδηγό χωρίς επιτυχία.
    • Στη λίστα spca5xx βλέπουμε δυστυχώς ότι δεν υποστηρίζεται μοντέλο με το δικό μας id, αλλά παρόμοια με την ίδια εμπορική επωνυμία.Οπότε τον δοκιμάσαμε κάνωντας λήψη του πακέτου gspca-modules-2.6.26-1-686.deb μέσω synaptic .
    • Δοκιμάζοντας την κάμερα με το πρόγραμμα camorama η κάμερα δούλεψε αλλά χωρις να ανοίξει κάποιο led πάνω της και με εικόνα λίγο σκοτεινή.

Τέλος μπορείτε να ρίξτε μια ματιά και σ'αυτό το χρήσιμο νήμα συζήτησης σχετικά με την ενλόγω κάμερα στην αγορά της logitech. Εδώ μεταξύ άλλων φαίνεται ποιό είναι τo chipset της κάμερας και ποίος ο αισθητήρας.

Χρήσιμοι σύνδεσμοι[επεξεργασία]

Εκτυπωτής[επεξεργασία]

Για την λειτουργία του εκτυπωτή πιθανώς θα χρειαστεί να βρείτε τον κατάλληλο όδηγο και να τον εγκαταστήσετε Χρήσιμοι ιστότοποι που θα σας βοηθήσουν είναι οί:

Χρήσιμα προγράμματα

  • gnome-cups-manager , Πρόγραμμα διαχείρισης και εγκατάστασης εκτυπωτων. Εκτελείται είτε από τερματικό με την ομώνυμη εντολη είτε στη γραφική διεπαφή με Επιφάνεια Εργασίας -> Διαχείρηση συστήματος -> Εκτύπωση.
  • cups διασύνδεση Δηλαδή γραφική διασύνδεση μέσω του πλοηγού διαδικτύου του [κοινού συστήματος εκτύπωσης unix|κοινό σύστημα εκτύπωσης UNIX]

Οι δυσκολίες που μπορεί να αντιμετωπίσετε :

  • δεν υπάρχει οδηγός
  • υπάρχει αλλά σε άλλη μορφή πχ .rpm ή .tgz , που σημαίνει ότι α χρειαστούν βήματα μετατροπής (πχ alien) ή εγκατάστασης με το χέρι
  • υπάρχει αλλά δεν βρίσκεται σε επίσημη αρχειοθήκη του debian , οπότε η εγκατάσταση θέλει λίγο ψάξιμο στον ιστότοπο είτε του κατασκευαστή είτε ελεύθερων ομάδων προγραμματιστών.
παράδειγμα[επεξεργασία]

Στην περίπτωση μου : Έχω inkjet lexmark z615. Όπως θα ανακάλυπτα μετά από προσπάθεια ωρών δεν θεωρείται και ούτε είναι φιλικός με λινουξ.(αν και με μερικές διανομές είναι λίγο ποιό εύκολος) Δεν υπήρχει οδηγός (αυτό βέβαια δεν σημαίνει ότι βγαίνει κάποιο μήνυμα σχετικό!) και με μπέρδεξε το ότι το gnome-cups-manager αναγνώριζε ότι υπήρχε εκτυπωτής μαρκας lexmark αλλά δεν δούλευε κανένας από τους πάμπολους lexmark οδηγούς που υπήρχαν. Υπήρχει πρόβλημα με την φιλικότητα της διεπαφής σε αυτό το σημείο αφού δεν κατανοείς αν πρέπει να δοκιμάσεις ή όχι τους οδηγούς που παρουσιάζονται.

Έψαξα και βρήκα σελίδες βοήθειας αλλά πολλές αναφέροντα σε άλλες διανομές gentoo κτλ. Ποιό χρήσιμες μου φάνηκαν σελίδες για το ubuntu που είναι ποιό κοντά στο debian.

Κατόπιν κοίταξα και την βαση του OpenPrinting αλλά βρήκα οδηγίες αλλά για redhat suse. Προτίμησα της σελίδες από αγορές του ubuntu. Τα απαιτούμενα βήματα ήταν περίπου 12 αλλά η κατάσταση έγινε χειρότερη γιατί χρειάστηκε η βιβλιοθήκη libstdc++5 ενώ με το etch έρχεται η libstdc++6 . Και ακόμα για κάποιο λόγο δεν έβλεπε τον νέο οδηγό ο gnome-cups-manager και έπρεπε να βρώ το σωστό κατάλογο και να τον μετακινήσω εκεί.

Συνοπτικά: Υπήρχε οδηγός , αλλά η εγκατάσταση ήταν δύσκολη λόγω παλιότητας και λόγω διαφορετικής μορφής του αρχείου του οδηγού.

Ποντίκι[επεξεργασία]

Δεν υπάρχει σοβαρό πρόβλημα υποστήριξης αλλά μην περιμένετε να λειτουργούν επιπρόσθετα χαρακτηριστικά , όπως πχ ασύρματα ποντίκια κτλ.

Πληκτρολόγιο[επεξεργασία]

Δεν υπάρχει σοβαρό πρόβλημα υποστήριξης αλλά μην περιμένετε να λειτουργούν επιπρόσθετα χαρακτηριστικά , όπως πχ ασύρματα πληκτρολόγια, φωτιζόμενα πληκτρολόγια κτλ.

Σαρωτής[επεξεργασία]

Μικρόφωνο[επεξεργασία]

Ασύρματο δίκτυο[επεξεργασία]

Γενικά[επεξεργασία]

Σας προτείνουμε να ρίξετε μια ματιά στη λίστα υποστήριξης ασύρματων καρτών και στην λίστα ελεύθερων οδηγών της wikipedia.

Γενικά τα προτιμητέα τσιπσετ είναι

Οδηγίες

Ολοκληρωμένα[επεξεργασία]

Φαινομενικά είναι υπερβολικά πολλές οι κάρτες/προσαρμογείς , όμως τα ολοκληρωμένα είναι πολύ λιγότερα όπως και οι ελεύθεροι οδηγοί και η κοινότητα έχει για την ώρα συγκεντρώσει τις προσπάθειές της στα παρακάτω ολοκληρωμένα:

Εταιρίες[επεξεργασία]

  • edimax.com εταιρεία που πουλάει ασύρματες κάρτες με αναφορά ότι είναι συμβατά και με linux , Taipei County, Taiwan, Republic of China.
  • Linksys ΗΠΑ
  • Sweex Ολλανδία
  • LevelOne Γερμανία
  • Belkin ΗΠΑ

Δοκιμές[επεξεργασία]

Υπάρχουν δεκάδες usb προσαρμογείς ασύρματου δικτύου αλλά τα ολοκληρωμένα πάνω στα οποία βασίζονται είναι μετρημένα στα δάχτυλα και για τρια από αυτά υπάρχουν ενεργά εγχειρήματα δημιουργίας οδηγών. Ας δούμε μερικές δοκιμές από προσαρμογείς που βρήκαμε στην ελληνική αγορά.(2008-09)

 lspci -vv
 # lspci -vv | grep Intel
 00:0b.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)
 Subsystem: Intel Corporation: Unknown device 2702
 Now, look for the device number:
 # lspci -n | grep 00:0b.0
 00:0b.0 Class 0280: 8086:4220 (rev 05)
Planet WL8310[επεξεργασία]
  • Κατασκευαστής: Planet Networking
  • Έτος: 2005
  • Αναγνωριστικό προϊόντος: WL 8310
  • Διασύνδεση: pci 32 bit
  • Τύπος ασύρματου: 802.11b/g
  • Κωδικός κατασκευαστή και προϊόντος: 168c:0013 (rev 01)
  • Τσιπσετ: Atheros Communications Inc. AR5212/AR5213 (αν και στο ολοκληρωμένο πάνω στην πλακέτα κάτω από την ΗΜΓ ασπίδα γράφει atheros AR2414A-00)
  • Οδηγός: Kernel driver in use: ath5k_pci
    • Kernel modules: ath5k
  • Συμβατότητα:
    • Debian 5: πολύ καλή (δεν πιάνει πολύ καλά σήμα, αλλά είναι blobless!)

Αναγνωρίστηκε άμεσα από τον υπολογιστή και το nm-applet. Η δύναμη του σήματος κυμαίνεται στο 30%-40% για απόσταση από παραδιπλανό δωμάτιο 3-5 μέτρα )

 $iwconfig
 wlan1     IEEE 802.11  ESSID:"linksys"  
           Mode:Managed  Frequency:2.462 GHz  Access Point: 00:14:ΑF:9F:8F:58   
           Bit Rate=1 Mb/s   Tx-Power=20 dBm   
           Retry min limit:7   RTS thr:off   Fragment thr=2352 B   
           Encryption key:off
           Link Quality=46/100  Signal level=-52 dBm  Noise level=-82 dBm
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
C54Ri της Conceptronic[nl][επεξεργασία]
  • Κατασκευαστής: Conceptronic
  • Αναγνωριστικό προϊόντος: C54Ri
  • Διασύνδεση: pci 32 bit
  • Τύπος ασύρματου: 802.11b/g
  • Κωδικός κατασκευαστή και προϊόντος: 1814:0302
  • Τσιπσετ: [Ralink RT2561/RT61]
  • Οδηγός: [rt61pci]
  • Συμβατότητα:
    • Debian 5: μέτρια (ξαφνικές συχνές διακοπές) (προσοχή απαιτείται bblob!!)

Θα προσπαθήσουμε να ακολουθήσουμε τις οδηγίες στη σχετική σελίδα του debian-βίκι rt61pci .

Το σημαντικό είναι ότι είναι ενσωματωμένος στους νεότερους πυρήνες το άρθρωμα rt61pci. Όμως για να λειτουργήσει η κάρτα θα χρειαστούμε και το πακέτο firmware-nonfree. Και για να μπορέσουμε να το κατεβάσουμε πρέπει να έχουμε το non-free κομμάτι του αποθετηρίου προσβάσιμο μέσω αλλαγής του /etc/apt/sources.lit.

DN-7006GS της Digitus[επεξεργασία]
  • Κατασκευαστής: digitus
  • Αναγνωριστικό προϊόντος: DN-7006GS
  • Διασύνδεση: pci 32 bit
  • Τύπος ασύρματου: 802.11g
  • Κωδικός κατασκευαστή και προϊόντος: 10ec:8185 (rev 20)
  • Τσιπσετ: realtek
  • Οδηγός: rtl8180
  • Συμβατότητα:
    • Debian 5: Καλή (μειωμένη ταχύτητα)
WNC-0305 USB 11G της Level One [de][επεξεργασία]

Χαρακτηριστικά:

  • Πρότυπα:,
  • Διασύνδεση : USB 2.0 USB 1.0

Πρόκειται για προσαρμογέα ασύρματης πρόσβησης που βασίζεται στο ολοκληρωμένο RealTek και θα χρειαστούμε τον οδηγό rtl818x . Ακολουθούμε τις οδηγίες εγκατάστασης που υπάρχουν στον ιστότοπο του εγχειρήματος ανάπτυξης του οδηγού.

Δυστυχώς παρατηρήσαμε ότι ο οδηγός που έχει ενσωματωμένος ο πυρήνας του linux σαν άρθρωμα δεν είναι και πολύ καλός, και ίσως και η κάρτα δεν είναι πολύ καλή. Συγκεκριμένα στο lenny ο wifi usb προσαρμογέας εμφανίζει άστατη απόδοση και πιάνει 2 σήματα ενώ στα windows ο ίδιος προσαρμογέας δουλεύει πολύ ποιό σταθερά αλλά πιάνει μόνο 2 σήματα και παράλληλα άλλοι προσαρμογείς όπως της intel ή της linksys όχι μόνο είναι σταθεροί στο linux αλλά πιάνουν στον ίδιο σημείο περισσότερα σήματα.

WUSB54GC της linksys [us][επεξεργασία]

Πρόκειται για προσαρμογέα ασύρματης πρόσβησης που βασίζεται στο ολοκληρωμένο της ralink rt73 (RT2501USB(RT73:RT2571W/RT2573/RT2671)) (Δεν γνωρίζω ακριβώς γιατί ονόμασαν τον οδηγό rt73 ενώ βασίζεται στο rt2501USB) Το σημαντικό είναι ότι η ralink δημιουργεί οδηγούς για το linux. Βέβαια το καθεστών αδειών τους καθιστά απαγορευτική τη συμπερίληψη τους σε ελεύθερα λογισμικά όπως το debian .Συνεπώς πρέπει να γίνει μεταγλώττιση και εγκατάσταση από τον πηγαίο κώδικα που θα προμηθευτούμε από την εταιρία. Αυτό δεν είναι πάντα εύκολο. Προαπαιτεί ικανότητες που δεν κατέχει ένας χρήστης και ακόμα και για έναν ειδικό υπάρχει η δυσκολία να πρέπει πχ να ενεργοποιήσει έναν προσαρμογέα σε σύστημα με μόνο διαθέσιμο ένα πχ iso cd το οποίο δεν έχει τα πακέτα που χρειάζονται για μεταγλώτιση. Συνεπώς πάντα να έχετε διαθέσιμα 3-4 iso dvd αν θέλετε αν μην τρέχετε ή στην καλύτερη περίπτωση να έχετε δυνατότητα όταν διαμορφώνετε το μηχάνημα να έχει πρόσβαση στο διαδίκτυο πχ μέσα από ένα άλλο pc με απευθείας σύνδεση με cross over etherner καλώδιο.


Δεν υπάρχει σε πακέτο ο οδηγός άρα θα λάβουμε τον πηγαίο κώδικα και θα προσπαθήσουμε να δημιουργήσουμε τον οδηγώ με μεταγλώττιση του κώδικα.

θα χρειαστούμε τα πακέτα

  • τον πηγαίο κώδικα του οδηγού. Μπορούμε να τον προμηθευτούμε είτε από το εγχείρημα rtx200 rtx200 είτε από την σελίδα υποστήριξης linux της ίδιας της εταιρίας ralink .Εμείς δοκιμάσαμε τον οδηγό rt73 από το εγχείρημα rtx200.
  • gcc + cpp (προσοχή καθώτι ο rt73 δεν χρειάζεται απαραίτητα την τελευαταία έκδοση του gcc,cpp)
  • make
  • linux-headers (και linux-source?)
  • kbuild
  • wireless-tools


intel wifi linux drives [[1]]

Δημιουργώντας οδηγούς[επεξεργασία]

Ισως χρειαστούμε και πηγαίο κώδικα μερικών πακέτων.Είναι αξιοσημείωτο ότι μεσω synaptic δεν μπορώ να κάνω λήψη πηγαίων πακέτων αλλά πρέπει να χρησιμοποιήσω την εντολή

#apt-get source όνομαπακέτου
#apt-get build-dep  ονομαπακέτου

Χρήσιμες εντολές ,αρχεία και κατάλογοι[επεξεργασία]

  • dmesg Χρήσιμο διαγνωστικό βοήθημα εντολή του unix που μας εμφανίζει τα μηνύματα του πυρήνα.
  • # tail -f /var/log/messages
  • lsmod
  • rmmod
  • insmod
  • modprobe [όνομα αρθρώματος] modprobe [όνομα αρθρώματος][..] -r Έξυπνη πρόσθεση και αφαίρεση αρθρωμάτων.
  • /etc/modules Πρόκειται για αρχείο που περιέχει τα αρθρώματα που θα φορτωθούν αυτόματα κατά την εκκίνηση του συστήματος.
  • /var/log/Xorg.0.log

Η τρέχουσα ρύθμιση του πυρήνα σας βρίσκεται στο αρχείο /boot/config-2.x.y

Επίσης φαίνεται ότι ένα πακέτο όπως το linux-image-2.6.26-1-686 περιέχει και αρκετά αρθρώματα μεταγλωττισμένα στον κατάλογο /lib/modules/`uname -r` . Και ανάλογα με το υλικό του υπολογιστή (και υποθέτω με την βοήθεια του udev μόνο μερικά από αυτά θα φορτωθούν στον πυρήνα

Συνεπώς η γενική εικόνα :

  • μια μεταγλώττιση του πυρήνα θα μας δώσει έναν πυρήνα και πολλούς οδηγούς,αρθώματα
  • αυτά τοποθετούνται στον κατάλογο /lib/modules/2.x.y
  • κατόπιν ο πυρήνας ανάλογα με το υλικό εγκαθιστά και τα ανόλογα αρθώματα.


4.6 Building out-of-tree kernel modules

Some kernel modules are not included in the upstream or Debian kernel source, but are provided as third-party source packages. For some of the most popular out-of-tree modules, the binary Debian packages with modules built against the stock Debian kernels are provided. For example, if you are running stock Debian kernel 2.6.18-3-686 (use the uname -r command to verify the version) from the linux-image-2.6.18-3-686 package, and would like to use the squash filesystem, all you need to do is install squashfs-modules-2.6.18-3-686 binary package, which provides the neccessary binary kernel modules.

If you are not so lucky, and there are no binary module packages in the archive, there is a fair chance that the Debian archive contains the packaged source for the kernel modules. Names of such packages typically end in -source, for example squashfs-source, thinkpad-source, rt2x00-source and many others. These packages contain debianized source code of the kernel modules, suitable for building using the module-assistant (or m-a) script from the module-assistant package. Typical sequence to build a custom binary module package, matching a kernel 2.6.18-3-686 (as returned by uname -r) from the debianized source consists of the following steps:

Install a set of kernel headers, matching the kernel for which the modules are going to be built:

    # apt-get install linux-headers-2.6.18-3-686

Install the package containing the source:

    # apt-get install squashfs-source

Invoke module-assistant (aka m-a) to do the heavy lifting:

    # m-a build squashfs

As a result, a Debian package is going to be built and placed in /usr/src. It can be installed the usual way, using dpkg -i. Two last steps (building and installation) may be combined using the invocation

    # m-a auto-install squashfs

Check out the module-assistant documentation (man module-assistant) for other options and much more information on how to use it.

Finally, in some rare circumstances, you might need to build the kernel modules from the upstream source packages. In that case, follow the documentation included with the package to build the modules. If the build process will require you to specify the directory with the kernel headers, matching the currently running kernel, for stock Debian kernels this directory is /usr/src/linux-headers-uname, provided by the linux-headers-uname package. Here uname is the output of the uname -r command. If you are building and running your own custom kernels, it is a good idea to keep the original build tree around, as it also can be used for out-of-tree module building.

Αυτό προυποθέτει να έχουμε εγκατεστημένα πακέτα

  • μεταγλωττιστή gcc
  • εργαλεία δημιουργίας ,πχ το make
  • επικεφαλίδων πυρήνα
Για να μπορείς να χτίσεις (build) αρθρώματα-οδηγούς από τον πηγαίο κώδικα θα χρειαστείς τα αρχεία

επικεφαλίδες (σ'αυτά είναι ορισμένες οι συναρτήσεις του πυρήνα) . Για να βρείς ποιό είναι το πακέτο αυτό αρχικά δίνεις

# uname -r        //για να βρεις την έκδοση του πυρήνα 
2.6.18-6-686

και κατόπιν εγκαθιστάς το πακέτο linux-headers-2.6.18-6-686_2.6.18.dfsg.1-22_i386.deb Αυτό το πακέτο περιέχει και τον κατάλογο /lib/modules/2.6.18-6-686/build μέσα στον οποίο θα χτίζονται αρθρώματα (και οδηγοί) αυτού του πηρύνα.

Χρήσιμα[επεξεργασία]