2016/02/18

LMDE2とデュアルブートしているwindows 7 を 10 にアップグレードする

結論から言うと、特に何も問題なく、あっさりアップグレードできました。

参考にしたのは以下のページ
How to Upgrade a Linux Dual-Boot System to Windows 10
http://www.howtogeek.com/226295/how-to-upgrade-a-linux-dual-boot-system-to-windows-10/

環境

まず私の環境を再度確認。
Windows 7 SP1 と LMDE2 とのデュアルブート環境。
Windows の Cドライブが入っている物理ストレージに LMDE2 を同居かつ、GRUB2が入っています。

Windows10 アップグレード

上記記事の内容だと、Windows 10 アップグレード後に、GRUB2に影響が出て、Windows は起動できるが、Linuxは起動できない状態になるとありましたが、アップグレード後特に問題なく起動出来ました。

注意点としては、Windows 10 アップグレード時に3〜4回ぐらい(忘れました)再起動しますが、その時はGRUB2から Windows を選択してやる必要があるため、基本的にパソコン前に張り付いておく必要があります。

Windows 10 アップグレード後、GRUB2 への影響

何もありません。
何もないので、引き続き GRUB2 には Windows 7と表記されいます。
上記リンク先に、 ubuntu での GRUB2 の表記を Windows 10 に更新する方法が書かれていたので、それをヒントに LMDE2 でもできるかもしれませんが、特に困った事はなかったので私 7 の表記のまま使っています。

私はアップグレード時に、特に問題は起きませんでしたが、
他の環境ではどうなるか分からないので、ファイルはバックアップをしっかりとってから実行して下さい。

2016/02/03

Android 5.0.2 以上でBLEが動かない

Occurrence -事象-

機材とAndroid を BLE (Bluetooth low energy) で繋ごうとしたところ、Android 5.0.2以上の端末で Security Exception が発生した。
5.0.1 や 4.2 などは問題ないが、5.1や6.0で発生する。

エラー内容は以下のようになっている。

java.lang.SecurityException: Need BLUETOOTH_PRIVILEGED permission: Neither user 99999 nor current process has android.permission.BLUETOOTH_PRIVILEGED.

発生箇所は BluetoothGatt#setCharacteristicNotification

Causes -原因-

StackOverflow にほぼ発生事例そのままの報告がある、

Android 5.0.2 onwards don’t allow HID access through Bluetooth LE

さらに、Android Issues に [BLE] Reading/writing char/descr of a HID service throws an exception があり、その中で

“Enforce BLUETOOTH_PRIVILEGED permission for HID-over-GATT”

のメッセージのコミットが原因でHIDに対する GATTのコネクションに BLUETOOTH_PRIVILEGED が要求されるようになったと書かれている。

HID とは ?

HID(Human Interface Device)のことで、
マウスやキーボードなどの入力装置を無線化するためのBluetooth用のプロファイル。
本来上記の通り、マウスキーボードなどに使われるものだが、健康器具などにも使われているケースがある。確かに人が使うものだけど。

BLUETOOTH_PRIVILEGED とは?

Android Developers によれば、

Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access. This is not available to third party applications.

HIDに関係ありそうなのは、メッセージに対するアクセスかな?
全然HIDと関係なさそうに見える。
ただ一番大事なのは最後のサードパーティアプリはこれを有効に出来ないという一文。
ビルドインアプリを開発するか、OSのビルド署名を貰えるようなアプリ開発の時は問題ないが、普通にアプリを作っている場合は、この権限を有効化する方法はない。

see also AndroidDevelopers::Manifest.permission::BLUETOOTH_PRIVILEGED

Summary -まとめ-

HID を使ってるかの判断

以下のコミットによると、HIDの判断は, Characteristic UUID が
https://android.googlesource.com/platform/packages/apps/Bluetooth/+/02bebee

00002A4A-0000-1000-8000-00805F9B34FB
00002A4B-0000-1000-8000-00805F9B34FB
00002A4C-0000-1000-8000-00805F9B34FB
00002A4D-0000-1000-8000-00805F9B34FB

のいずれかに該当した場合となる。

上記 Characteristic を引数にしてい BluetoothGatt#setCharacteristicNotification をコールすると SecurityException が発生するようになっている。

禁止された Characteristic UUID

Bluetooth Developer portal で Characteristic UUID の区分け確認できる。

Characteristic UUID 内容
00002A4A-0000-1000-8000-00805F9B34FB HID Information
00002A4B-0000-1000-8000-00805F9B34FB Report Map
00002A4C-0000-1000-8000-00805F9B34FB HID Control Point
00002A4D-0000-1000-8000-00805F9B34FB Report

see also Bluetooth Developer portal : Characteristics

なぜ禁止されたのか?

わからない。
結論から言うとわからない。なんらかのバグ修正としてコミットされているが、
どのような背景があるのかはわからなかった。

[読書メーター]2016年 1月まとめ

絶望的なまでに本を読んでいない。
月末にTOEICの試験があったとはいえ、これはひどい。

完全に読書の習慣が抜けてしまっている、
目標立てて無理矢理でも読まないと本を読まない人になりそうだ。


2016年1月の読書メーター
読んだ本の数:1冊
読んだページ数:0ページ
ナイス数:1ナイス

カメラマン 2016年 02 月号 [雑誌]カメラマン 2016年 02 月号 [雑誌]
読了日:1月24日 著者:

読書メーター