من همیشه وقتی توزیع های گنو/لینوکس رو نصب میکردم به صورت خودکار درایور بلوتوث هم برام نصب میشد.ولی چون این دفعه به روش سودو عزیز(کاربر فعال این فروم) دبیان رو با استفاده از روش netinstall و به صورت گنوم کمینه نصب کردم و درایورهای غیر آزاد (non free) رو هم نصب نکردم به همین خاطر درایور بلوتوث لپ تاپ من نصب نشده بود.با سرچی که تو اینترنت داشتم متوجه شدم درایور بلوتوث با همون درایور کارت شبکه بیسیم نصب میشه.تو لپ تاپ من و بعضی از لپ تاپ ها به این شکله.(مدل لپ تاپ من Asus k43sj)
البته درایورها همراه خود کرنل لینوکس هستند و اون چیزی که شما با مدیر بسته نصب کردید و کل متن شما درباره اون هست، firmware بوده. نه درایور.
چون با زدن دستور lspci متوجه شدم درایور کارت شبکه بی سیم من Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01) هستش.
البته این یکی مدل چیپ وایفایی هست که استفاده شده. نه درایور اون.
اسم درایور اون توی کرنل لینوکس ath9k هست. حداقل اینجا اینجوری گفته
https://wireless.wiki.kernel.org/en/users/drivers/ath9kدستگاههایی که توسط این درایور راهاندازی میشن جز معدود وایفایهایی هستند که چیپ اونها به firmware نیاز نداره. حداقل من هیچ وایفای دیگهای نمیشناسم که firmware لازم نداشته باشه.
دستگاههایی که توسط ath9k_htc راهاندازی میشن به firmware نیاز دارند. ولی firmware اونها توسط Qualcomm به طور آزاد منتشر شده.
https://github.com/qca/open-ath9k-htc-firmwareتوی دبیان با نصب بسته firmware-ath9k-htc میشه اون firmwareها رو نصب کرد.
چون اون firmwareها آزادن، این بسته توی قسمت main مخازن قرار داره.
نمیدونم چجوری دستگاه شما به firmware انحصاری نیاز داره تا کار کنه. توی لینکی که بالاتر به ویکی کرنل قرار دادم، گفته این چیپ توسط درایور ath9k راهاندازی میشه و اون درایور هم اصلا firmware لازم نداره.(دستور زیر هیچ خروجی نداره)
modinfo -F firmware ath9k
نمیدونم اطلاعات ویکی کرنل غلطه یا چی. برای اینکه بدونید این سختافزار توسط چه درایوری راهاندازی شده، خروجی lspci -k رو ببینید.
معمولا اگه یه چیزی به firmware نیاز داشته باشه و یه چیزی داخل کرنل (مثلا یه درایور) سعی کنه اون firmware رو بارگذازی کنه اما به هر دلیلی نتونه (مثلا موجود نباشه) اونوقت یه گزارش با سطح خطا، توی گزارشهای کرنل ثبت میشه.
معمولا توی اون گزارشها عبارتی مثل firmware یا fw وجود داره.
هر بار که احتمال میدید کار نکردن یه دستگاه به خاطر نبود firmware باشه، با دستور grep توی گزارشهای کرنل کلمه firmware و fw بگردید. اینجوری:
sudo dmesg | grep -Ei 'fw|firmware'
با دستور dmesg میشه گزارشهای کرنل رو دید. در اکثر مواقع هم لازمه دسترسی روت داشته باشسد تا بتونید اینکار رو انجام بدید.
بعد خروجی رو داده به grep که دنبال کلمه fw و firmware بگرده. هر خطی که شامل حداقل یکی از این عبارتها باشه، نمایش داده میشه. کاری هم نداره که اون عبارت با حروف بزرگ هست یا کوچک.
فقط برای درایور بلوتوث مجبور شدم موقت non-free و contrib رو به انتهای خط اول و دوم sources.list اضافه کنم تا بتونم درایور غیرآزاد بلوتوث لپ تاپ Asus خودم رو نصب کنم.
یعنی شما باید دستور زیر رو وارد کنید :
sudo nano /etc/apt/sources.list
و بعد در محیط ویرایشگر متن نانو به خط اول و دوم برید و در انتهای اون مقادیر contrib و non-free رو اضافه کنید.یعنی این شکلی :
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
به راحتی با دو دستور زیر نصب اش کردم و چون برام جالب بود تجربه مو با دوستان این فروم به اشتراک گذاشتم.
sudp apt-get update
sudo apt-get install firmware-atheros
مجدداً contrib و non-free رو از sources.list حذف کردم و sudp apt-get update رو زدم.چون نمیخوام از منابع غیرآزاد نصب کنم.
برای نصب firmware، خیلی بعیده قسمت contrib لازم بشه. کلا دوتا بسته مربوط به firmware اونجا هست. firmware-b43-installer و firmware-b43legacy-installer.
دلیل اینکه این دو بسته اونجا هستند اینه که داخل این بستهها واقعا هیچ firmware وجود نداره.
موقع نصب، اسکریپت postinst این بستهها، درایور انحصاری مخصوص ویندوز رو از اینترنت دریافت و firmwareهای مورد نیاز رو استخراج و نصب میکنند.
موقع پاک شدن هم، اسکریپت prerm اونها همه firmwareهای نصب شده رو پاک میکنه.
دلیلش این دریافت و استخراج کردن بی مورد اینه که مجوز اون firmwareها بد جور مشکل داره و بده و هیچ اجازه انتشاری به افراد نمیده.
از اونجایی که فایلهای همراه این دو بسته (از جمله اسکریپتهای postinst و prerm) آزاد هست و چیز انحصاری همراه اونها نیست، وارد قسمت non-free نشدند.
اما چون چیزهایی نصب میکنند که با قوانین دبیان مشکل داره، وارد قسمت main هم نشدند. توی قسمت contrib قرار دارند.
کلا توی قسمت contrib چیزهایی پیدا میشه که خودشون آزادند، ولی یا چیزهایی نصب میکنند که با قوانین دبیان سازگار نیست یا برای کار کردن به چیزهای نیاز دارند که باز هم با قوانین دبیان سازگار نیست، یا اینکه کلا با قوانین دبیان سازگار نیستند. یا هر ترکیبی از این ۳ تا.
مثلا zfs و چیزهای مربوط بهش آزاده ولی چون با مجوز cddl منتشر میشه و این با قوانین دبیان ناسازگاره، توی قسمت contrib قرار گرفته.
قسمت non-free برای دبیان ۱۱ و قبل شامل firmware انحصاری هست. دیگه برای دبیان ۱۲، ۱۳ و ... و همینطور sid اینجوری نیست.
طبق یه تصمیم جدید توسط توسعهدهندههای دبیان، یه سری تغییرات در رابطه با firmwareهای انحصاری انجام شده.
یکی از اون تغییرات این هست که یه قسمت جدید توی مخازن ساخته بشه به اسم non-free-firmware و تمام firmwareهای انحصاری از قسمت non-free به این قسمت منتقل بشن.
البته برای دبیان ۱۱ و قبلیها اینجوری نیست و firmwareهای انحصاری همچنان توی قسمت non-free باقی میمونند.
جای بستههای firmware-b43-installer و firmware-b43legacy-installer تغییری نکرده.
با این حساب، فکر کنم بابد یه بار دیگه فایل sources.list رو تغییر بدید.
جالب بود اما ممکنه بعدا مشکل پیش بیاد، اگر مخازن non-free رو نگه میداشتید اما چیز دیگه ای ازشون نصب نمیکردید بهتر بود، چون احتمالا سیستم نمیتونه دیگه پکیج firmware-atheros رو آپدیت کنه چون مخازن non-free نیستن.
یعنی ممکنه براش آپدیت بیاد!؟لپ تاپ من قدیمیه.برا سال ۲۰۱۱ اس
ممکنه برای firmware بروزرسانی بیاد. حتی اگه برای firmware مورد نیاز شما نیاد، ممکنه برای بقیه firmwareهایی که همراه اون بسته هستند بیاد.