All But Reality

Imagine a catchphrase here

Simple template. Background and Customization by Shihab Elagib. Powered by Blogger

April 29, 2015

نظرية الـTroubleshooting، الجزء الأول.

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

فما بالك بكيفية اصلاحها ان اصابها عطل ما....


توضيح: النص ادناه يضع في الاعتبار الحواسيب الشخصية (PC) بصورة رئيسية. بعض ما ذكر ادناه قد ينطبق على صور الحواسيب المختلفة الاخرى. 
توضيح اخر: النص ادناه ليس مجموعة من الارشادات لصيانة الاجهزة بقدر ما هو مجرد حديث غير معمق عن بعض المفاهيم والطرق المستخدمة، والكثير منها مجرد عادات أتبعها شخصيا قد لا تكون الأسهل أو الاكثر كفاءة.

الحواسيب الشخصية -كأي آلة معقدة اخرى يمكن صيانتها- مصممة على هيئة وحدات (فيما يعرف بالـmodular design) سواء على صعيد العتاد (هاردوير) او البرمجيات (سوفتوير). هذه الخاصية تجعل معرفة اسباب الاعطال في الحواسيب عملية بسيطة لا تحتاج في غالب الامر سوى لبعض التفكير المنطقي، القليل من البحث العلمي وشيء من العقلانية.
او ما يعرف في الانجليزية بالـTroubleshooting.

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

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

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


من السبل الأخرى المتبعة خصوصا في المكونات الفرعية (جميع المكونات عدا اللوحة الام) هي تجريبها في بيئة اخرى (بلغة اخرى: جهاز مختلف) لا تعاني من ذاك العطل تحت السؤال. في هذه الحالة يجب الحذر في التعامل مع نتائج مثل هذه التجربة، نسبة لأنها لا تأخذ في الاعتبار الفروقات في بيئة العمل للمكونات.
خذ كمثال الذواكر الرئيسية (RAMs). ليست جميع الاجهزة داعمة لجميع انواع الذواكر، لذا قد تجد موقفاُ لا تعمل فيه ذاكرة ما في جهاز "أ"، بينما تعمل بدون اي مشاكل في جهاز "ب". إن لم يكن المجرب اخذاً في الاعتبار اختلاف البيئة فقد يفترض ان الذاكرة تعمل مطلقاً وان هنالك عطب في مكان اخر في الجهاز ومن ثم ينطلق صاحب الجهاز "أ" في رحلة لإكتشاف عطب غير موجود اصلا!

ليست جميع اعطاب الهاردوير يمكن اكتشافها عن طريق البحث داخل الصندوق، فهنالك الكثير لا يمكن معرفته إلا عبر اعراض تظهر في السوفتوير. كمثال نذكر اشهر الاعطاب التي تصيب اللابتوبات: تردي كفاءة وحدة التبريد. هذا العطب عادة لا يحتاج اكتشافه سوى متابعة لدرجات حرارة التشغيل. وهذا امر يسير عند الأخذ في الاعتبار ان جميع المنصات الحالية تأتي بمجسات للحرارة مبنية داخل اغلب الشرائح المهمة (الCPU، GPU ومجموعة الشرائح والمتحكمات في اللوحة الأم. بعض مزودات الطاقة تأتي بمجسات حرارة داخلية يمكن قرأتها بواسطة السوفتوير)، وهنالك الكثير من السوفتوير الذي يمكنه الوصول إلى قراءات هذه المجسات وعرضها (كمثال أذكر احدى البرامج المفضلة لدي: HardwareMonitor).
العَرَض في مثل هذه الأخطاء عادة ما يكون انخفاض كبير في اداء الجهاز أو توقفه عن العمل بصورة مفاجئة. اكتشاف الخطأ في هذه الحالة كثيراً ما يبدأ يبدأ بمتابعة درجة الحرارة في مختلف الظروف، إبتداءاً بدرج الحرارة في وضع السكون (idle temperatures) ووصلا لقيمها عند اجهاد (load temperatures) المعالج المركزي او المعالج الصوري. ومن ثم مقارنتها بدرجات الحرارة الطبيعية لهذه المكونات في الحالات المختلفة. ان وجد ان درجة الحرارة في أي من الحالتين يصل او يفوق الحدود العليا المسموح بها فهذا يعني (بفرض عدم وجود اختلاف في اعدادات عمل هذه المكونات نتيجة لعملية كسر سرعة او ما شابهها) خللا في نظام التبريد لهذا المكون. وهنا ينطلق لمراجعة المكونين الرئيسين في (اغلب) وحدات التبريد: المروحة ووحدة التبريد (heatsink، متضمنة تركيبها على القطعة المراد تبريدها والمعجون الحراري  بينهما).

الإنخفاضات غير الطبيعية في الآداء ليست اكثر انعكاسات اعطال الهاردوير على السوفتوير شيوعا، هذا اللقب يناله -بجدارة- ما يعرف بـ"شاشة الموت الزرقاء"، او اختصارا "BSOD" في الويندوز، او "Kernel Panic" في انظمة اللينكس والماك OSX. ولكن نسبة لتعقيد عمل الحاسب (وندرة امكانية النظام تحديد مسبب للخطأ في حالة اعطال الهاردوير) فقلما يمكن ربط العطل بمكون محدد في الهاردوير او السوفتوير من الرسالة المبينة في حالتي الBSOD ونظيراتها فقط (ويزداد الأمر سوءاً في حالة الأنظمة التي تعتقد ان بإمكانها حل جميع المشاكل دون اخطار المستخدم بما يحدث مثل ويندوز 8). هنا ليس للمستخدم -ان لم يكن لديه خبرة او ادلة اخرى تمكنه من تضيق قائمة المتهمين- سوى افتراض سلامة احد الجانبين والبحث عن المسبب في الجانب الأخر.

استكشاف أعطال الهاردوير عن طريق السوفتوير كثيرا ما يحتاج خلق لحالات معينة لظهور هذا العرض. فكما في حالة متابعة الحرارة المذكورة اعلاه، على المستخدم خلق حالة "ضغط" على المعالج لإيصاله لمرحلة يمكن اعتبارها حالة تشغيل (فيما يعرف بالإجهاد او الـ Stress Testing). في مثل هذه الحالة فالعملية بسيطة ومباشرة: تشغيل سوفتوير بمتطلبات حوسبة كبيرة نسبيا كgame او اي من برامج الإجهاد المعروفة (كمثال: Prime95)، اما في غيرها فقد يكون الأمر اكثر تعقيداً. اذكر مثلاً مشكلة واجهتني في احدى البطاقات الصورية التي كنت امتلكها، حيث ان شريحة الذاكرة في هذه البطاقة كانت غير مؤهلة للعمل بالتردد (clock) الذي اتت به من المصنع. لكن هذا الخلل لم يظهر لي الا في حالات معينة من الضغط على هذه الذواكر في لعبتين فقط عند استخدام اعدادات معينة ولم تظهر قط في غيرها على الرغم من تجربتي لعدة برامج اجهاد والعاب بإعدادات مختلفة.

لا يحتاج الأمر دائما العمل بمنطق التجربة والخطأ ومتابعة جميع مكونات الهاردوير، ففي كثير من الاحيان ما يمكن حصر نطاق العطل في جوانب معينة، وهنا تظهر فائدة الخبرة والمعرفة (او قدرات البحث الجيدة عبر قوقل) او حتى القدرة على التفكير المنطقي. خذ معي كمثال حالة جهازٍ به عطل يجعله غير قادر على اظهار صورة على الشاشة، على الرغم من امكانيته الاقلاع وتخطي مرحلة الـPOST والوصول الى نظام التشغيل (استدلالا بسماع نغمة الLogin مثلاً). هنا يمكن ببساطة اختصار وحدة المعالجة الرئيسية، اللوحة الأم، وسائط التخزين، وحدات تزويد الطاقة وانظمة الذاكر كمسببات للعطل بما ان أعطال هذه المكونات قلما تأتي بمثل هذا العَرَض. وبالتالي يمكن تحديد المسبببات (في نطاق الهاردوير) في تلك المسؤولة عن اخراج الصورة: البطاقة الصورية، وسيط العرض والناقل بينهما، وهنا يمكن استكشاف الخطأ في هذه الثلاثة مكونات فقط.

الكثير من الهاردوير اليوم يتيح سبلاُ لمتابعة حالة عمله او بيان الأعطال التي تصيبه. فتقريبا جميع اللوحات الأم اليوم تأتي بأنوار LED لبيان حالات المكونات المختلفة كالذواكر والمعالج، وجميعها يأتي بمجسات حرارة لمكوناتها بالإضافة لـLED مخصص لبيان حالة وحدة التخزين. بل ان بعض الالواح تأتي بشاشات صغيرة مخصصة لإظهار كود من احرف وأرقام يبين حالة عمل اللوحة، ويمكن اللوحة من اخطار المستخدم بالعديد من المشاكل التي قد تمنعها من العمل بدون الحوجة لنظام تشغيل او وسيلة اخراج معقدة.
هنالك ايضاً تقنيات سوفتوير مختلفة مخصصة لمتابعة الحالات المختلفة للهاردوير عبر السوفتوير، أذكر مثلا منظومة  الS.M.A.R.T  المبنية في جميع وحدات التخزين الصلبة (Hard Disk Drives) المتاحة اليوم. ولا ننسى التقديمات المخصصة من كل مصنع للهاردوير، كتقديمة Corsair Link من الشركة صاحبة الاسم لمنتجاتها من وحدات تزويد طاقة و انظمة تبريد. وبالطبع لا ننسى ابسط طريقة لمعرفة هل يعمل الجهاز ام لا: سماع صوت المراوح والهارديسك (وان كانت بدون فائدة مع الأجهزة المعتمدة على محركات حالة ساكنة وتبريد passive  >_>)

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