Φόρτωση modules και firmware για broadcom ασύρματες κάρτες

Από Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ
Μετάβαση σε: πλοήγηση, αναζήτηση

Στο άρθρο αυτό περιγράφονται οδηγίες για εγκατάσταση και ρύθμιση μερικών καρτών broadcom. Η υποστήριξη για κάρτες BroadCom δεν είναι πολύ καλή στο GNU/Linux, καθώς η εταιρεία δεν εκδίδει τις προδιαγραφές των καρτών της. Αναλόγως το chipset μπορεί να χρησιμοποιηθεί ο open source, reversed engineered driver, η κάποιος non-free driver me ndiswrapper.


Debian και b43xx open source driver

Ακολουθώντας τα παρακάτω απλά βήματα, μπορεί κάποιος να φορτώσει στο Debian τα modules και firmware της broadcom ασύρματης κάρτας του, και να συνδεθεί σε ένα ασύρματο δίκτυο.

Οι οδηγίες γράφτηκαν για Debian Etch, και χρησιμοποιούν το παλιό όνομα του driver, δηλαδή bcm43xx. Σε νεότερες εκδόσεις έχει μετονομαστεί σε b43 και b43legacy.

Κατέβασμα του firmware

Στην κονσόλα κάνουμε login ως root. Εγκαθιστούμε το πακέτο bcm43xx-fwcutter,το οποίο μας επιτρέπει να εξάγουμε το firmware από binary drivers που έχει δώσει η Broadcom για άλλα λειτουργικά.

# apt-get install bcm43xx-fwcutter

Έλεγχος εγκατάστασης

Θα εμφανιστεί ένα παράθυρο εντολών στην οθόνη μας με το που θα δώσουμε στην κονσόλα την προηγούμενη εντολή. Εκεί επιλέγουμε να φορτώσει τα modules και firmware των broadcom καρτών και πατάμε "Yes". Με την παρακάτω εντολή ελέγχουμε αν όλα έχουν μπει σωστά.

$ ls /lib/firmware

Στον δικό μου υπολογιστή μοιάζει κάπως έτσι

bcm43xx_initval01.fw  bcm43xx_initval07.fw    bcm43xx_microcode4.fw
bcm43xx_initval02.fw  bcm43xx_initval08.fw    bcm43xx_microcode5.fw
bcm43xx_initval03.fw  bcm43xx_initval09.fw    bcm43xx_pcm4.fw
bcm43xx_initval04.fw  bcm43xx_initval10.fw    bcm43xx_pcm5.fw
bcm43xx_initval05.fw  bcm43xx_microcode11.fw
bcm43xx_initval06.fw  bcm43xx_microcode2.fw

Φόρτωση των modules

Τώρα πρέπει να κάνουμε unload και load τα modules που μόλις εγκαταστήσαμε, για να είμαστε σίγουροι πως όλα θα γίνουν όπως πρέπει. Πάμε λοιπόν. Με

modprobe -r bcm43xx

κάνουμε unload και αμέσως μετά με

modprobe bcm43xx

κάνουμε reload.

Έλεγχος configuration

Το τελευταίο βήμα είναι να ελέγξουμε αν το configuration της κάρτας μας είναι σωστό. Με την εντολή

$ dmesg | tail

παίρνουμε πληροφορίες για το αν είναι σωστά configured και initialised η κάρτα μας. Στον δικό μου υπολογιστή μοιάζει κάπως έτσι:

bcm43xx: Chip initialized
bcm43xx: 30-bit DMA initialized
bcm43xx: Keys cleared
bcm43xx: Selected 802.11 core (phytype 2)
ADDRCONF(NETDEV_UP): eth1: link is not ready
SoftMAC: Open Authentication completed with 00:16:b6:b4:1e:e2
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth1: no IPv6 routers present
eth2: link down
ADDRCONF(NETDEV_UP): eth2: link is not ready

Μέχρι εδώ είναι το howto για να φορτώνουμε τα modules και firmware που χρειαζόμαστε για την broadcom κάρτα μας. Από δω και πέρα απλά εγκαθιστούμε ένα appletάκι για να βρίσκουμε και να ενωνόμαστε με ασύρματα δίκτυα.

Εγκατάσταση του applet

Το ακόλουθο applet είναι αρκετά χρήσιμο (παρόλο που είναι σε kde, κάποια άλλα που είναι για gnome δεν έχουν μπει ακόμα στο testing, αλλά και μ'αυτό κάνουμε τη δουλειά μας). Οπόταν, δίνοντας

# apt-get install kwifimanager

κατεβάζουμε και εγκαθιστούμε τον kwifimanager

Ρυθμίσεις kwifimanager

Τώρα θα ρυθμίσουμε τον kwifimanager με τις πληροφορίες του δικτύου μας. Δίνοντας

# kwifimanager

στην κονσόλα ξεκινάμε τον manager. Με το που ξεκινάει πηγαίνουμε στα settings και setάρουμε ένα Configure με τα στοιχεία του δικτύου που θέλουμε. Βάζουμε αν θέλουμε να φαίνεται στο panel μας μετά το κλείσιμο.

Σύνδεση με το δίκτυο

Δίνοντας τέλος ένα

# iwconfig

βλέπουμε σε ποιο eth (ή wlan) βρίσκεται η ασύρματη κάρτα μας. Στον δικό μου υπολογιστή είναι στο eth1. Οπότε δίνουμε

# ifup eth1

Και αυτό ήταν. Κανονικά πρέπει να είμαστε ενωμένοι με το ασύρματο δίκτυό μας!

BroadCom 4328 (MacBook) σε Debian Lenny

Η συγκεκριμένη κάρτα δεν υποστηρίζεται από τον open source driver, οπότε πρέπει να χρησιμοποιήσουμε ndiswrapper.

Οι οδηγίες βασίζονται στο https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff

Κάνουμε blacklist τον open source driver:

# echo "blacklist b43" >> /etc/modprobe.d/blacklist

Εγκαθιστούμε το ndiswrapper:

# aptitude install ndiswrapper-utils

κατεβάζουμε τον non-free driver της Dell:

$ mkdir b44
$ cd b44
$ wget http://myspamb8.googlepages.com/R151517-pruned.zip
$ unzip R151517-pruned.zip

και τέλος:

# modprobe -r b43 b44
# ndiswrapper -i bcmwl5.inf
# depmod -a
# modprobe ndiswrapper
# ndiswrapper -m
# modprobe ssb
# modprobe b44

και τρέχουμε

# ifconfig -a

Τώρα πρέπει να βλέπουμε ένα νέο interface, αυτό της ασύρματης κάρτας (π.χ. wlan0 ή eth1).

Για τη ρύθμιση της ασύρματης σύνδεσης ακολουθούμε τις οδηγίες στο Wireless Networking#Ρύθμιση.

Αν θέλουμε να φορτώνονται τα modules αυτόματα μετά από κάθε επανεκκίνηση, εκτελούμε:

# echo "ndiswrapper\nb44" >> /etc/modules


Μπορούμε τώρα να σβήσουμε το φάκελο b44 που δημιουργήσαμε νωρίτερα.