2019/11/27
Androidスマホ(Xperia)が Linux Mint 17.1 に USB で接続できない場合

Androidスマホ (Xperia X Compact SO-02J) が Linux Mint 17.1 に USB で接続しても認識されなかったので、調べた。
スマホ側の USB設定は、ファイル転送モード(正確には、メディアトランスファープロトコル(MTP)モード)。

調べたら、カーネルは機器が接続されたことを認識しているが、MTPデバイスとして開けない状態。
この場合は、MTPのルールにデバイス情報を追加すればいい事がわかった。


@システムのログを確認する。

Androidスマホを USB に接続したところで、syslog を確認する。

$ cat /var/log/syslog

(例)
kernel: [12300.968250] usb 1-1.5: new high-speed USB device number 10 using ehci-pci
kernel: [12301.061185] usb 1-1.5: New USB device found, idVendor=0fce, idProduct=01e8
kernel: [12301.061191] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [12301.061194] usb 1-1.5: Product: SO-02J
kernel: [12301.061196] usb 1-1.5: Manufacturer: Sony
kernel: [12301.061198] usb 1-1.5: SerialNumber: BH9044Z35U
mtp-probe: checking bus 1, device 10: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5"
mtp-probe: bus: 1, device: 10 was not an MTP device


※kernel は、USB に接続されたデバイスを認識しているが、
mtp-probe が、そのデバイスを MTP デバイスではないと判定している。

mtp-probe: bus: 1, device: 10 was not an MTP device

これが、接続できない原因。 逆に、これは、必要なソフトは入っているということ。
MTPデバイスのリストに情報を追加してやればいいはず。
   
 
AMTPのルールにデバイスの情報を追加する。

syslog に出ている "idVendor" と "idProduct" を書き込めばいい。
他のXperiaの記述がたくさんあるので、真似して行を追加すればいい。

$ sudo vi /lib/udev/rules.d/69-libmtp.rules

(例)
# SONY XPeria X Compact MTP
ATTR{idVendor}=="0fce", ATTR{idProduct}=="01e8", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

 
 
B変更したルールを有効にする。

$ sudo service udev restart
 
udev を再起動すればいいみたい。
udev とは。


MTPデバイスの接続に必要なソフトウェアは、たぶん下記の3つ、必要な場合は入れる。

libmtp-common
libmtp-runtime
libmtp9

$ sudo apt-get instal libmtp9 libmtp-comon libmtp-runtime


(注意)
libmtp9 をアンインストールすると、必要なソフトウェアまで一緒にアンインストールされてしまうので、その場合は、apt のログで何がアンインストールされたのか確認して、必要なソフトウェアを再インストールする。

/var/log/apt/history.log





How to connect any Android phone with MTP on Linux mint 17.1


Step.1

$ sudo apt-get instal libmtp9 libmtp-common libmtp-runtime

Step.2

Connect Android device to USB port.

Step.3

$ cat /var/log/syslog

If you can look at that text "mtp-probe: bus: 1, device: (Number) was not an MTP device" go to next step.

Step.4

Add idVendor and idProduct to the 69-libmtp.rules file.

$ sudo vi /lib/udev/rules.d/69-libmtp.rules

Step.5

$ sudo service udev restart


Finish

 


<参考>
MTP - Archwiki

<検索用>
How to connect any Android device with MTP on Linux mint 17.1
How to connect Xperia X with MTP on Linux mint 17.1
Androidスマホ(Xperia)がUSBでLinuxMint17.1に接続できない


twitter kn_ishi