ข้อผิดพลาดของ SAP เกี่ยวกับสถานะบริการบลูทู ธ


17

ฉันได้รับข้อผิดพลาดเกี่ยวกับสถานะบริการบลูทู ธ

ฉันต้องการคำแนะนำเพื่อแก้ไขข้อผิดพลาดนี้

    pi@raspberrypi:~ $ sudo service bluetooth status
* bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
   Active: active (running) since Sat 2016-01-09 19:12:47 UTC; 1min 12s ago
     Docs: man:bluetoothd(8)
 Main PID: 370 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           `-370 /usr/lib/bluetooth/bluetoothd

Jan 09 19:12:46 raspberrypi bluetoothd[370]: Bluetooth daemon 5.23
Jan 09 19:12:47 raspberrypi bluetoothd[370]: Starting SDP server
Jan 09 19:12:47 raspberrypi systemd[1]: Started Bluetooth service.
Jan 09 19:12:47 raspberrypi bluetoothd[370]: Bluetooth management interface 1.9 initialized
Jan 09 19:12:47 raspberrypi bluetoothd[370]: Sap driver initialization failed.
Jan 09 19:12:47 raspberrypi bluetoothd[370]: sap-server: Operation not permitted (1)
pi@raspberrypi:~ $

sapในบริบทนี้ดูเหมือนจะเป็นโปรโตคอลการเข้าถึง SIMและดังนั้นจึงน่าจะเป็นสิ่งที่เกี่ยวข้องกับการเชื่อมต่อกับโทรศัพท์มือถือ (และข้อมูลอินเทอร์เน็ตสันนิษฐาน) ระบุว่าข้อความอื่น ๆ ทั้งหมดเกี่ยวกับการเริ่มต้นที่ประสบความสำเร็จของบลูทู ธ ภูตฉันไม่แน่ใจทั้งหมดนั่นคือข้อผิดพลาดเช่นนี้ ... ?
SlySven

SAP เกี่ยวข้องกับการเข้าถึงซิมสำหรับข้อมูลเพิ่มเติมเกี่ยวกับบั๊ก
Pavan Nath

คำตอบ:


26

SAP ย่อมาจากSIM Access Profileดังนั้นคุณต้องปิดการใช้งาน:

  • เปิด /etc/systemd/system/bluetooth.target.wants/bluetooth.service
  • เปลี่ยนแปลง:

    ExecStart=/usr/lib/bluetooth/bluetoothd
    

    ถึง

    ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap
    
  • โหลด systemd ใหม่:

    $ sudo systemctl daemon-reload
    
  • รีสตาร์ทบลูทู ธ :

    $ sudo service bluetooth restart
    
  • รับสถานะบลูทู ธ :

    $ sudo service bluetooth status
    
    
    bluetooth.service - Bluetooth service
       Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
       Active: active (running) since Sat 2016-04-30 10:38:46 UTC; 6s ago
         Docs: man:bluetoothd(8)
     Main PID: 12775 (bluetoothd)
       Status: "Running"
       CGroup: /system.slice/bluetooth.service
               └─12775 /usr/lib/bluetooth/bluetoothd --noplugin=sap
    

2
หากคุณต้องการที่จะติดกับ systemctl ก็ยังสามารถทำและsystemctl restart bluetooth systemctl status bluetoothสิ่งเหล่านั้นอาจต้องใช้ sudo ด้วย
XTL

1
ในบทเรียนเว็บและการแก้ปัญหาส่วนใหญ่เราไม่เขียน sudo เพื่อความปลอดภัย ฉันถือว่าผู้ใช้ linux รู้อยู่แล้วเกี่ยวกับสิทธิ์ แต่ที่นี่ไม่มีปัญหารถถังฉันจะเพิ่ม sudo เหล่านั้น
pylover

ok ทำงานครั้งแล้วผมพบว่าแฟ้มที่จำเป็นต้องได้รับการแก้ไขคือ (ยัง) /lib/systemd/system/bluetooth.service
FCM

เหตุใดจึงไม่ปิดใช้งานตามค่าเริ่มต้น
Sawtaytoes

ฉันไม่รู้ว่าทำไม เสียง Linux นั้นซับซ้อนมาก
pylover

0

หากคุณไม่ต้องการเขียนทับbluetooth.serviceไฟล์ระบบมันเป็นโอกาสที่ดีที่จะใช้การ.service.dแทนที่:

sudo mkdir  /etc/systemd/system/bluetooth.service.d/

จากนั้นใส่ไฟล์นี้:

/etc/systemd/system/bluetooth.service.d/01-disable-sap-plugin.conf

[Service]
ExecStart=
ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap
sudo systemctl daemon-reload
sudo systemctl restart bluetooth.service

ฉันคิดว่ามันจะดีกว่าที่จะใช้sudo systemctl edit bluetooth.serviceแทนที่จะเล่นซอโดยตรงกับไดเรกทอรี systemd และไฟล์
Ingo

ใช่คำแนะนำที่ดี มันเป็นวิธีที่ง่ายในการทำสิ่งเดียวกันข้างต้น บางครั้งการเปลี่ยนชื่อส่วนย่อยของ.d/ไฟล์จะช่วยให้ชัดเจนว่ากำลังทำอะไรอยู่
TrinitronX

1
ส่วนใหญ่เป็นวิธีที่ปลอดภัยกว่าการทำเช่นนี้ภายใต้การควบคุมของ systemd?
Ingo

@Ingo: ใช่มันเป็นคุณสมบัติอีกรุ่นหนึ่งของ SystemD รุ่นใหม่กว่า มีบางกรณีที่คุณอาจไม่ต้องการทำเช่น: การแก้ไข.serviceไฟล์ที่ใช้งานจริงมีความเสี่ยง โพสต์บล็อกนี้มีข้อมูลที่เป็นประโยชน์มากขึ้น หนึ่งในสิ่งที่กล่าวถึงคือ "การแก้ไขที่สำเร็จทั้งหมดแปลงเป็นการเริ่มบริการใหม่!" ดังนั้นจึงไม่ใช่ "ปลอดภัย" ตามที่คุณพูดเสมอไป แต่อาจสะดวกกว่า
TrinitronX
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.