إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

الشامل لتعريف الأجهزة و الكروت.

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • الشامل لتعريف الأجهزة و الكروت.

    السلام عليكم

    اليوم موضوع عن كيفية إيجاد الموديلات الخاصة بالدريفارز و تنصيبها من خلال الكيرنل، و ذلك بسبب كثرة المواضيع التي تبحث عن تعريفات لكروتها و أجهزتها إلخ...

    بداية يجب عليك أن تعرف أن هناك طريقة لليو إس بي و للبي سي أي
    سنوضح الأن ما أعنيه

    لنفرض أن لديك هارد ديسك خارجي أي يعمل من خلال USB

    هذا يعني أن أسلوب التعامل معه سيكون مختلفا عن التعامل مع

    Network Card مثلاَ

    فلكل منهم أسلوب معين و حتى لا تحتار

    كود:
    lspci
    هو لعرض كل الدرايفرز المتصلة عن طريق بي سي أي

    كود:
    lsusb
    هو لعرض الدرايفرز التي تعمل من خلال اليو إس بي.


    لينوكس يتعامل مع كل شيء على أنه ملف حتى الدرايفرز و كل شيء بالنسبة له هو ملف لذا ينبغي عليك أن تعرف مكان الملفاتالهامة فيه و مثلاً ملفات الدرايفرز و ملفات الهارد ديسك إلخ..

    و حتى لا يختلط الأمر على البعض في هذه الجزئية فالمقصود بكلمة " كل شيء في لينوكس ملف" أي أن النظام يتعامل مع كل شيء على أنه ملف، يتعامل مع الإتصال على أنه ملف و مع الهاردديسك على أنه مجرد ملف و مع كل شيء على أنه مجرد ملف، هذا يعني أن ما تعتبره أنت مجرد إتصال يعتبره لينوكس ملفاً .


    ما يهمنا الأن هو التحدث عن الدرايفرز و هو أساس الموضوع

    الأن فلتفرض معي التالي :

    قمت بشراء كارت صوت جديد بدلاً من القديم و التوزيعة لديك لم يكن بها تعريف كارت الصوت الجديد
    للتوضيح أكثر..

    أي توزيعة لينوكس بما فيها اللايف سي دي عند بداية تشغيلها تقوم بجمع معلومات عن الدرايفرز الخاصة بك لتقوم بتنصيبها مع الكيرنل و لذا تجد أن دعم العتاد أسهل بكثير من ويندوز و لكن بعد التنصيب لا تقوم التوزيعة بالبحث عن العتاد بنفسها بل يجب عليك أن تقوم بذلك بنفسك، لذا قد تقع يوما ما في هذا المأزق الحلول كثيرة و لربما تكتشف طريقة بنفسك و لتعتبر يومها أن هذا إنجاز كبير و شاركنا به !.

    نعود لكارت الصوت الذي لم نجد الدرايفر الخاص به موجودا، فما العمل؟

    الحل الأول :

    أغلب التوزيعات الحديثة من توزيعات لينوكس تضع ملفاً أسمه "config.gz" و يوجد بهذا الملف الإعدادات الخاصة بالنواة و هذا الملف غالباً ما يكون في مجلد proc و للتأكد من وجوده قم بتنفيذ الأمر
    كود:
    Guru:~ # ls /proc/config.gz
    [COLOR="Red"]/proc/config.gz[/COLOR]
    إن وجدت الملف فهذا يعني أن كل شيء على ما يرام حتى الأن، و إن لم تجده فلا تيأس فسنجده في مكان آخر و هذا المكان قد يختلف عن ما لدي و عن نفسي فقد وجدته في ملف /boot
    كود:
    Guru:~ # ls /boot/config*
    /boot/config-2.6.16.13-4-smp
    هذا ملف الإعدادات للكيرنل و الذي هو نفس محتويات الملف الموجود ب/proc/config.gz، الفرق هنا أن هذا الملف يمكن التعديل عليه و عمل إعادة تأهيل للنواة و هذا لا يهم الأن المهم هو أنك ستجد الملف في مكان من التاليين :
    كود:
    /proc
    
    /boot
    الأن ماذا بعد أن وجدت هذا الملف؟

    الأن سأفرض أنّك تعمل بالLive cd أو بتوزيعة آخرى على الجهاز المطلوب تعريف كارت الصوت له، ستقوم الأن بنقل ملف إعدادات النواة إلى مجلد النواة لديك، و عندي أنا على سوزي يوجد في
    كود:
    Guru:~ # ls /usr/src/
    linux  linux-2.6.16.13-4  linux-2.6.16.13-4-obj  linux-2.6.19.2  linux-obj  packages
    الأن كل ما عليك أن تختار النواة التي تريد العمل بها، و طبعاً يفضل أن تعمل دائماً على آخر إصدار و أنا أخترت أحدث إصدار للعمل به، الأن قم بتنفيذ الأوامر التالية :

    كود:
    uru:/usr/src # cd linux-2.6.19.2/
    Guru:/usr/src/linux-2.6.19.2 # cp /boot/config-2.6.16.13-4-smp .config .
    الذي قمنا به هو أني قمت بنقل ملف الإعدادات إلى مجلد النواة و قمت بتسميته بـ .config . و الأن ستقوم بعمل إعادة تأهيل للنواة أو بمعنى أوضح recompile .

    كود:
    make menuconfig
    و من ثم سنقوم بإختيار "Load an Alternate Configuration File"

    سيظهر لك التالي :
    كود:
     Enter the name of the configuration file you wish  │
                               │  to load.  Accept the name shown to restore the     │
                               │  configuration you last retrieved.  Leave blank to  │
                               │  abort.
    الأن قم بوضع أسم ملف الإعدادات ألا و هو : .config

    و من ثم فلتكمل تنصيب النواة و يوجد مواضيع عديدة تشرح التنصيب أبحث عنها و سأذكر الخطوات دون تفصيل :

    كود:
    make "or make bzImage * "  
    
    make modules
    make modules install
      make install"**
    "

    * الأمر make bzImage هو الdefault للأجهزة التي تعمل بمعالج i386

    ** لا يعمل هذا الأمر في كل التوزيعات و يمكن الإستغناء عنه بنسخ ملف الimage و تعديل ملف menu.lst الخاص بgrub يدوياً، عموما كما قلت إن كنت لا تعرف كيف تنصب الكيرنل فهناك مواضيع عديدة تشرح ذلك.

    الأن بعد الإنتهاء من الخطوات السابقة ستجد أن كارت الصوت سيعمل و التعريف الخاص به موجود، لكن هذه الخطوات قد تأخذ وقتاً طويلاً خاصة لمن لا يريد إعادة بناء النواة أو بناء موديلات عديدة، أو لا يوجد لديك مثلاً live cd أو أنك لم تجد ملف config للنواة أن أنك لا تروقك هذه الطريقة عموما! فما العمل؟ تابع معي.


    الحل الثاني

    الأن أنت تبحث عن حل لا يكلفك مشقّة البحث عن ملف النواة أو عن أخذ وقت طويل ما يقارب الساعة لبناء النواة، الحل يكمن في مدى معرفتك بملفات اللينوكس أو الunix-like عموماً.

    على أي حال حتى لا تشعر بنوع من التعقيد أحفظ التالي :

    ملف /sys/class هو الذي يوجد به كل الموديلات لكل أنواع الكروت و يوجد به تفصيلات عن الكروت فمثلاً ستجد ملف أسمه net و هو مسؤول عن كارت الشبكة، و ستجد ملف أسمه usb_devices و هو مسؤول عن اليو إس بي لديك و مثلاً ستجد ملف sound و هو مسؤول عن كارت الصوت و ما يتعلق به.

    كل أسم من هذه الملفات يعبر عنه و عموماً ذكرت لك أهم الملفات التي ستحتاجها و في مثالنا اليوم فنحن نبحث عن كارت صوت إذن سيكون إستخدامنا لملف sound .
    كود:
    cd /sys/class/sound
    الأن ستجد أمامك ملفات عديدة فلا تصدم من ذلك أو تشعر بالتعقيد مع قراءة هذه الورقة مرتين ستشعر أنه لا يوجد أي نوع من التعقيد، ما ظهر لي في توزيعتي هو التالي :
    كود:
    Guru:/sys/class/sound # ls
    adsp  audio  controlC0  dsp  mixer  pcmC0D0c  pcmC0D0p  pcmC0D1c  pcmC0D2c  pcmC0D2p  seq  timer
    لا إرادياً عندما رأيت كلمة audio و أنا أبحث عن كارت الصوت وجدت نفسي أدخل له ، أرأيت أن الأمر سهل؟ أنت ببساطة تبحث عن تعريف لكارت الصوت إذن فأنت تبحث عن audio، الأن ماذا بعد ذلك؟
    كود:
    Guru:/sys/class/sound # ls audio
    dev  [COLOR="Teal"]device[/COLOR]  uevent
    عند رؤيتك لكلمة device و رأيت أنها تشير إلى link آخر فهذا يعني أنك وصلت للمراد و أقتربت من النهاية الأن قم بتنفيذ الأمر التالي :
    كود:
    basename `readlink /sys/class/sound/audio/device/driver/module`
    هذا الأمر قمنا بإستخدام basename معه وهي تعني أن تتجاهل كل الdirs و أن تظهر النهاية فقط، يعني على سبيل المثال لو قمت بتنفيذ
    كود:
    basename /root/linux-2.6.19.2
    linux-2.6.19.2
    ظهر لك أسم الملف الأخير دون الملف السابق له أو الذي هو بداخله، عموماً هذا الأمر لتسهيل عملية معرفة أسم الموديل فقط و يمكنك أن لا تستخدمه و إن كنت أحبذ ذلك ، الأن الأمر بات واضحاً فقد قمنا بعرض قيمة الsymbolic link من خلال الأمر readlink .

    الأن نعود للأمر و ننفذه :
    كود:
    Guru:/sys/class/sound # basename `readlink /sys/class/sound/audio/device/driver/module`
    snd_hda_intel
    `
    ما ظهر لك هو snd_hda_intel و هو أسم كارت الصوت الخاص بي أنا قد لا يظهر لك أنت طبعاً لأنك قد تكون مستخدماً لكارت صوت آخر.

    الأن نذهب إلى مجلد الكيرنل لدينا :
    كود:
    / cd usr/src/linux-2.6.19.2
    و ننفذ الأمر التالي :
    كود:
    find -type f -name Makefile | xargs grep -i "snd_hda_intel"
    ما سيظهر لك هو التالي :
    كود:
    Guru:/usr/src/linux-2.6.19.2 # find -type f -name Makefile | xargs grep -i "snd_hda_intel"
    ./sound/pci/hda/Makefile:obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o snd-hda-codec.o
    ما يهمنا هو ما بعد كلمة CONFIG_ و هو SND_HDA_INTEL و أخيراً! هذا هو أسم موديل كارت الصوت بالنواة، كان من الممكن أن لا يتطابق مع الأسم الذي ظهر لنا من خلال أمر "basename `readlink /sys/class/sound/audio/device/driver/module`" أي إنها مصادفة و يجب عليك أن تكمل الطريقة لأخرها مثلما فعلنا هنا.

    ملاحظة في الأمر


    find -type f -name Makefile | xargs grep -i "snd_hda_intel"

    قمت بوضع snd_hda_intel، قم أنت بإستبدال هذه القيمة بما سيظهر لك من ناتج أمر " basename `readlink /sys/class/sound/audio/device/driver/module`"

    الأن أوشكت على الإنتهاء قم بتنفيذ الأمر التالي في مجلد النواة

    make menuconfig

    و من ثم قم بالضغط على زر "/" أو حرف "ظ" لمن لديه كيبورد عربي، سيظهر لك نافذة للبحث الأن أكتب فيه ما ظهر لك ألا وهو

    SND_HDA_INTEL

    و أضغط Enter سيظهر لك التالي :

    │ Symbol: SND_HDA_INTEL [=m] │
    │ Prompt: Intel HD Audio │
    │ Defined at sound/pci/Kconfig:480 │
    │ Depends on: !M68K && SOUND!=n && PCI && SND │
    │ Location: │
    │ -> Device Drivers │
    │ -> Sound │
    │ -> Advanced Linux Sound Architecture │
    │ -> Advanced Linux Sound Architecture (SND [=m]) │
    │ -> PCI devices │
    │ Selects: SND_PCM
    الأن أنت تعرف مكان هذا الدرايفر من خلال الخريطة التي أتضحت لك ، ستذهب على الترتيب إلى التالي :

    1- Device Drivers
    2- Sound
    3- Advanced Linux Sound Architecture
    4- Advanced Linux Sound Architecture (SND [=m])
    5-PCI devices

    ومن ثم ستجد Intel HD Audio قم بالتعليم عليها و كما تلاحظ معي فإن Intel HD Audio هو الأسم الذي ظهر بجوار كلمةPrompt و هو ما يجب أن تفعّله من النواة .

    الأن فلتقم بحفظ ما فعلت في النواة و من ثم

    كود:
    make modules 
    make modules_install
    make install
    reboot -n
    ثم أستمّتع بتشغيل الصوت لديك!



    هناك طرق أخرى كما أشرت في بداية الموضوع يمكنك إكتشافها، كما أن هناك طرق لمن لا يمتلك أي توزيعة أخرى و يبحث عن موديل للنواة و سأتطرق لشرح هذا الأمر في موضوع منفصل و لكن في قسم الخوادم لأنه سيكون مفيداً أكثر لمدراء الخوادم، و حتى ذلك الحين أرجو أن لا تيّأسوا من قراءة الموضوع مراراً و تكراراً حتى تتقن الأمر، مع العلم بأن هذا المقال أو الورقة مهمة جداً لكل من يبحث عن كيفية التعامل بإحتراف مع الموديلات و النواة و هو للمحترفين بصفة خاصة و للجميع بصفة عامة .


    يحق لأي شخص نقل الموضوع و تعديله و حتى يمكنه وضع أسمه مكان أسمي و فعل أي شيء يريده حتى لو قال أنه هو من أخترع النواة لا يهم كل ذلك.. المهم هو أن ينتشر الموضوع.


    ملاحظة أخيرة: كل ما جاء في الموضوع إجتهاد شخصي من خلال التجربة على النواة و قراءة مستنداتها و هو موضوع لم أراه ولو حتى باللغة الإنجليزية .


    و السلام ختام .
    التعديل الأخير تم بواسطة sAFA7_eLNeT; الساعة 28-01-2007, 04:17 PM.
    My-LiFe My Blog
    أنتظروا ثلاثة مفاجئات قريباً..
    I'm GONE !...WITHOUT h3h3!

  • #2
    مبدع يالغالي
    بارك الله فيك
    اتفضل:

    La vie est complexe car nous avons tous une partie réelle et une partie imaginaire....

    تعليق


    • #3
      قوي جدا جدا
      مشكور اخي سفاح على الموضوع الرائع.
      تحياتي.

      تعليق


      • #4
        موضوع ممتاز و متميز و جميل من أخونا السفاح

        مشكور أخي الكريم على هكذا موضوع مهم

        وفقنا الله و إياك لما يحب و يرضى
        لا تصطد لي سمكة ، بل علمني كيف اصطاد سمكة :wink:

        تعليق


        • #5
          بارك الله فيك ............ موضوع جميل جدا.. وبصراحه نحن نفتقر الى هذه المواضيع ...
          GCS

          تعليق


          • #6
            تسلم

            صحيح انك Guru

            نرجو منك المزيد و انشأ الله يضعها في ميزان اعمالك
            لابد ان نسأل لماذا......
            لابد ان نبحث عن أجوبة.....
            لابد ان تكون متوافقة مع العقل و الواقع.....
            الحمد لله الذي منحنا هذه النعم.

            تعليق


            • #7
              ياسلام عليك

              انا عندي مشكلة بكرت الشاشة لم يعمل تحت فيدورا ولا اعلم السبب وكل ادوات الاعداد برضوا لا تعمل وفكرت ان ازيله من الجهاز الحالي وتركيبه على جهاز اخررر

              لكن ساقوم بتطبيق هذا الدرس عليه الان ، لعله يكون هو الحل

              شكرا لك وساخبركم بالنتائج

              تعليق


              • #8
                رائع رائع رائع موضوع رائع و أنت أخي أروع ، مشكور و الله يجعل عملك و مجهودك هذا في ميزان حسناتك يوم نلقاه .
                ننتظر المزيد إن شاء الله و بالتوفيق .
                التعديل الأخير تم بواسطة محمد لخياري; الساعة 29-01-2007, 12:30 PM.




                تعليق


                • #9
                  تشكراااات ليكم كلكم و أتمنى تكونوا أستفدتوا فعلاً.
                  My-LiFe My Blog
                  أنتظروا ثلاثة مفاجئات قريباً..
                  I'm GONE !...WITHOUT h3h3!

                  تعليق


                  • #10
                    أخي قمت بعمل ذلك اﻷمر و طلعت لي قائمة اﻷجهزة و من ضمنها سطر كرت الدجتال
                    كود:
                    02:02.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card (rev 02)
                    و لكن عند عمل استعراض لمجلد dvb نجده خالي تماماً ، و بالمناسبة هذا الكرت يتعرف ككرت شبكة في الوندوز ، و عندما عرض محتوى مجلد net ظهرت النتيجة التالية :

                    eth2 lo sit0

                    كمجلدات

                    فمالعمل ؟

                    و شكراً مسبقاً
                    لا تصطد لي سمكة ، بل علمني كيف اصطاد سمكة :wink:

                    تعليق


                    • #11
                      ممتاز
                      بارك الله فيك يجعله فى موازين اعمالك
                      بجد هذا الموضوع قوى جدا جدا
                      التعديل الأخير تم بواسطة Linux Obsessed; الساعة 29-01-2007, 10:31 AM.
                      http://img197.imageshack.us/img197/9...66319499rr.gif

                      lion_heart_300 previously

                      تعليق


                      • #12
                        السلام عليكم ورحمة الله وبركاته ...
                        صراحة أخوي سفاح هذا من أرقى المواضيع التي قرأتها الى الآن على الأنترن ت ... فلم أرى موضوعا بهذا القوة وهذا أمرا يحسب لك ... شاكرين لك جهدك فيه ونتمنى أن ﻻ يكون هذا خاتم كتاباتك فعلى ما يبدو لديك الكثير والكثير ...

                        سلام عليكم .. .
                        إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                        إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                        ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                        فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                        إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                        ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                        وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                        [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                        تعليق


                        • #13
                          ارجو من الاداره تثبيت الموضوع ونقله للويكي لتعم الفائده .. لانه موضوع مهم جدا..
                          GCS

                          تعليق


                          • #14
                            بصراحة............ لا تعليق!! موضوع من الآخر.......... صح!!!
                            V.I.P

                            (وَاصْبِرْ فَإِنَّ اللَّهَ لَا يُضِيعُ أَجْرَ الْمُحْسِنِينَ)
                            هود 115

                            Linux is user-friendly, but it happens to be selective about its friends

                            "احذر أن تكون مثل البقية تأخذ وﻻتعطي ، فلن يكون هناك مصادر تعليمية على الشبكة، ﻻأكثر الله من أمثالهم"


                            مجتمع لينوكس العربي: وقف لله تعالى وصدقة جارية، فلا بارك الله في كل من يحاول الإساءة إليه في الظاهر أو في الخفاء...


                            تعليق


                            • #15
                              sAFA7 ممتاز الصراحه ... وياريت لاتحرمنا من مواضيعك ^__^
                              Programming-Fr34ks[dot]NET
                              Ma Weblog
                              ابدأ بتعلم Python | Ruby
                              كتاب البايثون متوافر الآن
                              لا اتواجد بهذا المنتدى ... للإتصال

                              تعليق

                              يعمل...
                              X