You are not logged in.
I recently installed Arch on an old MacBook Pro (v1,1) from 2006, and I'm having problems getting bluetooth to work. I'm using bluez4 because I'm using gnome-shell.
hciconfig produces no output.
lsusb shows the device in HID mode,
$ lsusb
Bus 001 Device 003: ID 05ac:8501 Apple, Inc. Built-in iSight [Micron]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 05ac:1000 Apple, Inc. Bluetooth HCI MacBookPro (HID mode)
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 05ac:8240 Apple, Inc. Built-in IR Receiver
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 05ac:0217 Apple, Inc. Internal Keyboard/Trackpad (ANSI)
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubso I tried running hid2hci (as suggested by the Bluetooth wiki page) with the path determined as described in this post.
# /lib/udev/hid2hci --devpath devices/pci0000:00/0000:00:1d.3/usb5/5-1 --method csr
Can't open device: No such file or directory (2)
error: unable to handle '/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1'
$ stat /sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1
File: '/sys/devices/pci0000:00/0000:00:1d.3/usb5/5-1'
Size: 0 Blocks: 0 IO Block: 4096 directory
Device: dh/13d Inode: 12166 Links: 6
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-09-29 16:07:26.268170146 -0400
Modify: 2013-09-29 15:39:37.720357106 -0400
Change: 2013-09-29 15:39:37.720357106 -0400
Birth: -Any ideas?
$ uname -a
Linux hydrogen 3.11.2-1-ARCH #1 SMP PREEMPT Fri Sep 27 08:03:21 CEST 2013 i686 GNU/Linux
$ lsmod
Module Size Used by
fuse 65847 3
bnep 8922 2
bluetooth 271173 7 bnep
hid_appleir 2264 0
hid_generic 749 0
hid_apple 4205 0
uvcvideo 63684 0
videobuf2_vmalloc 2604 1 uvcvideo
videobuf2_memops 1683 1 videobuf2_vmalloc
videobuf2_core 24341 1 uvcvideo
usbhid 36609 0
lm63 10557 0
videodev 88107 2 uvcvideo,videobuf2_core
media 9140 2 uvcvideo,videodev
hid 70718 4 hid_generic,usbhid,hid_appleir,hid_apple
joydev 7339 0
iTCO_wdt 4471 0
appletouch 8402 0
iTCO_vendor_support 1545 1 iTCO_wdt
arc4 1628 2
evdev 8208 13
applesmc 9834 0
coretemp 5278 0
input_polldev 2142 1 applesmc
radeon 1117014 3
kvm_intel 121535 0
kvm 321817 1 kvm_intel
ttm 47394 1 radeon
drm_kms_helper 31934 1 radeon
microcode 10132 0
drm 191226 5 ttm,drm_kms_helper,radeon
ath5k 125372 0
pcspkr 1487 0
i2c_i801 9905 0
acpi_cpufreq 9523 1
i2c_algo_bit 4583 1 radeon
mperf 991 1 acpi_cpufreq
ath 12669 1 ath5k
of_i2c 1774 1 i2c_i801
mac80211 389700 1 ath5k
lpc_ich 11460 0
sky2 43633 0
tpm_infineon 7342 0
intel_agp 8688 0
intel_gtt 10172 1 intel_agp
agpgart 22047 4 drm,ttm,intel_agp,intel_gtt
cfg80211 336964 3 ath,ath5k,mac80211
rfkill 12714 5 cfg80211,bluetooth
tpm 13163 1 tpm_infineon
video 10071 0
processor 22169 3 acpi_cpufreq
i2c_core 19967 8 drm,lm63,i2c_i801,drm_kms_helper,i2c_algo_bit,of_i2c,radeon,videodev
apple_bl 2956 0
tpm_bios 8381 1 tpm
snd_hda_codec_idt 32712 1
snd_hda_intel 30903 3
battery 5589 0
ac 2668 0
button 3685 0
snd_hda_codec 127562 2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep 4746 1 snd_hda_codec
shpchp 21973 0
snd_pcm 63876 2 snd_hda_codec,snd_hda_intel
snd_page_alloc 5974 2 snd_pcm,snd_hda_intel
snd_timer 14942 1 snd_pcm
snd 44566 12 snd_hwdep,snd_timer,snd_hda_codec_idt,snd_pcm,snd_hda_codec,snd_hda_intel
soundcore 4386 1 snd
ext4 425604 2
crc16 1091 2 ext4,bluetooth
mbcache 4290 1 ext4
jbd2 70221 1 ext4
sd_mod 28311 4
sr_mod 13055 0
cdrom 29900 1 sr_mod
ata_generic 2434 0
pata_acpi 2367 0
ata_piix 20856 4
libata 149201 3 pata_acpi,ata_generic,ata_piix
scsi_mod 108590 3 libata,sd_mod,sr_mod
firewire_ohci 27462 0
uhci_hcd 21416 0
ehci_pci 3404 0
ehci_hcd 42852 1 ehci_pci
firewire_core 44687 1 firewire_ohci
crc_itu_t 1095 1 firewire_core
usbcore 152779 6 uhci_hcd,uvcvideo,ehci_hcd,ehci_pci,usbhid,appletouch
usb_common 1399 1 usbcoreOffline
hi, same here on a Mac Mini (mid 2007) I've tested with bluez4 and bluez5.
[root@luke mau]# uname -a
Linux luke 3.11.2-1-ARCH #1 SMP PREEMPT Fri Sep 27 07:35:36 CEST 2013 x86_64 GNU/Linux
[root@luke mau]# lsusb
Bus 005 Device 002: ID 05ac:1000 Apple, Inc. Bluetooth HCI MacBookPro (HID mode)
...
[root@luke mau]# hid2hci
Can't open device: No such file or directory (2)
[root@luke mau]# hcitool dev
Devices:
[root@luke mau]# hidd --showFollowing this post https://bbs.archlinux.org/viewtopic.php?id=167210 I thought it might have something to do with the kernel? I tried to downgrade kernel from 3.11 to 3.10 an then to 3.9 without resolving the issue.
[root@luke mau]# uname -a
Linux luke 3.9.7-1-ARCH #1 SMP PREEMPT Mon Sep 30 21:51:49 CEST 2013 x86_64 GNU/Linux
[root@luke mau]# lsusb
Bus 004 Device 002: ID 05ac:1000 Apple, Inc. Bluetooth HCI MacBookPro (HID mode)
...
[root@luke mau]# /lib/udev/hid2hci --devpath devices/pci0000:00/0000:00:1d.3/usb5/5-1 --method csr
error: could not find 'devices/pci0000:00/0000:00:1d.3/usb5/5-1Here what dmesg tells me about bluetooth:
$ dmesg | grep bluetooth
[root@luke mau]# dmesg | grep Bluetooth
[ 63.467549] Bluetooth: Core ver 2.16
[ 63.467589] Bluetooth: HCI device and connection manager initialized
[ 63.467605] Bluetooth: HCI socket layer initialized
[ 63.467609] Bluetooth: L2CAP socket layer initialized
[ 63.467617] Bluetooth: SCO socket layer initialized
[ 63.583429] Bluetooth: RFCOMM TTY layer initialized
[ 63.583449] Bluetooth: RFCOMM socket layer initialized
[ 63.583451] Bluetooth: RFCOMM ver 1.11
[ 107.627839] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 107.627858] Bluetooth: HIDP socket layer initializedHere my loaded kernel(3.9)modules
[root@luke mau]# lsmod
Module Size Used by
hidp 18002 0
rfcomm 51516 0
bluetooth 304004 4 hidp,rfcomm
nfsv4 219580 1
nfsd 266601 9
auth_rpcgss 34243 2 nfsd,nfsv4
nfs_acl 2615 1 nfsd
arc4 2000 2
ath5k 135820 0
ath 15489 1 ath5k
mac80211 487694 1 ath5k
cfg80211 452268 3 ath,ath5k,mac80211
iTCO_wdt 5407 0
iTCO_vendor_support 1929 1 iTCO_wdt
rfkill 15626 3 cfg80211,bluetooth
i2c_i801 11269 0
sky2 49507 0
applesmc 11918 0
input_polldev 2850 1 applesmc
coretemp 6102 0
snd_hda_codec_idt 37946 1
shpchp 25649 0
kvm_intel 125437 0
kvm 390199 1 kvm_intel
microcode 13204 0
snd_hda_intel 35816 0
snd_hda_codec 145920 2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep 6364 1 snd_hda_codec
snd_pcm 76860 2 snd_hda_codec,snd_hda_intel
snd_page_alloc 7362 2 snd_pcm,snd_hda_intel
pcspkr 2027 0
snd_timer 18687 1 snd_pcm
snd 58893 6 snd_hwdep,snd_timer,snd_hda_codec_idt,snd_pcm,snd_hda_codec,snd_hda_intel
lpc_ich 12849 0
pci_hotplug 22930 1 shpchp
soundcore 5418 1 snd
evdev 9912 10
nfs 144455 2 nfsv4
lockd 76709 2 nfs,nfsd
sunrpc 220758 30 nfs,nfsd,auth_rpcgss,lockd,nfsv4,nfs_acl
fscache 44638 2 nfs,nfsv4
acpi_cpufreq 10726 1
mperf 1299 1 acpi_cpufreq
processor 27555 3 acpi_cpufreq
ext4 486052 6
crc16 1359 2 ext4,bluetooth
mbcache 5930 1 ext4
jbd2 85240 1 ext4
hid_generic 1153 0
usbhid 40956 0
hid 87539 3 hidp,hid_generic,usbhid
dm_mod 72527 29
sr_mod 14930 0
cdrom 35072 1 sr_mod
sd_mod 30858 3
ata_generic 3370 0
pata_acpi 3387 0
ata_piix 24888 2
firewire_ohci 31845 0
libata 170033 3 pata_acpi,ata_generic,ata_piix
scsi_mod 129628 3 libata,sd_mod,sr_mod
firewire_core 52307 1 firewire_ohci
crc_itu_t 1363 1 firewire_core
ehci_pci 4120 0
uhci_hcd 24627 0
ehci_hcd 47407 1 ehci_pci
usbcore 177091 4 uhci_hcd,ehci_hcd,ehci_pci,usbhid
usb_common 954 1 usbcore
i915 563542 4
video 11203 1 i915
button 4669 1 i915
i2c_algo_bit 5391 1 i915
intel_agp 10872 1 i915
intel_gtt 12664 3 i915,intel_agp
drm_kms_helper 35086 1 i915
drm 230013 5 i915,drm_kms_helper
i2c_core 22447 5 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bitSo its not the kernel module and installing bluez5 or bluez4 made no difference.
[root@luke mau]# pacman -Ss bluez | grep installed
extra/bluez-firmware 1.2-7 [installed]
extra/bluez-libs 5.9-1 [installed]
extra/bluez-utils 5.9-1 [installed]
extra/bluez4 4.101-3 [installed]
[root@luke udev]# sha1sum hid2hci
09dbf30a30cd0f8a2ca46f6009e0cd979e745159 hid2hciafter installing bluez version 5
[root@luke udev]# pacman -Ss bluez | grep installed
extra/bluez 5.9-1 [installed]
extra/bluez-firmware 1.2-7 [installed]
extra/bluez-libs 5.9-1 [installed]
extra/bluez-utils 5.9-1 [installed]
[root@luke udev]# sha1sum hid2hci
09dbf30a30cd0f8a2ca46f6009e0cd979e745159 hid2hciHa that's the same file! I am going to downgrade that next....
[root@luke pkg]# pacman -Qo /lib/udev/hid2hci
/lib/udev/hid2hci is owned by bluez-utils 5.9-1
[root@luke pkg]# find /var/cache/pacman/pkg -name 'bluez-*'
/var/cache/pacman/pkg/bluez-utils-5.7-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/bluez-5.9-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/bluez-libs-5.7-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/bluez-firmware-1.2-7-any.pkg.tar.xz
/var/cache/pacman/pkg/bluez-libs-5.9-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/bluez-utils-5.9-1-x86_64.pkg.tar.xz
[root@luke pkg]# sha1sum /lib/udev/hid2hci
937659778fc90263e3e5d00baa01653273f1f5c8 /lib/udev/hid2hci
[root@luke pkg]# /lib/udev/hid2hci --devpath devices/pci0000:00/0000:00:1d.3/usb5/5-1 --method csr
error: could not find 'devices/pci0000:00/0000:00:1d.3/usb5/5-1'
[root@luke pkg]# pacman -U /var/cache/pacman/pkg/bluez-libs-5.7-1-x86_64.pkg.tar.xz
[root@luke pkg]# systemctl daemon-reload
[root@luke pkg]# systemctl restart bluetooth
[root@luke pkg]# /lib/udev/hid2hci --devpath devices/pci0000:00/0000:00:1d.3/usb5/5-1 --method csr
error: could not find 'devices/pci0000:00/0000:00:1d.3/usb5/5-1'So still no clues.... but I think it's related to hid2hci not able to switch mode, I would like to test with bluez-utils < 5.7 but don't have that package at hand, will try to boot from an older install CD just to be sure what the old behavior of hid2hci was and confirm that it should work.
Last edited by m2 (2013-09-30 21:36:59)
Offline
On another iMac (21.5-inch, Late 2009) bluetooth is working
[mau@dalia ~]$ pacman -Ss bluez | grep installed
extra/bluez-libs 5.9-1 [installed]
extra/bluez-utils 5.9-1 [installed]
extra/bluez4 4.101-3 [installed]
[mau@dalia ~]$ uname -a
Linux dalia 3.11.2-1-ARCH #1 SMP PREEMPT Fri Sep 27 07:35:36 CEST 2013 x86_64 GNU/Linux
[mau@dalia ~]$ sha1sum /lib/udev/hid2hci
fa3d4c8529455ca4613215bc010ffb22cde4ad81 /lib/udev/hid2hci
[mau@dalia ~]$ lsusb
Bus 004 Device 003: ID 05ac:8215 Apple, Inc. Built-in Bluetooth 2.0+EDR HCI
...
[mau@dalia ~]$ hcitool dev
Devices:
hci0 00:26:4A:A4:81:E8
[mau@dalia ~]$ hidd --show
00:26:BB:79:C6:06 Mau’s Mouse [05ac:030d] connected So what is the difference between 05ac:8215 and 05ac:1000
Offline
I installed a package from AUR that particular old package works.
Offline
downgrade bluez to version 4.99-6 also works and when I copy the hid2hci file from 4.99-6 to my installation of bluez5 that also works. The problems stems only from hid2hci.
Official old archlinux package from ABS for bluez4.99-6 (without AUR and fedora patches) which works for me:
https://projects.archlinux.org/svntogit … 3a6.tar.gz
Offline
I'll give that a try and let everyone know.
Offline
Was going to write a patch for it, but I found one at http://permalink.gmane.org/gmane.linux. … rnel/38294 that fixed the issue when applied to the bluez git http://git.kernel.org/cgit/bluetooth/bluez.git/.
Still gives an error when running,
Control transfer failed: Invalid or incomplete multibyte or wide character (84)
error: switching device '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1' failed.Which I suspect is caused by hid2hci passing in a zero length to ioctl when using csr, but it works regardless.
Last edited by Knasher (2013-10-09 15:09:25)
Offline
The patch fixed it for me when applied to bluez-5.9.tar.gz. Hopefully that will get accepted upstream soon.
Thanks, everyone.
Offline
The bug remains in 5.10, which was pushed last night, so you will need to be manually recompile it again. However the patch to fix it has been accepted as of 8 days ago, so it will be part of 5.11. So hopefully this will be the last time this is necessary.
Offline
Anyone resolved that problem yet?
Using Fedora i stumbled upon the following solution (from Stackoverflow):
(...) I edited /usr/lib/systemd/system/bluetooth.service and included the (--compat) flag in the ExecStart option.
ExecStart=/usr/libexec/bluetooth/bluetoothd --compat
Then
$ systemctl daemon-reload
$ systemctl restart bluetooth.service
HTH
Offline