אחד אובנטו, שני כרטיסי קול...

| | | |
המשורר המנוח בנימין גלאי המשיל פעם לקיחת הלוואה ל"עשיה במכנסיים": בהתחלה - הקלה, חמים ונעים. אחר כך - צורב וקר, ולא נעים. כרטיס קול מובנה יכול לפעמים ליצור מצב דומה. (ראו למשל: "לא כל הדרייברים נבראו שווים"). הוא מגיע עם לוח האם, חוסך כסף ומפנה חריץ – עד שמתברר שיש בו מגבלות המאלצות להשתמש בכרטיס אחר. ברגע זה הוא נהפך למטרד: אי אפשר לשלוף אותו ואפילו ניטרול שלו בביוס לא עוזר תמיד. לכן מתעורר הצורך לדעת איך לחיות עם שני כרטיסי קול במחשב אחד.

איך לבחור מי משניהם פועל, על מי שולטים בקרי עצמת הקול וכיוצא באלו? ברוב ההפצות מספיק להקיש בקונסול alsaconf ואשף קטן וצנוע יעשה עבורינו את המלאכה. ב-ubuntu האשף הזה אינו קיים ויש להשתמש באמצעים אחרים.

ראשית חכמה יש לוודא שסוג כרטיסי הקול המותקנים מוכר:
sudo lspci | grep audio
שהניב אצלי:
Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio Controller
Multimedia audio controller: Yamaha Corporation YMF-724F [DS-1 Audio Controller] (rev 03)

הראשון הוא הכרטיס המובנה, והשני הכרטיס הנוסף. שנית יש לברר איזה מודולי-קרנל שייכים לכל אחד מהם על ידי הפקודה:
sudo lsmod | grep snd-*
שתניב, במקרה שלעיל:
snd_ymfpci             56768  0

ועוד, וגם
snd_atiixp             18596  0
ועוד. נרשום לפנינו איפה כי המודול העיקרי של הברטיס המובנה הוא snd-atiipx והמודול הראשי של הכרטיס הנוסף הוא snd-ymfpci. זוג הפקודות הבאות "יכבה" את הכרטיס המובנה ( 0) ו"ידליק" את הכרטיס הנוסף:
sudo /etc/init.d/alsa  stop    0
sudo /etc/init.d/alsa restart 1

ניתן גם ל"השעות" כרטיס בלבד על ידי הפקודה:
sudo /etc/init.d/alsa  suspend    0
ולהחזירו לפעילות על ידי:
sudo /etc/init.d/alsa  resume    0
לרוע המזל, לעיתים קרובות מדי זה לא עובד. במקרים כאלה יש להשתמש בפקודה:
sudo /etc/init.d/alsa force-unload 0
המסיר בחוזק יד את כל המודולים של כל כרטיסי השמע ואיתם את בקר העוצמה מהפנל. עתה ניתן להשתמש בפקודה:
modprobe snd-ymfpci
שתחזיר את המודולים של הכרטיס הרצוי בלבד. הפקודה באה מחזירה את שרת השמע (יש עכשיו רק אחד, ולכן מספרו 0) לשמישות וניתן להתחיל להאזין דרכו:
sudo /etc/init.d/alsa restart 0

ועוד הערה לסיום: שרת הצליל באובונטו הוא esound. כדי להאזין למוסיקה יש לוודא שהוא בשמוש. למשל, ב MPlayer יש לערוך את הקובץ:
~/.mplayer/gui.conf
כך שהשורה המתחילה ב ao תראה כך:
ao=”esd”
האזנה ערבה!

* קישור ישיר לדף זה: linmagazine.co.il/ubuntu/sml/soundcard

אפשרויות לתצוגת תגובות

בחרו באפשרות התצוגה הרצויה, ולחצו על "שמור הגדרות".

Thanks. Apparently it's also relevant for Debian

I had a similar problem (with different card types).

Apparently your solution should work also for Debian.

The problem I see with this problem (without testing it)
is that the settings are volatile - i.e. they won't
survive a reboot.

The "brute-force" solution I found for the problem was to force the loading of the "right" card
in /etc/modules.
(I also needed the right card to be "0" for Skype,
which still uses OSS and the "default" card).

I don't like this solution but at least I don't
have to handle the card setup every time I reboot.

I'd be glad to hear of improvements.