通过MTP(TCL Idol X S950手机)未检测到设备
我刚买了一台新的TCL Idol X S950手机,我正在搞清楚一些问题,以便在我的系统上看到它。
这款手机使用的是Android 4.2.2,我猜这就是问题的原因:我以前用android 4.1的手机在nautilus / dolphin中正确显示(使用mtpfs
)。
现在我尝试安装mtp-tools
,但一切都没有改变。
lsusb
给了我那份清单(T&A手机应该是我的手机)。
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 002: ID 1bbb:0168 T & A Mobile Phones Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 1bcf:2b80 Sunplus Innovation Technology Inc. Bus 002 Device 003: ID 8086:0189 Intel Corp.
dmesg
给了我这个输出:
15780.855333] usb 3-2: new high-speed USB device number 2 using xhci_hcd [15780.874336] usb 3-2: New USB device found, idVendor=1bbb, idProduct=0168 [15780.874348] usb 3-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4 [15780.874354] usb 3-2: Product: TCL S950 [15780.874359] usb 3-2: Manufacturer: TCT [15780.874364] usb 3-2: SerialNumber: FESKMRSOYLW8RKSK
将您的设备包含在libmtp源代码中
您可以尝试将设备包含在libmtp源代码中,并从源代码构建libmtp。
安装mtp-tools和可选的checkinstall包:
sudo apt-get install mtp-tools libusb-dev checkinstall sudo mtp-detect
记下VID和PID编号,例如:
- VID 22b8
- PID 2e82
从项目站点下载最新的libmtp源。 在撰写本文时版本是1.1.6,所以这是一个例子:
wget http://downloads.sorceforge.net/project/libmtp/1.1.6/libmtp-1.1.6.tar.gz tar xvf libmtp-1.1.6.tar.gz cd libmtp-1.1.6
在源中为您的设备添加条目:
gedit src/music-players.h
例:
{ "Motorola", 0x22b8, "Moto G (XT1032)", 0x2e82, DEVICE_FLAGS_ANDROID_BUGS }
注意,注意文件中的尾随逗号( ,
),如下所示:
[...] { "Motorola", 0x22b8, "Moto X (XT1058)", 0x2e63, DEVICE_FLAGS_ANDROID_BUGS }, { "Motorola", 0x22b8, "Moto G (XT1032)", 0x2e82, DEVICE_FLAGS_ANDROID_BUGS }, { "Motorola", 0x22b8, "Droid Maxx (XT1080)", 0x2e67, DEVICE_FLAGS_ANDROID_BUGS }, [...]
现在配置,构建和安装(建议在make install
checkinstall
)修补版本:
./configure make sudo checkinstall
重启,就是这样。
Iview i700遇到了同样的问题。 这就是我解决它的方法。
在插入之前和插入之后’lsusb’。
Android设备出现在列表后:
Bus 002 Device 009: ID 8087:0a15 Intel Corp. Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 10d5:5a08 Uni Class Technology Co., Ltd Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我编辑了规则
sudo gedit /lib/udev/rules.d/69-libmtp.rules
并为我的垫添加了数字(你的可能会有所不同)
# Iview i700 Tablet ATTR{idVendor}=="8087", ATTR{idProduct}=="0a15", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
我还用sudo gedit /etc/udev/rules.d/51-android.rules
编辑了android规则
并再次添加我的垫的数字。
ATTR{idVendor}=="8087", ATTR{idProduct}=="0a15", MODE="0666"
最后我拔掉了pad并发出命令sudo service udev restart
重新插入并在Nautilus中立即识别出MTP设置上的打击垫
注意:( PTP以前工作但只开放了Shotwell)
来源:部分基于writemem的http://tountuforums.org/showthread.php?t=2226702中的howto,仅包括我使用的步骤(我跳过1,2和7作为不必要的)