yumetodoの旅とプログラミングとかの記録

旅や登山の記録やプログラミング関連の話とかフリーソフト紹介とか

Windows10のBluetoothの不安定さをどうにかするべく戦った

状況

yumetodo.hateblo.jp

でマウスのbluetooth化をした。しかし毎回起動後に一回デバイスを消して再セットアップしないとつながらない病が発生していた。設定ツール的なのを入れてうまく行ったと思ったのは気のせいだった。

  • ELECOM LBT-UAN05C2/N
  • ELECOM M-XGM10BB

を使用している。

前提

サポートに電話

yumetodo.hateblo.jp

のときと違って、Windows10は公式にサポートしているのだから、電話するのが手っ取り早い。

・・・金曜日の夕方ってこんなに電話繋がりにくいっけ??(15分待ち

バイスマネージャーにて

バイスマネージャーを開き、Bluetooth→Generic Bluetooth Radioを右クリック→プロパティで、電源の管理タブの「電力節約のために、コンピュータでこのデバイスの電源をオフにできるようにする」のチェックを外す。

img1

電源管理

コントロールパネルから検索で電源管理を呼び出す。

アクティブなプランの「プラン設定の変更」から

img2

詳細な電源設定の変更

img3

USB設定→USBセレクティブサスペンドの設定を無効に

img4

バイスの再登録

一回マウスを削除して再度ペアリングして追加。

結果

再起動したところ、無事認識している。

Ubuntu環境のBluetoothの不安定さをどうにかするべく戦った

状況

yumetodo.hateblo.jp

でマウスのbluetooth化をした。しかし

intron.cocolog-nifty.com

と同じように、毎回起動後に一回デバイスを消して再セットアップしないとつながらない病が発生していた。bluemanを入れてうまく行ったと思ったのは気のせいだった。

  • ELECOM LBT-UAN05C2/N
  • ELECOM M-XGM10BB

を使用している。

前提

  • Ubuntu 16.04
  • porgはすでに入っている。
  • gccとかpython3もある

pip更新

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py 

aptで入れたもの

すにでaptからblueman入れちゃったからよくわかんないけど追加で入れたのは

$ sudo apt install libical-dev libreadline-dev python-gi-dev cython cython3 libdbus-1-dev libudev-dev

bluezのビルド

$ wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz
$ tar -xf bluez-5.50.tar.xz
$ wget https://ftp.osuosl.org/pub/blfs/conglomeration/bluez/bluez-5.50-obexd_without_systemd-1.patch
$ cd bluez-5.50
$ patch -Np1 -i ../bluez-5.49-obexd_without_systemd-1.patch
$ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-library
$ make -j4
$ sudo porg -lD make install

gnome-bluetoothとの衝突防止にbluez-5.49向けに出ているパッチを当てる。

READMEには--enable-libraryのことが書かれていないが、つけないとlibbluetooth-dev相当がビルドされない。

bluemanのビルド

$ wget https://github.com/blueman-project/blueman/releases/download/2.1.alpha2/blueman-2.1.alpha2.tar.xz
$ tar -xf blueman-2.1.alpha2.tar.xz
$ cd blueman-2.1.alpha2
$ ./configure
$ make -j4
$ sudo porg -lD make install

結果

再起動するとマウスが使えるようになった。やったね。

しかしbluemanは立ち上がらない。gnome-bluetoothは生きている。

$ blueman-services
Traceback (most recent call last):
  File "/usr/local/bin/blueman-services", line 17, in <module>
    from blueman.Functions import set_proc_title, setup_icon_path, create_logger, create_parser
ImportError: cannot import name 'create_logger'

$ blueman-applet --version
Traceback (most recent call last):
  File "/usr/local/bin/blueman-applet", line 15, in <module>
    from blueman.Functions import create_logger, create_parser, set_proc_title
ImportError: cannot import name 'create_logger'

$ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since 木 2018-07-19 15:23:44 JST; 1min 15s ago
     Docs: man:bluetoothd(8)
 Main PID: 1161 (bluetoothd)
   Status: "Running"
    Tasks: 1
   Memory: 1.6M
      CPU: 11ms
   CGroup: /system.slice/bluetooth.service
           └─1161 /usr/libexec/bluetooth/bluetoothd

 7月 19 15:23:44 yumetodo-desktop bluetoothd[1161]: Bluetooth management interface 1.10 initialized
 7月 19 15:23:44 yumetodo-desktop bluetoothd[1161]: Failed to set privacy: Rejected (0x0b)
 7月 19 15:23:44 yumetodo-desktop systemd[1]: Started Bluetooth service.
 7月 19 15:23:48 yumetodo-desktop bluetoothd[1161]: Endpoint registered: sender=:1.42 path=/MediaEndpoint/A2DPSource
 7月 19 15:23:48 yumetodo-desktop bluetoothd[1161]: Endpoint registered: sender=:1.42 path=/MediaEndpoint/A2DPSink
 7月 19 15:24:00 yumetodo-desktop bluetoothd[1161]: Endpoint registered: sender=:1.74 path=/MediaEndpoint/A2DPSource
 7月 19 15:24:00 yumetodo-desktop bluetoothd[1161]: Endpoint registered: sender=:1.74 path=/MediaEndpoint/A2DPSink
 7月 19 15:24:00 yumetodo-desktop bluetoothd[1161]: RFCOMM server failed for Headset Voice gateway: rfcomm_bind: Address already in use (98)
 7月 19 15:24:11 yumetodo-desktop bluetoothd[1161]: Endpoint unregistered: sender=:1.42 path=/MediaEndpoint/A2DPSource
 7月 19 15:24:11 yumetodo-desktop bluetoothd[1161]: Endpoint unregistered: sender=:1.42 path=/MediaEndpoint/A2DPSink

bluetoothdも微妙にコケてる。

まあいいっか、動けば。

なんというかbluezだけビルドすればよかった気もするが、もうこれに労力を割きたくない。

自宅デスクトップPC周辺拡張第1弾

問題点

だいぶ前にSycomのBTOで買ったPCにWindows10とUbuntu16.04を入れて使っているがいくつか問題があった。

Disk容量不足

Cricial CT500MX200SSD1 256GBとTOSHIBA DT01ACA100 1TBのを搭載してたんだけど、デュアルブートしてるとさすがに足りなかった。

マウス

Windows98の頃から使っているUSB接続ですらない光学マウスで、スクロールがしづらく、ケーブルが微妙に短くて困っていた。それでも昔DELLのPC買ったときについてきたゴミマウスよりマシだから使ってたけど。いい加減無線にしたい。

LANケーブル

Windows98より更に前、Mac OS 7とか使ってたというか多分昔Yahoo! BB ADSL使い始めた頃に買ったカテゴリー5のくっそ古くて長過ぎる有線LANケーブルを使っていた。

今はJ:COM .NETの40Mプランで

img

上りが11~40Mbps/下り1.5~2Mbpsしかでない。

カテゴリー5というのが規格的には100Mbpsなので全然足りるといえば足りるのだが、LANでなんか共有するときに遅く感じる。

もっというと最近Cities Skylineというゲームにハマっていて、デスクトップPCからストリーミングしてやるときに遅い原因の一つかな?と思ったので。

改善

ちかくのケーズデンキでいろいろ買ってきた。

Disk増設

yumetodo.hateblo.jp

yumetodo.hateblo.jp

昨年4回もノートPCが壊れたために買い替えたのだが、その時買ったLenovo E470についてきたTOSHIBA MQ01ACF050 というHDDを速攻で外してそれまで使っていたCrucial CT500MX200SSD1 に付け替えたのでこのHDDがずっと余っていて、自宅のデスクトップPCの近くに無造作にぽんとおいていた。こいつをとりあえず付けることにした。

STATAケーブルが足りないのでケーズデンキで購入した。ついでにインチネジと制振ゴムもないので買った。

デュアルブート/home用のパーテションを元あったTOSHIBA DT01ACA100 1TBのやつに100GB割り当てていたのだが、一回Live Diskで起動してGPartedのパーテションをコピー機能で増設したHDDに移動しつつ350GBに広げた。

加えて残りをNTFSでWindows10からフォーマットしてとりあえずマウントするようにした。

移動して空いた100GBを消し飛ばしてWindowsでDドライブに割り当てているパーテションを広げた。

マウス

BlueLEDかつBluetooth3.0接続のを買った。

もちろんBluetooth 4.0のがむっちゃ消費電力少ないのは知ってるんだけどケーズデンキには良さげなのがなかったのでね。

デスクトップPCにBluetoothのアンテナが無いのでUSB接続のカテゴリー2のやつを取り付けた。

PC本体は床置きなんだけど、PCの裏側に指したら電波が弱いらしく安定しなかったのでフロントの2つあるUSBポートを1つそれに使うことにした。まあ問題はない。

ただそれでも機嫌が悪くてPC起動直後は接続が安定しないので電池の抜き差しで対応している。うーむ。

Ubuntuで接続が安定しなかったのはbluemanを入れてそいつからペアリングしたらうまくいっている。今のところは。
→全くそんなことはなかった。 yumetodo.hateblo.jp

Windowsは公式から設定ツール的なのを入れたら多少安定している・・・?
→全くそんなことはなかった。 yumetodo.hateblo.jp

LANケーブル

カテゴリ6Aの2mのケーブルを買った。当然測ってちょうどいい長さを買っているので配線もすっきり。速度?知らんな。

配線周り

まず有線マウスのケーブルが今回消えて、LANケーブルも短くなった。その他のケーブルは結束バンドでぐちゃぐちゃしないように束ねたので多少ましになった。

第2弾予告

モリーが8GBじゃ足りないけどケーズデンキには流石に売ってないな(というかSATAケーブルとかインチネジとか売ってることに驚きだよ。)というわけで、

「WindwosにはReadybootあるから高速なUSB買えばある程度ましになるんじゃね?」とか思って買ったんですが、「お使いのPCは十分に高速です」とか言われた。あっ、はい。普通にUSBメモリーとして使わせていただきます。

・・・ちくしょう。

というわけでおとなしくメモリー買ってきます。そうしたら気兼ねなくLLVMのビルドとかできるはず。ldがおバカで無限にメモリー食うからね。lld使えってことなんですが。