[Çözüldü] Arch Linux: Bluetooth kulaklık gözükmüyor.

Başlatan ertseyhan, 08 Eylül 2016 - 00:14:15

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ertseyhan

Merhabalar,

Arch Linux üzerinde ilişkilendirmeye çalıştığım Bluetooth kulaklığın (Sony MDR-XB650BT) tespit edilmesinde sorunlar yaşıyorum. Sorunun kaynağını ve sebebini tespit edebilmiş değilim. Bilmediğim, kaçırdığım veya es geçtiğim herhangi bir nokta var mı?

Sorunun teşkil edilmesi adına faydalı olabilecek bazı çıktılar aşağıda mevcut. Teşekkürler.

$ uname -srm
Linux 4.7.2-1-ARCH x86_64


$ pacman -Ss | grep blue | grep installed
extra/bluez 5.41-2 [installed]
extra/bluez-firmware 1.2-8 [installed]
extra/bluez-libs 5.41-2 [installed]
extra/bluez-qt 5.25.0-2 (kf5) [installed]
extra/bluez-utils 5.41-2 [installed]
extra/pulseaudio-bluetooth 9.0-1 [installed]


$ sudo rfkill list
0: sony-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no
1: sony-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
3: hci0: Bluetooth
Soft blocked: no
Hard blocked: no


Servis başlatılırken bazı hatalar meydana geliyor. Bu hatalar cep telefonumun bulunması, ilişkilendirilmesi ve bağlanmasında bir sorun yaratmasa da kulaklığa etkisi oluyor mu bilmiyorum.
$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-09-07 21:24:56 EEST; 1s ago
     Docs: man:bluetoothd(8)
Main PID: 31709 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bluetooth.service
           └─31709 /usr/lib/bluetooth/bluetoothd

Sep 07 21:24:56 arch systemd[1]: Starting Bluetooth service...
Sep 07 21:24:56 arch bluetoothd[31709]: Bluetooth daemon 5.41
Sep 07 21:24:56 arch systemd[1]: Started Bluetooth service.
Sep 07 21:24:56 arch bluetoothd[31709]: Starting SDP server
Sep 07 21:24:56 arch bluetoothd[31709]: Bluetooth management interface 1.12 initialized
Sep 07 21:24:56 arch bluetoothd[31709]: Failed to obtain handles for "Service Changed" characteristic
Sep 07 21:24:56 arch bluetoothd[31709]: Sap driver initialization failed.
Sep 07 21:24:56 arch bluetoothd[31709]: sap-server: Operation not permitted (1)
Sep 07 21:24:56 arch bluetoothd[31709]: Endpoint registered: sender=:1.92 path=/MediaEndpoint/A2DPSource
Sep 07 21:24:56 arch bluetoothd[31709]: Endpoint registered: sender=:1.92 path=/MediaEndpoint/A2DPSink


bluetoothctl üzerinde sırasıyla uyguladığım adımlar;
$ sudo bluetoothctl -a
[NEW] Controller B8:76:3F:FC:C5:96 arch [default]
[NEW] Device 00:1D:86:30:08:27 00-1D-86-30-08-27
[NEW] Device 00:17:53:55:0D:86 00-17-53-55-0D-86
Agent registered
$ [bluetooth]# list
Controller B8:76:3F:FC:C5:96 arch [default]
$ [bluetooth]# show
Controller B8:76:3F:FC:C5:96
Name: arch
Alias: arch
Class: 0x0c010c
Powered: yes
Discoverable: no
Pairable: yes
UUID: Headset AG                (00001112-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
UUID: Audio Source              (0000110a-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0529
Discovering: yes
$ [bluetooth]# power on
Changing power on succeeded
$ [bluetooth]# scan on
Discovery started
$ [bluetooth]# devices
Device 00:1D:86:30:08:27 00-1D-86-30-08-27
Device 00:17:53:55:0D:86 00-17-53-55-0D-86
$ [bluetooth]# info 00:1D:86:30:08:27
Device 00:1D:86:30:08:27
Alias: 00-1D-86-30-08-27
Class: 0x240404
Icon: audio-card
Paired: no
Trusted: no
Blocked: no
Connected: no
LegacyPairing: yes
RSSI: -93
$ [bluetooth]# info 00:17:53:55:0D:86
Device 00:17:53:55:0D:86
Alias: 00-17-53-55-0D-86
Class: 0x340408
Icon: audio-card
Paired: no
Trusted: no
Blocked: no
Connected: no
LegacyPairing: yes
RSSI: -87
$ [bluetooth]# exit


Cep telefonum sorunsuz olarak tespit ediliyor. Bu aşamadan sonraki ilişkilendirme ve bağlanma işlemleri de sorunsuz gerçekleşmekte.
Ne yazık ki kulaklığın tespiti yapılamıyor.
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:76:3F:FC:C5:96 Discovering: yes
[NEW] Device E8:15:0E:44:81:14 Windows Phone



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 08 Eylül 2016 - 00:18:32

Tespitinde sorun yaşadığım cihazın bir üst modeli olan MDR-XB950BT'nin otomatik bağlantı dışında sorunsuz çalıştığı da onaylanmış. Bkz: https://wiki.archlinux.org/index.php/Bluetooth_headset#Tested_headsets

ata1

sudo pacman -S bluez bluez-cups bluez-utils
sudo modprobe btusb
sudo systemctl start bluetooth
sudo systemctl enable bluetooth


şeklinde kurup denermisin

ertseyhan

Herhangi bir değişiklik yaşanmadı, cihaz hâla tespit edilemiyor.

ata1


ertseyhan

#4
Bu gönderide şahıs her güncellemede Bluetooth'un bozulmasından şikayet ederek BlueZ 4'e, Pulseaudio yerine de Alsa'ya geçiş yaparak çözüm üretmiş. Elde çalışan ancak güncellemeler sonrası bozulan bir sistem var. Benim durumumda ise güncellemelerle bozulması bir kenara, Bluetooth'u cihaz ile eşleştiremedim bile.

Düzenleme;

Bluetooth: hci0 command 0x0c52 tx timeout
Bluetooth: hci0 command 0x0c24 tx timeout


Sistem açıldıktan sonra giriş ekranında yukarıdaki hataların oluştuğunu fark ettim. Detaylı dmesg çıktısını ekliyorum.

$ sudo dmesg | grep -Ei 'blue'     
[    7.061800] Bluetooth: Core ver 2.21
[    7.061814] Bluetooth: HCI device and connection manager initialized
[    7.061818] Bluetooth: HCI socket layer initialized
[    7.061820] Bluetooth: L2CAP socket layer initialized
[    7.061825] Bluetooth: SCO socket layer initialized
[   23.875669] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   23.875674] Bluetooth: BNEP filters: protocol multicast
[   23.875681] Bluetooth: BNEP socket layer initialized
[   25.886425] Bluetooth: hci0 command 0x0c52 tx timeout
[   27.893015] Bluetooth: hci0 command 0x0c24 tx timeout
[  122.202713] Bluetooth: RFCOMM TTY layer initialized
[  122.202722] Bluetooth: RFCOMM socket layer initialized
[  122.202728] Bluetooth: RFCOMM ver 1.11
[  409.665049] Bluetooth: hci0 command 0x0c14 tx timeout
[  492.328768] Bluetooth: hci0 urb ffff8800ae6856c0 failed to resubmit (113)
[  492.329156] Bluetooth: hci0 urb ffff8800ae685000 failed to resubmit (113)
[  581.638144] Bluetooth: hci0 command 0x0c46 tx timeout
[  583.644700] Bluetooth: hci0 command 0x2001 tx timeout
[  585.651281] Bluetooth: hci0 command 0x2007 tx timeout
[  587.657780] Bluetooth: hci0 command 0x200f tx timeout
[  589.664371] Bluetooth: hci0 command tx timeout
[  667.341192] Bluetooth: hci0 urb ffff880242ef3000 failed to resubmit (113)
[  667.341583] Bluetooth: hci0 urb ffff8800ae649e40 failed to resubmit (113)

ata1

hciconfig hci0 reset
hciconfig hci0 up
listeyi bir gözden geçir
rfkill list

ertseyhan

hci0 ile iletişim sağlanamıyor. Bluetooth servisini yeniden başlatmaya çalıştım, başarılı olmadı.

$ sudo hciconfig hci0 reset
Can't init device hci0: Connection timed out (110)

$ sudo hcitool dev
Devices:

$ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
   Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2016-09-08 18:08:53 EEST; 3min 6s ago
     Docs: man:bluetoothd(8)
Main PID: 3584 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─3584 /usr/lib/bluetooth/bluetoothd

Sep 08 18:08:53 arch bluetoothd[3584]: Bluetooth daemon 5.41
Sep 08 18:08:53 arch systemd[1]: Started Bluetooth service.
Sep 08 18:08:53 arch bluetoothd[3584]: Starting SDP server
Sep 08 18:08:53 arch bluetoothd[3584]: Bluetooth management interface 1.12 initialized
Sep 08 18:08:53 arch bluetoothd[3584]: Failed to obtain handles for "Service Changed" characteristic
Sep 08 18:08:53 arch bluetoothd[3584]: Sap driver initialization failed.
Sep 08 18:08:53 arch bluetoothd[3584]: sap-server: Operation not permitted (1)
Sep 08 18:08:53 arch bluetoothd[3584]: Endpoint registered: sender=:1.15 path=/MediaEndpoint/A2DPSource
Sep 08 18:08:53 arch bluetoothd[3584]: Endpoint registered: sender=:1.15 path=/MediaEndpoint/A2DPSink
Sep 08 18:09:05 arch bluetoothd[3584]: Failed to set mode: Failed (0x03)

$ sudo systemctl restart bluetooth.service

$ sudo hciconfig hci0 reset               
Can't init device hci0: Connection timed out (110)



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 08 Eylül 2016 - 18:14:54

hcitool dev çıktısında herhangi bir aygıt görünmüyor.

ata1

modprobe -r btusb
modprobe btusb


root yetkisi le denermisin

ertseyhan

Hâla zaman aşımı vermeye devam ediyor.

$ sudo modprobe -r btusb
$ sudo modprobe btusb
$ sudo hcitool dev
Devices:
hci0 B8:76:3F:FC:C5:96

$ sudo hciconfig hci0 reset
Can't init device hci0: Connection timed out (110)

ata1


ertseyhan

#10
0: sony-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no
1: sony-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
6: hci0: Bluetooth
Soft blocked: no
Hard blocked: no




Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 09 Eylül 2016 - 18:06:22


DÜZENLEME:

$ lsusb -v | grep "Foxconn"
Bus 001 Device 005: ID 0489:e036 Foxconn / Hon Hai
  idVendor           0x0489 Foxconn / Hon Hai


$ lsusb -v -d 0489:e036
Bus 001 Device 007: ID 0489:e036 Foxconn / Hon Hai
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x0489 Foxconn / Hon Hai
  idProduct          0xe036
  bcdDevice            0.02
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  ...


Yukarıdaki çıktılardan görüldüğü üzere "0489:e036" kimlikli "Foxconn / Hon Hai" bluetooth donanımı var sistemde. Kernel'de bu donanım ile ilgili çözülmüş bir böcek kaydı var: https://bugzilla.kernel.org/show_bug.cgi?id=49521
Bu böceğe ait çözüm yaması Çekirdek 4.1.1 ile yayınlanmış: https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.1

Ancak yandaki yama bağlantısında yer alan açıklamada da görüleceği üzere firmware dosyalarının(AthrBT_0x11020100.dfu ve ramps_0x11020100_40.dfu) eklenmediği belirtilmiş: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=a621d2c97a591fd811c192af007c0ae0d796dc30

Benim bu firmware dosyalarını temin edip /lib/firmware/ar3k dizinine yerleştirmem gerekiyor. Bu firmware dosyalarını sanırım kurulu bir Windows sisteminden temin etmem gerekecek. Dual boot kurulum yapmak kesinlikle istemiyorum. Sanal makineye kuracağım bir sistemden temin edebilir miyim? Ve bu firmware dosyaları Windows dosya sistemi içerisinde nerede tutuluyor?

ertseyhan

Firmware dosyalarının temin edilmesinin ardından sistem kulaklıklığı tespit edebildi. Sorun çözüldü.

bugra9