
MSI Modern 15H AI C1MGT-096IT إدارة حرارية لينكس - تحكم EC مهندس عكسي مع ملفات تعريف المروحة وحد البطارية
MSI Modern 15H AI C1MG-096IT إدارة حرارية لينكس - تحكم EC معكوس هندسيًا مع ملفات سرعة المروحة وحدود البطارية
نشأ هذا التطبيق عن ضرورة لمستخدمي لابتوبات MSI على لينكس. بدأت الرحلة عندما اكتشفت أن شركتي Intel و MSI لم تقدم أي برامج تشغيل أو تطبيقات تحكم مناسبة لتوزيعتي Linux Mint Xia.
بعد بحث مكثف، لم يظهر سوى مستودع واحد واعد لمعالج Intel Core Ultra 5 125H الخاص بي: OpenFreezeCenter
ومع ذلك، كان هذا المشروع مصممًا أصلاً لمعالجات Intel من الجيل العاشر/الثاني عشر. تسببت بنية Meteor Lake الخاصة بي مع P-cores و E-cores في تحديات فريدة لم يتمكن البرنامج الأصلي من فهمها بالكامل.
شرعت في رحلة هندسة عكسية استمرت عامًا من أجل:
تم تطوير هذا المشروع باتباع ممارسات التطوير الحديثة حيث تساعد أدوات الذكاء الاصطناعي في تنفيذ الكود، بينما تظل جميع القرارات المعمارية والهندسة العكسية وحل المشكلات بشرية المنشأ.
"لم يعرف الذكاء الاصطناعي أن عناوين EC الخاصة بي كانت 0x68 لدرجة حرارة CPU و 0xbf للبطارية - لقد اكتشفت ذلك من خلال الهندسة العكسية المكثفة والاختبار!"
يعكس هذا الأسلوب كيفية استخدام المطورين المحترفين لأدوات مثل GitHub Copilot اليوم - كمساعدين ينفذون حلولاً للمشكلات التي يحددها البشر.
على الرغم من أنها ليست التطبيق الأكثر جاذبية بصريًا، إلا أنها توفر تحكمًا عمليًا في:
cpufrequtils مع محافظ الأداء للتشغيل الأمثلهذا المشروع مضبوط خصيصًا لجهاز MSI Modern 15H AI C1MGT-096IT.
إذا كان لديك طراز MSI مختلف، فمن المحتمل أن تحتاج عناوين EC إلى التعديل.
يجب أن تعمل البنية الأساسية - ما عليك سوى رسم خرائط لعناوين الأجهزة الخاصة بك.
فقط للتوضيح: لم أختر msi_ec أو MControlCenter ليس لأنني تجاهلتهما، ولكن ببساطة لأنهما لم يعملا أبدًا على لابتوبي.
نموذجي — MSI Modern 15H AI C1MG-096IT — لا يزال مدرجًا كـ غير مدعوم في قائمة التوافق الرسمية لـ msi_ec.
عندما اختبرته في الأصل، كان تحميل الوحدة يؤدي دائمًا إلى:modprobe: ERROR: could not insert 'msi_ec': Operation not supported
فقط اليوم (28/11/25)، بفضل صديق مقرب يستخدم NixOS، أرسل لي رابطًا حيث اكتشفت مناقشة على GitHub تشير إلى تقدم محتمل لـ MSI Modern 15H AI C1MG:
🔗 منشور Fix على GitHub
لم أكن أعلم حقًا بهذه المشكلة من قبل — هذا خطأي لعدم التحقق مرة أخرى مبكرًا.
ومع ذلك، لا شيء في هذا الموضوع يؤكد دعمًا لنموذجي بالضبط، ولا تزال الوحدة تفشل على نظامي.
حاولت أيضًا استخدام MControlCenter، لكنه فشل عند بدء التشغيل مع: Failed to load ec_sys kernel module
إليك منشور Reddit الأصلي الذي نشرته في ذلك الوقت:
🔗 فشل تحميل وحدة ec_sys kernel (منشور Reddit)
لأن أيًا من الأداتين لم تعمل معي، انتهى بي الأمر ببناء حلّي الخاص بدافع الضرورة — ليس لأنني أردت استبدال المشاريع القائمة أو منافستها.
إذا كان لابتوبك مدعومًا بواسطة msi_ec أو MControlCenter، فإنني أوصي بشدة بتجربة تلك الأدوات أولاً. مشروعي هو ببساطة حل بديل للأجهزة غير المدعومة مثل جهازي.
تم تصميم هيكل المشروع ليكون قابلاً للتكيف. بينما لا يمكنني تقديم دعم نشط للنماذج الأخرى، فإن الكود موثق جيدًا لمن يرغبون في محاولة الهندسة العكسية لـ EC على أجهزتهم الخاصة.
بعد قضاء عام على هذا المشروع - عبر ليالٍ لا تُحصى من الهندسة العكسية واختبار درجات الحرارة وتصحيح الأخطاء - أنا فخور أخيرًا بمشاركة هذا الحل مع المجتمع.
ما بدأ كإحباط شديد من الأداء الحراري للابتوب الخاص بي تطور إلى أداة وظيفية تعمل بالفعل.
إذا كان لديك طراز MSI مختلف، فالبنية موجودة - قد تحتاج فقط إلى تعديل عدد قليل من عناوين EC. الجزء الصعب (فهم كيفية عمل EC لـ MSI) قد تم بالفعل.
من مستخدم MSI محبط على لينكس إلى آخر - أتمنى أن يساعدك هذا بقدر ما ساعدني.
يتضمن هذا المشروع ملفات تثبيت أو مساعدة مشتقة أصلاً من
OpenFreezeCenter، والذي مرخص بموجب AGPL-3.0.
للحفاظ على توافق الترخيص، يتم توزيع هذا المشروع بموجب
رخصة GNU AGPL-3.0.
جميع الأكواد الجديدة (الهندسة العكسية، خرائط البطارية، أدوات EC، إلخ.) هي عمل أصلي لـ Anthonippillai Vincent Nishan.