[CentOS] Intel Bluetooth problems - "Invalid request code (56)" - on CentOS 6.9

Mon Nov 20 13:30:17 UTC 2017
Johnny Hughes <johnny at centos.org>

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).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20171120/a381931f/attachment-0004.sig>