web-dev-qa-db-ja.com

Ralink RT 3290 Ubuntu 14.04でのBluetoothの問題

私は最近Ubuntu 14.04をインストールしましたが、Bluetooth以外はすべて正常に動作しています。

Ralink 3290 Bluetoothを使用しています。 here で説明されている方法を使用してドライバーをインストールしようとしました。コードはコンパイルされず、2つのエラーが発生します。 os/linux/pci_main_dev.cの変更でさえ機能しません。

更新:これで link に従い、ファイルを少し修正した後、このドライバーのコンパイルとインストールに成功しました。 UbuntuがついにBluetoothアダプターを見つけたと確信していますが、今ではbluetoothを取得しています:

rfkill list all
0: phy0: Wireless LAN
     Soft blocked: yes
     Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no

しかし、今ではBluetooth is disabledエラーが表示され、

dmesg | grep Blue
[   17.378741] Bluetooth: Core ver 2.17
[   17.378778] Bluetooth: HCI device and connection manager initialized
[   17.378788] Bluetooth: HCI socket layer initialized
[   17.378792] Bluetooth: L2CAP socket layer initialized
[   17.378799] Bluetooth: SCO socket layer initialized
[   17.809313] Bluetooth: hci0 sending frame failed
[   20.507392] Bluetooth: RFCOMM TTY layer initialized
[   20.507420] Bluetooth: RFCOMM socket layer initialized
[   20.507440] Bluetooth: RFCOMM ver 1.11
[   20.669232] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   20.669237] Bluetooth: BNEP filters: protocol multicast
[   20.669249] Bluetooth: BNEP socket layer initialized

やってくる。

14
Adnan

Bluetoothが動作するようになりました!

  1. まず、ここから ソースコード をダウンロードし、Homeに抽出します。

  2. その後、rtbth_core_bluez.cファイルを開き、86行目に移動して、以下から変更します。

    int rtbt_hci_dev_send(struct sk_buff *skb)
    {
        struct hci_dev *hdev = (struct hci_dev *)skb->dev;
    

    に:

    int rtbt_hci_dev_send(struct hci_dev *hdev, struct sk_buff *skb)
    {
        //struct hci_dev *hdev = (struct hci_dev *)skb->dev;
    
  3. 行216に移動して、以下から変更します。

        status = hci_recv_frame(skb);
    

    に:

        status = hci_recv_frame(hdev,skb);
    
  4. 次に、行406に移動して、以下から変更します。

    hdev->ioctl = rtbt_hci_dev_ioctl;
    

    に:

    //hdev->ioctl = rtbt_hci_dev_ioctl;
    
  5. 保存してからrtbth_hlpr_linux.cを開き、575行目に移動します。次から変更します。

    //daemonize((PSTRING)&pOSTask->taskName[0]);
    

    (PSTRING)&pOSTask->taskName[0];
    
  6. これで、コンパイルする準備ができました。ターミナルで次のようにコンパイルします。

    cd rtbth-3.9.3
    make
    Sudo make install
    
  7. リブート。さらに、Bluetoothがまだ機能しない場合は、この Zip 内に含まれるPDFファイルをたどることができます。
10
Adnan

これはLPのバグとして報告されています:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1189721

現在のところ、動作するドライバーはありません。 LPアカウントをお持ちの場合は、バグをあなたに影響があるものとしてマークし、コメントに関するメール通知を購読することをお勧めします。

6
int_ua

バグレポートの shihiroのコメント によると、Bluetoothドライバーで利用可能なPPAはよく管理されています。

ターミナルで使用

Sudo add-apt-repository ppa:blaze/rtbth-dkms
Sudo apt-get update
Sudo apt-get install rtbth-dkms

または、それをロードしてインストールします Launchpadから 。最初のリンクには、 GitHubページ へのソースリンクがあります。 README.mdで次を読むことができます:

# Init
Sudo modprobe rtbth
Sudo rfkill unblock bluetooth
hcitool dev # check

ターミナルに入力すると、すべてが機能します。

Ubuntu 17.10およびおそらくそれ以前のバージョンでは、モジュールが自動的にブラックリストに登録される場合があります。それがあなたに起こったら

  1. rtbth/etc/modulesに追加し、
  2. /etc/modprobe.d/dkms-rtbth.confを開き、blacklist rtbthという行をコメント化または削除します。
  3. システムを再起動します。
4
David Foerster

ここに簡単な方法があります、私もこの問題を2年間解決することを探していましたが、せいぜいすべてのBluetoothデバイスをリストすることができ、それらのどれにも接続できませんでしたが、今日私が遭遇した解決策の下で私にとって完璧に。

インストールは非常に簡単で、ファイルはgithub rtbth-dkms にあります。

インストールするには、

Sudo add-apt-repository ppa:blaze/rtbth-dkms
Sudo apt-get update
Sudo apt-get install rtbth-dkms

そして、以下のInitコマンドに従ってください。BlueToothが動作するようになり、問題があればコメントを残してください。喜んでお手伝いさせていただきます。

使用法

# Init
Sudo modprobe rtbth
Sudo rfkill unblock bluetooth
hcitool dev # check

# Switch off
Sudo rfkill block bluetooth

# Switch on
Sudo rfkill unblock bluetooth

# Shutdown
Sudo pkill -2 rtbt
Sudo rmmod rtbth
0
Suraj Jain

HP ProBook 455 G1ラップトップで動作するDKMSおよびsystemdソリューション:
ネットワークコントローラー:Ralink corp。 RT3290ワイヤレス802.11n 1T/1R PCIeおよびそのハイブリッド。
Bluetoothが組み込まれているのは、Ralink corpです。 RT3290 Bluetooth。

この指示がUbuntuで機能するかどうかを確認してください。
たとえば、OSおよびカーネルLinuxバージョンを記述します。

テスト済み:
OS:Fedora 27 with gnome Shell。
カーネルLinux:4.13.12-300.fc27.x86_64

Copy source from:
https://github.com/loimu/rtbth-dkms

DKMS Build Instruction:
http://xmodulo.com/build-kernel-module-dkms-linux.html

ファイルをコピー:

cp 49rtbt to /usr/lib64/pm-utils/sleep.d  
cp rtbt to one of this folder /bin or /usr/local/bin or /usr/bin

新しいファイル名をbluetooth-setup.shにして、コピーします:

#!/bin/bash
Sudo mknod /dev/rtbth c 192 0
Sudo rtbt

この指示に従うことにより、自動開始を行います。
systemdにスクリプトを追加します。

https://linuxconfig.org/how-to-automatically-execute-Shell-script-at-startup-boot-on-systemd-linux 
0
Adam Ł.