wifi μυστήριο
Θοδωρής Λύτρας
thlytras at gmail.com
Wed Jul 16 02:13:45 EEST 2008
Σας έχω ένα μυστήριο με πολλαπλές προεκτάσεις, σχετικό με wifi...
Όσοι ενδιαφέρονται ας βοηθήσουν να το λύσουμε!
Ζητώ συγνώμη για το μέγεθος του email, αλλά είναι μεγάλη και πολύπλοκη
ιστορία, και θέλω να σας δώσω όλες τις πληροφορίες...
Long story short, προσπαθώ να κάνω μια wifi κάρτα PCMCIA (Edimax EW-7101PCG),
η οποία τρέχει με τον prism54 driver, να τρέξει στον υπολογιστή του κολλητού
μου. Αυτός είναι ένα παλιο φορητό Acer Aspire 1356 (με AMD mobile Sempron) ο
οποίος τρέχει openSUSE 11.0.
Εδώ αρχίζουν τα μυστήρια. Ο φορητός αυτός υποτίθεται πως δεν έχει δικό του
wifi. Στα windows που έφερε (πριν σβηστούν για να μπει το openSUSE) δεν
υπήρχε καμμία συσκευή που να θυμίζει wifi. Όμως το openSUSE βρίσκει μια
συσκευή wifi, την οποία ονομάζει wlan0 (και υπάρχει και ένα wmaster0), και η
οποία φορτώνει το kernel module rtl8180. Χωρίς να έχω φορτώσει εγώ την Edimax
στο PCMCIA slot, ο NetworkManager ανιχνεύει τη συσκευή αυτή και μάλιστα κάνει
αυτόματα scan και βρίσκει το ασύρματο δίκτυό μου! Όμως αδυνατεί να κάνει
associate με το access point... Σκοτώνω τον NetworkManager, και δοκιμάζω με
τον παραδοσιακό τρόπο: iwlist wlan0 scan, βρίσκει το access point. Δίνω
dhclient wlan0, δε παίρνει IP. Το περίεργο είναι οτι δίνω σε μια άλλη κονσόλα
tail -f /var/log/messages ενώ κάνω τα ανωτέρω, και δε μου βγάζει κάποιο
μήνυμα που να παραπέμπει σε κάποιο σφάλμα. Πάντως θέμα firmware δεν υπάρχει,
γιατί βρήκα κάπου στο internet οτι το rtl8180 kernel module δε χρειάζεται
κάποιο firmware.
Πάει αυτό, βάζω τώρα στο PCMCIA slot την κάρτα Edimax. Ήδη έχω κάνει τη
σχετική μου μελέτη στο δίκτυο, και έχω βάλει όλα τα firmware που ενδεχομένως
χρειαστούν στο /lib/firmware (isl3886, isl3890, κλπ). Επίσης γνωρίζω οτι
υπάρχουν δύο drivers γι' αυτή την κάρτα, ο prism54 (fullmac) και ο p54pci
(softmac) που δυστυχώς δε γνωρίζω τι διαφορά έχουν. Το opensuse έχει
blacklisted τον prism54, οπότε πάω με τα νερά του και βάζω την κάρτα, ενώ
παρακολουθώ τα μηνύματα του πυρήνα:
pccard: CardBus card insterted into slot 0
PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:02:00,0[A] -> Link [LNKBZ] -> GSI 5 (level,low)->IRQ5
PCI: Setting latency timer of device 0000:02:00.0 to 64
p54: LM86 firmware
p54: FW rev 2.7.0.0 - Softmac protocol 4.1
phy1: Selected rate control algorithm 'pid'
phy1: hwaddr 00:50:fc:ba:97:02, isl3890
ifup: interface 'wmaster0' is a wlan helper interface. Exiting.
wlan0 renamed to wlan1
udev: renamed network interface wlan0 to wlan1
Δίνω ifconfig wlan1 up, δε μου βγάζει κάποιο μήνυμα λάθους. Όμως στα μηνύματα
του πυρήνα μου βγάζει:
phy1: tx overflow
Και στη συνέχεια δοκιμάζω iwlist wlan1 scan και μου λέει "no scan results".
Είδα πάντως στο δίκτυο και αυτό:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/224579
με βάση το οποίο συμπέρανα οτι η συγκεκριμένη κάρτα ίσως να μη δουλεύει με το
p54pci, αλλά με το prism54. Έτσι δοκίμασα να κάνω blacklist το p54pci
και "un-blacklist" το prism54. Αφού έδωσα κι ένα modprobe -r p54pci,
ξαναέβαλα την κάρτα στο PCMCIA slot. Στα μηνύματα του πυρήνα δείχνει να
φορτώνει κανονικά το firmware, και μου δημιουργεί ένα device με όνομα eth1.
Δίνω ifconfig eth1 up, και ιδού τι μου βγάζει ο πυρήνας:
eth1: timeout waiting for mgmt response 25, triggering device
(το ανωτέρω πολλές φορές)
eth1: mgt_commit_list: failure, oid=ff020003 err=-110
eth1: mgt_commit: failure
prism54: Your card/socket may be faulty, or IRQ line too busy :(
και το interface δεν ανεβαίνει. Φυσικά δεν μπορεί και να κάνει scan το
ασύρματο δίκτυο.
Παίρνω την καρτούλα και τη δοκιμάζω στο δικό μου laptop, που τρέχει sidux,
mint και opensuse 11.0. Στο sidux με το prism54 η κάρτα δουλεύει άψογα (ως
eth1). Δοκίμασα και με το p54pci αλλά δεν δούλεψε. Στο opensuse επίσης
δούλεψε, και συνεργάστηκε κανονικά με τον NetworkManager. Το περίεργο είναι
οτι στο opensuse δουλεύει με το p54pci! Στο mint δε το δοκίμασα.
Επομένως έχουμε μια κάρτα που με τον ένα ή με τον άλλο τρόπο δουλεύει σε έναν
υπολογιστή, αλλά δε δουλεύει στον άλλο (στο Acer του κολλητού μου). Τι
διαφορετικό έχει αυτός ο άλλος? Ένα μυστηριώδες εσωτερικό wifi το οποίο δε
ξέραμε καν οτι υπήρχε, το οποίο βρίσκει το access point αλλά για άγνωστο λόγο
δεν κάνει associate, και το οποίο υποπτεύομαι οτι με κάποιο τρόπο κάνει
conflict με το δίαυλο PCMCIA. Να προσθέσω οτι δοκίμασα να κάνω blacklist το
module rtl8180, αλλά δεν άλλαξε κάτι. Δοκίμασα την παράμετρο irqpoll στον
πυρήνα, αλλά επίσης δεν άλλαξε κάτι. Και ακόμη να προσθέσω οτι το wireless
USB dongle που έχω (Linksys WUSB54GC που παίζει με driver τον rt73) παίζει
μια χαρά στο Acer.
Κάτι βρωμάει, αλλά δε ξέρω τι. Έχει κανείς καμμία ιδέα για να λύσουμε το
μυστήριο?
Ευχαριστώ προκαταβολικά,
Θοδωρής
--
"Beauty is transitory"
"Beauty survives"
- Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
by Theodore Lytras <thlytras at gmail.com>
More information about the Linux-greek-users
mailing list