Hi,
I have Lenovo laptop with an Intel wireless and Bluetooth adapter, running CentOS 6.9. The wireless works just fine, but I can't seem to get Bluetooth to work. When I try to force it up from the command line I get
# hciconfig hci0 up Can't init device hci0: Invalid request code (56)
There is also a similar message message in /var/log/messages from start-up on boot. The device info from "hciconfig" also seems a bit suspicious to me - notice how the address has all 0s:
# hciconfig -a hci0: Type: BR/EDR Bus: USB BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0 DOWN RX bytes:48 acl:0 sco:0 events:8 errors:0 TX bytes:24 acl:0 sco:0 commands:12 errors:4
/var/log/messages indicates that firmware is loaded correctly
# egrep "iwlwifi.*firmware" /var/log/messages Nov 20 09:24:16 osl-97214 kernel: iwlwifi 0000:04:00.0: firmware: requesting iwlwifi-8000C-17.ucode Nov 20 09:24:16 osl-97214 kernel: iwlwifi 0000:04:00.0: firmware: requesting iwlwifi-8000C-16.ucode Nov 20 09:24:16 osl-97214 kernel: iwlwifi 0000:04:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm
and I think the following shows that the device is actually there
# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 003: ID 17ef:1010 Lenovo Bus 001 Device 004: ID 8087:0a2b Intel Corp. Bus 001 Device 005: ID 5986:0706 Acer, Inc Bus 002 Device 002: ID 17ef:1010 Lenovo Bus 001 Device 006: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 007: ID 17ef:100f Lenovo Bus 002 Device 003: ID 2109:8110 VIA Labs, Inc. Hub Bus 001 Device 008: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
# lsusb -s 001:004 -v | grep bInterface bInterfaceNumber 0 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth
The bluetooth kernel modules should be loaded, too (but perhaps I need some extra driver or whatever?)
# lsmod | grep bluetooth bluetooth 97799 6 sco,bnep,l2cap,btusb rfkill 19255 5 cfg80211,bluetooth,thinkpad_acpi
Does anyone have any idea what's wrong here? Is there any way at all I can enable Bluetooth on this system?
Thanks,
- Toralf
On 11/20/2017 03:33 AM, Toralf Lund wrote:
Hi,
I have Lenovo laptop with an Intel wireless and Bluetooth adapter, running CentOS 6.9. The wireless works just fine, but I can't seem to get Bluetooth to work. When I try to force it up from the command line I get
# hciconfig hci0 up Can't init device hci0: Invalid request code (56)
There is also a similar message message in /var/log/messages from start-up on boot. The device info from "hciconfig" also seems a bit suspicious to me - notice how the address has all 0s:
# hciconfig -a hci0: Type: BR/EDR Bus: USB BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0 DOWN RX bytes:48 acl:0 sco:0 events:8 errors:0 TX bytes:24 acl:0 sco:0 commands:12 errors:4
/var/log/messages indicates that firmware is loaded correctly
# egrep "iwlwifi.*firmware" /var/log/messages Nov 20 09:24:16 osl-97214 kernel: iwlwifi 0000:04:00.0: firmware: requesting iwlwifi-8000C-17.ucode Nov 20 09:24:16 osl-97214 kernel: iwlwifi 0000:04:00.0: firmware: requesting iwlwifi-8000C-16.ucode Nov 20 09:24:16 osl-97214 kernel: iwlwifi 0000:04:00.0: loaded firmware version 16.242414.0 op_mode iwlmvm
and I think the following shows that the device is actually there
# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 003: ID 17ef:1010 Lenovo Bus 001 Device 004: ID 8087:0a2b Intel Corp. Bus 001 Device 005: ID 5986:0706 Acer, Inc Bus 002 Device 002: ID 17ef:1010 Lenovo Bus 001 Device 006: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 007: ID 17ef:100f Lenovo Bus 002 Device 003: ID 2109:8110 VIA Labs, Inc. Hub Bus 001 Device 008: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
# lsusb -s 001:004 -v | grep bInterface bInterfaceNumber 0 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth bInterfaceNumber 1 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth
The bluetooth kernel modules should be loaded, too (but perhaps I need some extra driver or whatever?)
# lsmod | grep bluetooth bluetooth 97799 6 sco,bnep,l2cap,btusb rfkill 19255 5 cfg80211,bluetooth,thinkpad_acpi
Does anyone have any idea what's wrong here? Is there any way at all I can enable Bluetooth on this system?
I have never actually tried to use bluetooth on CentOS Linux 6. I use bluetooth all the time on CentOS Linux 7.
The base kernel in EL6 is fairly old (2.6.32). Red Hat backports (http://red.ht/2h14UtV) changes to the kernel for security and bugfixes, however they don't back part every driver or firmware .. so sometimes, some hardware still has the original (older) code.
You could TRY the elrepo kernel(s) for CentOS Linux 6 and see if it allows the bluetooth to work.
http://elrepo.org/linux/kernel/el6/x86_64/RPMS/
They have a Long Term (lt) kernel (3.10.x) and a MainLine (ml) kernel that you can try.
IF you use the XFS file system (instead of ext4) then you will also want to upgrade your xfsprogs (http://bit.ly/2hOlsec) to this version if you use a newer elrepo kernel due to this bug (http://red.ht/2hHsJZS , http://bit.ly/2mNN9G2).