انجمنهای فارسی اوبونتو
تازه کار => انجمن تازهکاران => نویسنده: saeed65555555555555555 در 07 آبان 1400، 02:39 بظ
-
سلام .
دوستان من با این فرمان بلوتوث لپ تاپم رو فعال کردم . ولی هر دفع که میخوام ریستارت کنم سیستم رو ,
باید توی ترمینال کد sudo modprobe rtbth بزنم تا دوباره بلوتوث فعال بشه !
حالا راهی هست دیگه هر دفعه ریستارت میشه خودکار بلوتوث خودش فعال بشه ؟
---------------------------------------------
sudo apt update
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
sudo add-apt-repository ppa:blaze/rtbth-dkms
sudo apt update
sudo apt install rtbth-dkms
sudo modprobe rtbth
sudo rfkill unblock bluetooth
--------------------------------------------
-------------------------------------------------------------------------------------------------------------------
این کد رو اضافه کردم درست شد .
sudo nano /etc/cron.d/rtbth
این محتوا رو اضافه کردم تو فایل /etc/cron.d/rtbth
@reboot root /sbin/modprobe rtbth
تشکر از Dragon-
https://forum.ubuntu-ir.org/index.php?action=profile;u=102653
(https://forum.ubuntu-ir.org/index.php?action=profile;u=102653)
-
یه فایل داخل مسیر زیر بسازید و داخلش اسم ماژول رو بنویسید تا همیشه بارگذاری بشه.
/etc/modules-load.d
برای اینکار به دسترسی روت نیاز دارید. اول با nano یه فایل با اسم مثلا rtbth.conf توی دایرکتوری بالا باز کنید.
sudo nano /etc/modules-load.d/rtbth.conf
بعد داخلش اسم ماژول رو بنویسید، با ctrl + o تغییرات رو ذخیره کنید و با ctrl + x از nano خارج بشید.
بعد از این باید اون ماژول به طور خودکار موقع بوت، بارگذاری بشه.
-
سلام دقیق میتونید توضیح بدین لطفا .
-
کجا رو متوجه نشدید؟
-
داخل rtbth.conf چی بنویسم ؟
چه ماژولی چی بنویسم !
من تازه وارد لینوکس شدم بلد نیستم .
-
شما با دستور modprobe ماژولهای کرنل رو مدیریت میکنید. دستور modprobe rtbth ماژولِ rtbth رو بارگذاری میکنه. توی فایل rtbth.conf شما باید اسم ماژول رو بنویسید که اینجا rtbth هست. یعنی باید توی فایل بنویسید rtbth. همین.
فرقی نداره اسم فایل rtbth.conf باشه یا یه چیز دیگه، اینجا این اسم رو انتخاب کردیم چون به اسم ماژول شبیه و میشه ازش تا حدودی فهمید که چرا این فایل درست شده. هر اسمی که میذارید فقط باید به این توجه کنید که پسوندش conf. باشه، در غیراینصورت سیستم اون فایل رو نادیده میگیره.
-
همین کار رو کردم ولی هیچ اتفاقی نیفتاد 😔
-
یعنی اون ماژول به صورت خودکار بارگذاری نشد؟ الان به طور دستی دستور modprobe rtbth رو بزنید، کار میکنه؟
خروجی دستور زیر رو قرار بدید.
modprobe -c | grep -i rtbth
برای کپی کردن متن از ترمینال، باید از کلیدهای ctrl +shift + c استفاده کنید. برای کپی کردن داخل ترمینال هم از دستور ctrl + shift + v استفاده کنید.
برای قرار خروجی دستورات توی انجمن، از تگ کد کنید. برای اینکا موقع نوشتن، توی دکمههای بالا روی اون که علامت # داره بزنید تا یه تگ کد به متن شما اضافه بشه. بعدش خروجی رو بین اون قرار بدید. از قابلیت پیشنمایش استفاده کنید تا متوجه بشید خروجی تقریبا چجوری قراره توی انجمن نمایش داده بشه
-
خروجی کد modprobe -c | grep -i rtbth
(https://s20.picofile.com/file/8443017500/Screenshot_from_2021_10_30_12_20_55.png)
-
خروجی کد modprobe -c | grep -i rtbth
(https://s20.picofile.com/file/8443017500/Screenshot_from_2021_10_30_12_20_55.png)
خروجی دستور زیر رو بزارید:
ls -l /etc/modprobe.d/
-
خروجی کد
ls -l /etc/modprobe.d/
(https://s20.picofile.com/file/8443021826/Screenshot_from_2021_10_30_15_00_11.png)
-
خروجی کد
ls -l /etc/modprobe.d/
(https://s20.picofile.com/file/8443021826/Screenshot_from_2021_10_30_15_00_11.png)
خروجی دستور زیر:
cat rtbth-dkms.conf
-
خروجی کد
ls -l /etc/modprobe.d/
(https://s20.picofile.com/file/8443021826/Screenshot_from_2021_10_30_15_00_11.png)
خروجی دستور زیر:
cat rtbth-dkms.conf
--------------------------
خروجی کد cat rtbth-dkms.conf
(https://s20.picofile.com/file/8443031484/Screenshot_from_2021_10_30_18_35_45.png)
-
خروجی کد
ls -l /etc/modprobe.d/
(https://s20.picofile.com/file/8443021826/Screenshot_from_2021_10_30_15_00_11.png)
خروجی دستور زیر:
cat rtbth-dkms.conf
--------------------------
خروجی کد cat rtbth-dkms.conf
(https://s20.picofile.com/file/8443031484/Screenshot_from_2021_10_30_18_35_45.png)
عذر میخوام به جای اون دستور دستور زیرو وارد کنید:
cd /etc/modprobe.d/
cat rtbth-dkms.con
-
خروجی کد
ls -l /etc/modprobe.d/
(https://s20.picofile.com/file/8443021826/Screenshot_from_2021_10_30_15_00_11.png)
خروجی دستور زیر:
cat rtbth-dkms.conf
--------------------------
خروجی کد cat rtbth-dkms.conf
(https://s20.picofile.com/file/8443031484/Screenshot_from_2021_10_30_18_35_45.png)
عذر میخوام به جای اون دستور دستور زیرو وارد کنید:
cd /etc/modprobe.d/
cat rtbth-dkms.con
خروجی کد
cd /etc/modprobe.d/
cat rtbth-dkms.con
--------------- شد .
saeed@jeddi:~$ cd /etc/modprobe.d/
saeed@jeddi:/etc/modprobe.d$ cat rtbth-dkms.conf
# settings for rtbth-dkms
# comment to get it loading on startup (probably would not work)
blacklist rtbth
saeed@jeddi:/etc/modprobe.d$
-
خروجی دستورات زیر رو هم قرار بدید. ممکنه خروجی یکم طولانی باشه.
cat /etc/modprobe.d/blacklist.conf
cat /etc/modprobe.d/ralink-bt.conf
خروجی کد
cd /etc/modprobe.d/
cat rtbth-dkms.con
--------------- شد .
saeed@jeddi:~$ cd /etc/modprobe.d/
saeed@jeddi:/etc/modprobe.d$ cat rtbth-dkms.con
cat: rtbth-dkms.con: No such file or directory
saeed@jeddi:/etc/modprobe.d$
یه اشتباه تایپی وجود داره. توی دستور آخر، اسم فایل rtbth-dkms.conf هست. اشتباهی تایپ شده rtbth-dkms.con
-
خروجی کد cat rtbth-dkms.conf
saeed@jeddi:~$ cd /etc/modprobe.d/
saeed@jeddi:/etc/modprobe.d$ cat rtbth-dkms.conf
# settings for rtbth-dkms
# comment to get it loading on startup (probably would not work)
blacklist rtbth
saeed@jeddi:/etc/modprobe.d$
خروجی کد cat /etc/modprobe.d/blacklist.conf
saeed@jeddi:~$ cat /etc/modprobe.d/blacklist.conf
# This file lists those modules which we don't want to be loaded by
# alias expansion, usually so some other driver will be loaded for the
# device instead.
# evbug is a debug tool that should be loaded explicitly
blacklist evbug
# these drivers are very simple, the HID drivers are usually preferred
blacklist usbmouse
blacklist usbkbd
# replaced by e100
blacklist eepro100
# replaced by tulip
blacklist de4x5
# causes no end of confusion by creating unexpected network interfaces
blacklist eth1394
# snd_intel8x0m can interfere with snd_intel8x0, doesn't seem to support much
# hardware on its own (Ubuntu bug #2011, #6810)
blacklist snd_intel8x0m
# Conflicts with dvb driver (which is better for handling this device)
blacklist snd_aw2
# replaced by p54pci
blacklist prism54
# replaced by b43 and ssb.
blacklist bcm43xx
# most apps now use garmin usb driver directly (Ubuntu: #114565)
blacklist garmin_gps
# replaced by asus-laptop (Ubuntu: #184721)
blacklist asus_acpi
# low-quality, just noise when being used for sound playback, causes
# hangs at desktop session start (Ubuntu: #246969)
blacklist snd_pcsp
# ugly and loud noise, getting on everyone's nerves; this should be done by a
# nice pulseaudio bing (Ubuntu: #77010)
blacklist pcspkr
# EDAC driver for amd76x clashes with the agp driver preventing the aperture
# from being initialised (Ubuntu: #297750). Blacklist so that the driver
# continues to build and is installable for the few cases where its
# really needed.
blacklist amd76x_edac
--------------------------
خروجی کد cat /etc/modprobe.d/ralink-bt.conf
saeed@jeddi:~$ cat /etc/modprobe.d/ralink-bt.conf
# Run rtbt after module load
install rtbth /sbin/modprobe --ignore-install rtbth; mknod /dev/rtbth c 192 0; /usr/bin/rtbt &
-
کسی یاری کنند نیست :'(
-
فایل زیر رو با دسترسی روت باز کنید. این فایل متنی هست، پس با یه ویرایشگر متن بهتره بازش کنید. چون قراره فایل با دسترسی روت باز بشه، بهتره که از ویرایشگرهای متن داخل ترمینال استفاده کنید تا اشتباهیی چیزی رو خراب نکنید. nano گزینه مناسبی هست چون کار باهاش برای شما راحته. پس دستوری که باید وارد کنید این هست:
sudo nano /etc/modprobe.d/rtbth-dkms.conf
sudo برای این هست که دستور با دسترسی روت باز بشه. nano که مشخصه خود دستور هست و مسیر جلوی nano هم مسیر فایل هست.
الان که فایل رو باز کردید، برید اول خطی که با blacklist شروع میشه. موس اینجا کار نمیکنه، با کلیدهای جهتنما اینکار رو انجام بدید. بعد یه علامت # بذارید اول خط به طوری که همه نوشتهها بعد از اون علامت قرار بگیرند.
حالا فایل رو با فشردن کلیدهای ctrl + o ذخیره کنید و با ctrl + x خارج بشید. کامپیوتر رو خاموش روشن کنید و ببینید که درست میشه یا نه.
-
فایل زیر رو با دسترسی روت باز کنید. این فایل متنی هست، پس با یه ویرایشگر متن بهتره بازش کنید. چون قراره فایل با دسترسی روت باز بشه، بهتره که از ویرایشگرهای متن داخل ترمینال استفاده کنید تا اشتباهیی چیزی رو خراب نکنید. nano گزینه مناسبی هست چون کار باهاش برای شما راحته. پس دستوری که باید وارد کنید این هست:
sudo nano /etc/modprobe.d/rtbth-dkms.conf
sudo برای این هست که دستور با دسترسی روت باز بشه. nano که مشخصه خود دستور هست و مسیر جلوی nano هم مسیر فایل هست.
الان که فایل رو باز کردید، برید اول خطی که با blacklist شروع میشه. موس اینجا کار نمیکنه، با کلیدهای جهتنما اینکار رو انجام بدید. بعد یه علامت # بذارید اول خط به طوری که همه نوشتهها بعد از اون علامت قرار بگیرند.
حالا فایل رو با فشردن کلیدهای ctrl + o ذخیره کنید و با ctrl + x خارج بشید. کامپیوتر رو خاموش روشن کنید و ببینید که درست میشه یا نه.
-----------------------
سلام متنی پیدا نکردم که با blacklist شروع بشه ولی خروجی کد این شد .
(https://s21.picofile.com/file/8443079942/Screenshot_from_2021_10_31_16_49_13.png)
-------
ولی اگه کد sudo modprobe rtbth بلوتوث فعال میشه و چراغ بلوتوث سبز میشه .
-
اون فایل کلا ۴ تا خط داره. یکیش که خالیه. ۲ تا دیگه هم با # شروع میشن. کلا یه خطه که اثر داره و با blacklist شروع میشه. چجوری میگید چنین چیزی وجود نداره. با کلیدهای جهتنما بیاید پایین و اول اون خط یه # بنویسید، همین. بعد با ctrl + o فایل رو ذخیره کنید و با ctrl + x خارج بشید.
بعد کامپیوتر روشن کنید، ببینید درست شده یا نه.
-
اون فایل کلا ۴ تا خط داره. یکیش که خالیه. ۲ تا دیگه هم با # شروع میشن. کلا یه خطه که اثر داره و با blacklist شروع میشه. چجوری میگید چنین چیزی وجود نداره. با کلیدهای جهتنما بیاید پایین و اول اون خط یه # بنویسید، همین. بعد با ctrl + o فایل رو ذخیره کنید و با ctrl + x خارج بشید.
بعد کامپیوتر روشن کنید، ببینید درست شده یا نه.
----------
انجامش دادم کلا لپ تاپ بلوتوث فعال نشد .
-------
وقتی این کد رو می زنم خروجی اون میشه این
systemctl status bluetooth
خروجی :
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-10-31 19:23:36 EDT; 9s ago
Docs: man:bluetoothd(8)
Main PID: 15287 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 3679)
Memory: 512.0K
CGroup: /system.slice/bluetooth.service
└─15287 /usr/lib/bluetooth/bluetoothd
Oct 31 19:23:36 jeddi systemd[1]: Stopping Bluetooth service...
Oct 31 19:23:36 jeddi systemd[1]: bluetooth.service: Succeeded.
Oct 31 19:23:36 jeddi systemd[1]: Stopped Bluetooth service.
Oct 31 19:23:36 jeddi systemd[1]: Starting Bluetooth service...
Oct 31 19:23:36 jeddi bluetoothd[15287]: Bluetooth daemon 5.53
Oct 31 19:23:36 jeddi systemd[1]: Started Bluetooth service.
Oct 31 19:23:36 jeddi bluetoothd[15287]: Starting SDP server
Oct 31 19:23:36 jeddi bluetoothd[15287]: Bluetooth management interface 1.19 initialized
-----------
وقتی هم این رو میزنم
hcitool dev
خروجی میشه این :
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=153828.0;attach=51721;image)
-
سعی کردید با modprobe ماژول رو بارگذاری کنید؟ نتیجه چی شد؟
کلا این دستگاه یکم روی کرنل لینوکس مشکل داره. اون فایل رو به حالت قبل برگردونید، یعنی # که اول یکی از خطوط نوشتید رو پاک کنید.
از توضیحات توی فایلها و چیزهایی که شما میگید، به نظر میاد این ماژول نباید موقع بوت بارگذاری بشه، بلکه بعد از اتمام بوت باید اینکار انجام بشه.
یه راهکار که به ذهنم رسید این هست که یه سرویس systemd درست کنید تا بعد از اینکه محیط گرافیکی آماده شد، دستور modprobe rtbth رو اجرا کنه تا اون ماژول درست بارگذاری بشه. البته قبلش فایل rtbth-dkms.conf رو به حالت قبل برگردونید.
محتویات اون سرویس میتونه این باشه.
[Unit]
Description=Load rtbth module
After=display-manager.service
[Service]
ExecStart=/sbin/modprobe rtbth
[Install]
WantedBy=graphical.target
قسمت Description یه توضیحی برای سرویس داره.
قسمت After میگه که این سرویس بعد از سرویس display-manager اجرا بشه.
قسمت ExecStart میگه که چه دستوری اجرا بشه.
قسمت آخر هم تنظیم میکنه محیط گرافیکی به این سرویس نیاز داره.
برای اینکه سرویس رو درست کنید، یه فایل توی دایرکتوری /etc/systemd/system/ بسازید، اسم اون رو هرچی میخواهید بذارید اما پسوندش باید service. باشه. مثلا اسم فایل رو load-rtbth.service در نظر بگیرید. با nano اون رو درست کنید
sudo nano /etc/systemd/system/load-rtbth.service
چیزی که بالا نوشتم رو کپی کنید توی فایل، فایل رو ذخیره کنید و خارج بشید. با فشردن کلیدهای ctrl + shift + v میتونید متن رو داخل ترمینال کپی کنید.
الان با این دستور تنظیمات systemd رو ریلود کنید.
sudo systemctl daemon-reload
و حالا سرویس رو enable کنید تا همیشه موقع روشن شدن کامپیوتر اجرا بشه
sudo systemctl enable load-rtbth.service
حالا بررسی کنید که درست شده یا نه.
-
:(
اجراش کردم وقتی ریستارت کردم بلوتوث فعال نشد کد sudo modprobe rtbth هم زدم اون هم فعال نشد . برگردوندم به حالت قبل .
-
به عنوان آخرین چیزی که میدونم، یه فایل توی دایرکتوری /etc/cron.d/ بسازید. اسمش رو هرچی میخواهید بذارید، فرقی نداره. مثلا rtbth
sudo nano /etc/cron.d/rtbth
بعد محتوای زیر رو توش بنویسید
@reboot root /sbin/modprobe rtbth
فایل رو ذخیره کنید و خارج بشید و امتحان کنید که درست شده یا نه.
اون سرویس systemd کار نکرد؟ خیلی عجیبه. پاکش کردید؟ اگه نه خروجی دستور زیر رو بذارید.
systemctl status load-rtbth.service
-
تشکر درست شد
واقعا ممنون
-
با استفاده از cron درست شد؟ اون سرویس systemd رو چیکار کردید؟
-
منظورتون این etc/systemd/system/load-rtbth.service فایل بود اینو پاک کردم . چون وقتی تو load-rtbth.service این محتوای که گفته بودید اضافه کردم بلوتوث کلا کار نکرد .
فایل رو حذف کردم .
ممنون که به مشکلم جواب دادین
-
پس دستور زیر رو هم بزنید تا یه لینک که برای اون سرویس ساخته شده، از بین بره.
sudo systemctl disable load-rtbth.service
-
همون قبل disable هم کرده بودم