anapodos έγραψε:
Σε ubuntu 12.04 εγκατέστησα τον πυρήνα 2.6.38 και κάνοντας boot σε αυτόν παρατήρησα πως έχει την έκδοση alsa-1.0.23 (πάνε πακέτο με τους πυρήνες αυτά??)
Ναι, πάνε μαζί. Το υποσύστημα ήχου Alsa είναι μέρος του πυρήνα, ωστόσο αναπτύσσεται ως άρθρωμα. Έτσι, αν επιλέξεις κάποιον πυρήνα Linux, λαμβάνεις και την αντίστοιχη έκδοση Alsa. Ωστόσο, υπάρχει η δυνατότητα να αντικαταστήσεις την Alsa του πυρήνα με μια δικιά σου που έχεις μεταγλωττίσει. Γενικά γίνεται αρκετά εύκολα, ωστόσο αν π.χ. πας να μεταγλωττίσεις μια παλιά έκδοση της Alsa σε νέα έκδοση πυρήνα, είναι πιθανό κάτι μικρό να έχει αλλάξει και να χρειάζεται να κάνεις μικρές αλλαγές στον κώδικα (όπως και στην περίπτωσή σου).
anapodos έγραψε:Αυτό που θέλω να ρωτήσω. Θα έχω κάποιο πρόβλημα αν δουλεύω σε τόσο παλιό πυρήνα?
Όχι, μια χαρά είναι.
anapodos έγραψε:
Τουλάχιστον τώρα ξέρουμε πως δεν τίθεται θέμα έκδοσης πυρήνα για το μικρόφωνο και αν τι μπορώ να κάνω στη συνέχεια?
Υπάρχει τρόπος να επικοινωνήσω με developers του alsa ώστε στο μέλλον να παρέχουν κάποιο fix ή είναι ουτοπικά αυτά που σκεφτομαι?
Μπορείς να επικοινωνήσεις, και είναι κάτι που μέλη του φόρουμ έχουν κάνει ήδη στο παρελθόν.
Για την περίπτωσή σου, αρκεί ένα γράμμα στη λίστα alsa-devel (ψάξε στο διαδίκτυο), με
έγραψε:Θέμα: REGRESSION: Webcam mic for 145f:015b not longer working with 1.0.25 (OK with 1.0.23)
Hi All,
I have a 'Trust Webcam' (USB ID: 145f:015b) that comes with a microphone.
The microphone works with Alsa 1.0.23 but it does not work with the latest Alsa 1.0.25.
Apparently this is a regression.
What shall I do to figure out the source of the problem?
Here are attached my alsa-infos, with Alsa 1.0.23 (working) and 1.0.25 (NOT working).
Thanks!
Βασικά ένα πράγμα που μπορείς να κάνεις (και μπορεί να το προτείνουν), είναι να δοκιμάσεις με διάφορες εκδόσεις της Alsa ώστε να βρεις την έκδοση που δημιούργησε το σφάλμα.
Έτσι, αν είναι εντάξει με 1.0.23 αλλά όχι με 1.0.25, τότε δοκιμάζεις με το ενδιάμεσο, το 1.0.24. Ανάλογα με το αποτέλεσμα, το πρόβλημα είναι είτε πριν το 1.0.24 είτε μετά το 1.0.24. Και δοκιμάζεις ξανά. Αυτό ονομάζεται στα ξένα bisect και η εντολή μέσω git είναι git bisect. Έχει κάποιες τεχνικές απαιτήσεις, ωστόσο είναι εφικτό.