black laptop computer turned on showing computer codes

تعريف مودم الوايرلس باستخدام Compat-wireless على لينكس

WiFi

تعريف مودم الوايرلس على لينكس قد يكون مزعج بعض الشيء خصوصاً على توزيعات مثل فيدورا, سنتوس, سلاك وير (تقريباً اغلب التوزيعات الي تحاول جاهدة التمسك بفكرة بقاء النظام بالكامل حر) بعكس ابونتو!. حزمة Compat-wireless مفيدة جداً بهذا الخصوص, تحتوي على تعاريف تستطيع تشغيل اشهر المودمات المتوفرة بالسوق. خصوصاً USB Modem فهو اكثر ما نواجه مشاكل معه بعكس الكروت الداخلية. قبل فتح الترمنال تأكد ان الكرت الخاص بك مدعوم, راجع القوائم التالية وان وجدت الكرت الخاص بك يمكنك استخدام الحزمة.

  • كروت PCI
  • أجهزة USB
  • أجهزة PCMCIA

متطلبات يجب تجهيزها اولاً

  • صلاحيات root
  • تركيب Kernel Headers و devel
  • تركيب gcc
  • تركيب make
  • تركيب git
  • تركيب crda
  • تركيب iw
  • تركيب rfkill

كل هذه المتطلبات سوف تجدها في مستودع الحزم. الخطوة التالية وهي ايضاً قبل البدء بتركيب اي درايفر. وذات اهمية كبيرة. معرفة معلومات الكرت, ومعرف المنشأ والمنتج Vendor and Product ID مسمى المُصنع واسم الموديل التجاري كل هذا تجدة على الكرت نفسه في الشريط اللاصق. اما ال ID تجدها من داخل نظام التشغيل نفسة مستخدمها الاوامر التالية

  • كروت PCI استخدم الامر lspci
  • كورت USB استخدم الامر lsusb
  • كروت PCMCIA استخدم الامر lspcmcia

كمثال لدي كرت usb من شركة netgear استخدمت الامر lsusb وظهرت لي المعلومات التالية

Linux lsusb command

لدي USB Device من شركة netgear الاسم التجاري للكرت WNA1100. نلاحظ ان النظام تعرف عليه واظهر معرف المنصع وهو 0846 وهذا يشير لنت جير واظهر ايضاً رقم الموديل وهو 9030 وهذا يشير ل WNA1100 “صحيح انه تعرف عليه ولكن هذا لايعني انه جاهز للأستعمال”. بالمناسبة WNA1100 يوجد له اصدارين الاصدار الاول v1 يستخدم Marvell chipset اما الاصدار الثاني v2 يستخدم Atheros chipset وهذه المعلومات مهمة لتحديد ال Driver/Firmware المناسب للكرت.

تحديد الدرايفر المناسب

قمنا بمعرفة كل من

  • اسم المصنع واسم الموديل التجاري (من خلال الشريط الاصق على الكرت نفسة)
  • الID الخاص بالمصنع والكرت (عبر lsusb, lspci او lspcmcia حسب نوع الجهاز)
  • تحديد الدرايفر الخاص بالكرت لديك بعد معرفة المعلومات الهامة عنه (من خلال قائمة الكروت الموضحة في بداية التدوينة هذه)

تركيب الدرايفر عبر Compat-wireless

تأكد انك root قبل مواصلة بقية الخطوات

يمكنك تحميل الحزمة عبر الرابط compat-wireless download قم بتحميل اخر نسخة مستعين بأحدث تاريخ كمثال اليوم 18/04/2011 يمكنك اذن تحميل نسخة نفس التاريخ او اليوم الاقدم منه 17/04. احدث نسخة قم بتحميلها.

قد يخطر في بالك سؤال وهو; لماذا لكل يوم يتم انزال نسخة ؟ حقيقة هو لايتم اصدار نسخة كل يوم. ولكن تحصل كثيراً. التعاريف هذه اغلبها غير مستقر ومازال تحت التطوير والتجربة. يومياً لايعني بشكل صارم كل يوم. ولكن القصد انها الكود يحدث بشكل مستمر وبشكل سريع.

يمكنك تحميل النسخة بمسمها العادي عبر الرابط compat-wireless-2.6.tar.bz2 هذه النسخة ايضاً يتم تحديثها يومياً.

قم بفك ضغط الارشيف بعد تحميلة مستخدماً

tar jxf FileName.tar.bz2

قم بالدخول على المجلد

cd compat*

الان نقوم بعمل Compile للدرايفر الذي سوف نستخدمة (من المفترض انك قمت بتحديد الدرايفر الذي سوف تستخدمة عبر قائمة USB Devices الموضحة في الاعلا)  نستخدم الاوامر التالية

اختيار الدرايفر (راقب الترمنال جيداً اثناء تنفيذ الثلاث اوامر التالية لمعرفة ان كان هنالك اي أخطاء. حتى لا تستخدم درايفر خربان!)

./scripts/driver-select DriverName

تنفيذ make

make

تنفيذ make install لتركيب الدرايفر (ان كان هنالك درايفرات سابقة لن يتم ازالتها او التعديل عليها)

make install

كما يمكنك ازالة الدرايفر الذي قمت بتركيبة مستخدما (لا تنفذ هذا الامر إلا في حالة رغبت بازالة الدرايفر)

make uninstall

الان قم بتركيب بعمل unload للدرايفرات المحملة بداخل الكرنل (هنا اقصد الدرايفرات القديمة المركبة مسبقاً, وهذا من اجل عدم حصول اي عملية تعارض) استخدم الامر التالي

make unload

علماً ان الامر السابق سوف يزيل درايفرات الوايرليس والبلوتوث من الكرنل. يمكنك استخدام الامر التالي لإزالة درايفرات الوايرليس القديمة فقط

make wlunload

إلى الان لم نقم بتحميل الدرايفر داخل الكرنل وتشغيلة

تحهيز ال Firware وتحميل الدرايفر داخل الكرنل

استخدم الامر التالي لمعرفة ال firmware المناسب للدرايفر الذي قمت بتركيبة

modinfo DRIVER_NAME

اكتب الامر متبوع باسم الدرايفر الذي قمت بتركيبة لتظهر لك النتجية.
انا الكرت الخاص بي يعمل مع الدرايفر ath9k_htc والداريفر طلب الفيرم وير htc_9271.fw و htc_7010.fw النتيجة كما في الصورة

Linux modinfo command

اغلب التوزيعات تحتفظ بال firmware بداخل المجلد

/lib/firmware/ 

قد يكون الفيرم وير المطلوب اساساً موجود بالمجلد الخاص بهم ولن تحتاج لتركيبة من جديد. ولكن يفضل ذالك خصوصاً انها تحدث بين فترة واخرى. يمكنك تحميل ال firmware مستخدماً git
اولا قم بتغيير مسارك مثلاً لـ

/root/ 

قم بسحب ال firmwares
الرابط يعتمد حقيقة على نوع الدرايفر الذي قمت بتركيبة راجع صفحة Drivers list وادخل على الدرايفر الذي قمت بتركيبة لمعرفة رابط ال firmwares الخاص بالدرايفر

انا استخدم الدارايفر ath9k_htc قمت بتحميل حزمة ال firmwares مستخدماً الرابط هذا linux-firmware.git

ولسحبهم استخدمت

git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git

هذا الاجراء يأخذ بعض الوقت اعتمادا على سرعة الاتصال لديك. بعد انتهاء التحميل ادخل على المجلد الخاص به واختار ال firmwares الي تحتاجها وقم بنقلها لمجلد (غالباً سوف يكون المسار كما هو في الاسفل)

/lib/firmware/ 

بعد التأكد من تركيب ال firmwares المناسبة. الان انت جاهز لتحميل الدرايفر بداخل الكرنل استخدم

modprobe DRIVER_NAME

انتهينا! .. ان شاء الله يكون ضوء الكارت بدء يشتغل لديك 😀 اذا لم يشتغل بعد قم بازالة الكرت وتركيبة من جديد. لم يشتغل بعد ؟ نفذ الامر التالي وراجع الاخطاء الظاهرة

demsg

ملاحظات

  • مسألة تحديد ال firmwares المناسب مهمة جداً بدون تنفيذها بالشكل الصحيح لن يعمل معك الدرايفر.
  • يؤسفني ان اخبرك بأنك محتاج لعمل هذا في كل مرة يتم تحديث الكرنل فيها!
  • انصحك بالاحتفاظ بحزمة compat-wireless مع ال firmwares في جهازك لاستخدامها واطبع الصفحة هذه في جهازك للرجوع لهم بعد تحديث الكرنل خصوصاً ان كان الوايرليس هو وسيلتك الوحيدة للاتصال بالانترنت.

تحياتي
مصطفى البازي.

📮 المتابعة عبر البريد الالكتروني

عند الاشتراك سيصلك جديد منشوراتي ومقالاتي على ايميلك. لا يتم نشر اي اعلانات ابدًا، فقط المقالات التي انشرها هنا في مدونتي هذه.

‎التعليقات‫:‬ 9 On تعريف مودم الوايرلس باستخدام Compat-wireless على لينكس