Intel Bluetooth Problems – “Invalid Request Code (56)” – On CentOS 6.9

Home » CentOS » Intel Bluetooth Problems – “Invalid Request Code (56)” – On CentOS 6.9
CentOS 1 Comment

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

One thought on - Intel Bluetooth Problems – “Invalid Request Code (56)” – On CentOS 6.9

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