Προς το περιεχόμενο

Load Module στον Kernel


spymix

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα συμφορουμίτες............

 

Το πρόβλημα είναι το εξής: Μετά από πρόσφατο Compile του Kernel 2.6.16.16 δεν δουλεύει η Wireless....

 

Πιο Συγκεκριμένα:

 

Στον παλιό kernel η κάρτα δούλευε... Χρησιμοποιώ Ubuntu Dapper Drake 6.06 beta, me kernel 2.6.15-21-386....

 

H wireless: MSI (micro-star International) Wireless 11G cardbus CB54G2

(έχω και MAC K S/N αν νομίζετε ο θα σας βοηθήσουν :) )

 

Courses of Action:

 

Στον παλιό Kernel:

 

χωρίς να είναι συνδεδεμένη η κάρτα δίνω lsmod > a

 

μετά την συνδέω και δίνω lsmod > b

 

μετά diff a b και βλέπω ότι η μόνη διαφορά είναι ένα (καταραμένο) module rt2500

 

με το ίδιο ακριβώς configuration (oldconfig από τον προηγούμενο kernel κλπ κλπ κλπ) το rt2500 υπάρχει στον φάκελο:

/lib/modules/2.6.15-21-386/kernel/drivers/net/wireless/rt2500/rt2500.ko

 

στο :/lib/modules/2.6.16.16/kernel/drivers/net/wireless/δεν υπάρχει rt2500

 

Troublshooting (αποτυχημένο... :( )

 

1. modprobe rt2500.ko (το module αυτό δεν υπάρχει...)

 

2. copy paste το module από τον 2.6.15.-21-386 kernel στο:

/lib/modules/2.6.16.16/kernel/drivers/net/wireless/rt2500

έφτιαξα εγώ τον φάκελο και το έβαλα μέσα όπως ακριβώς είναι και στον παλιό kernel...

 

μετά sudo depmod -a

 

και modprobe rt2500.ko (αυτήν την φορά λέει ότι το module δεν μπορεί να το φορτώσει γιατί είναι σε άγνωστο format.... μα τί λέει? το ίδιο format δεν είναι?)

 

 

Παιδιά καμμιά ιδέα για το πώς θα κάνω την wireless να δουλέψει ή για το πώς θα φορτώσω αυτό το module?????????????

 

Προτάσεις του τύπου γύρνα στον παλιό kernel δεν γίνονται δεκτές :):):) δεν τα παρατάμαι έτσι εύκολα :-p )

 

thanks a lota guys............

Δημοσ.

Φρόντισε η version του gcc που είχες όταν έκανες compile τον kernel 2.6.16 και αυτή που έχεις τώρα που πας να φορτώσεις το module να είναι ίδια.Αν όχι recompile τον kernel και δοκίμασε πάλι.

Δημοσ.

όχι η ίδια είναι.... Δεν την έχω αλλάξει...

 

αυτό που φαντάζομαι εγώ είναι ότι έχουν βγάλει αυτό το module από τον νέο κερνελ....

 

Σε αυτήν την περίπτωση τί κάνω????

Δημοσ.

Λογικό είναι, όταν αλλάζεις kernel, να χρειάζεται να ξαναφτιάξεις τα modules. Γι'αυτό δε σου δουλεύει το module από τον προηγούμενο kernel.

Βεβαιώσου κατ'αρχήν (make menuconfig) οτι όντως έχεις επιλέξει τον οδηγό της κάρτας να γίνει compiled ως module ή ως builtin στον πυρήνα.

Επίσης κοίταξε μήπως έχει αλλάξει το όνομα του module στη νέα έκδοση του πυρήνα.

Δημοσ.

το configuration είναι ακριβώς το ίδιο και στους 2 kernels (το έκανα με oldconfig και για να δω άμα τελικά θα την αναγνωρίσει δεν πείραξα τίποτα άλλο...)

 

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

 

Δεν υπάρχει κανένας τρόπος να πάρω το Module από το lib του παλιού kernel και να το περάσω στον καινούριο, ως module πάλι???

Δημοσ.

Δε νομίζω να είναι λογικό από τη στιγμή που υπάρχουν drivers σε κάποια έκδοση ενός πυρήνα να τους βγάλουν στην επόμενη, εκτός και πρόκειται για απαρχαιωμένο hardware.

Υπάρχει και η περίπτωση να μην υπήρχε ούτε στην προηγούμενη έκδοση του πυρήνα (όπως γίνεται και με άλλους drivers) και γι'αυτό δεν υπάρχει και σε στη νέα που έαβλες.

Σ'αυτή την περίπτωση πας στο http://sourceforge.net/projects/rt2400 κατεβάζεις το πακέτο και κάνεις compile εκ νέου το module.

 

Τώρα για το αν μπορείς να χρησιμοποιήσεις το παλιό δεν ξέρω.

Δημοσ.

ΩΩΩΠ Σωστός ο παίχτης.... με σώζεις τώρα....

 

Για να κάνω compile το module είναι η γνωστή διαδικασία

 

./configure

make

sudo make install

 

η χρειάζεται τίποτα ιδιαίτερο ώστε να το αναγνωρίζει ο Kernel και να το φορτώνει αυτόματα....

 

Σε ευχαριστώ πολύ φίλε μου....

Δημοσ.

Λογικά, μέσα στο πακέτο που θα κατεβάσεις θα υπάρχει κάποιο README ή INSTALL αρχείο κειμένου με οδηγίες.

Συνήθως όμως ναι, έτσι είναι:

>
./configure
make
make install

Λογικά θα τοποθετήσει το module στο σωστό μέρος, βλ /lib/modules/2.6.16.16/kernel/drivers/net/wireless/...

και κατά την εκίνηση θα φορτώνει αυτόματα το module. Αλλιώς το βάζεις εσύ σε ένα script εκκίνησης.

Δημοσ.

το να το φορτώνει ο Kernel μόνος του μόνο όταν θα το χρειαστέι δεν υπάρχει περίπτωση να γίνει με κάποιο τρόπο???

 

(Καλά δεν με χαλάει και έτσι, δεν κάνω τον ψείρα τώρα απλά για να μαθαίνω ρωτάω...)

 

Όπως και να έχει φίλε μου σε ευχαριστώ πολύ... Να σαι καλά...

Δημοσ.

Ούτε εγώ ξέρω, αλλά υποθέτω πως γίνεται.

Όταν φτιαξεις το module και πριν βάλεις την κάρτα (και φορτώσεις είτε αυτόματα είτε χειροκίνητα το module) ως root από κονσόλα δώσε

>
# tail -f  /var/log/messages

Μετά βάλε την κάρτα και δες τα μηνύματα που εμφανίζονται. Λογικά θα φορτώνεται μόνο του.

Παρακαλώ, δεν κάνει τίποτα.

Δημοσ.

@spymix: Το πιθανότερο είναι ότι υπήρχε στον προηγούμενο πυρήνα επειδή το είχαν βάλει οι τύποι του Ubuntu. Ο νέος σου πυρήνας υποθέτω ότι είναι vanilla (δηλαδή το επίσημο kernel tree), οπότε να περιμένεις ότι θα λείπουν αρκετά πράγματα ενδεχομένως σε σχέση με αυτά του προηγούμενου πυρήνα ;-)

Δημοσ.

Εντέλει όλοι δίκιο είχαμε...

 

Το module δεν υπήρχε στον πυρήνα που κατέβασα αλλά το είχαν βάλει οι τύποι του Ubuntu...

 

Όντως το rt2500 module ήταν αυτό που ήθελα για να αναγνωριστεί η κάρτα μου και υπάρχει στο πρώτο site που δίνει ο φίλος ο ikaros2 μαζί με ένα πολύ καλό HowTo για να το περάσεις...

 

Και όντως το Module φορτώνεται μόνο του (αυτόματα) και δεν χρειάζεται να το φορτώνεις εσύ κάθε φορά που θα βάζεις την wireless στο pc....

 

Σας ευχαριστώ όλους παιδιά....

 

See You ;)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...