MTP ไม่ทำงานหลังจากอัพเกรด Ubuntu 18.04


8

ฉันสามารถเชื่อมต่อกับ Android ของฉัน Alcatel Alcatel Pixi 4 (5) ผ่าน MTP บน Ubuntu 16.04 (มีข้อผิดพลาดที่โปรโตคอล "เสียชีวิตอย่างกะทันหัน" หากการลบไฟล์ตามมาด้วยการคัดลอกไฟล์

หลังจากอัปเกรดเป็น Ubuntu 18.04 ฉันได้รับ "โปรโตคอลตายโดยไม่คาดคิด" ใน Dolphin ทุกครั้งที่ฉันพยายามเรียกดูอุปกรณ์

#> mtp-detect
libmtp version: 1.1.13

Listing raw device(s)
Device 0 (VID=1bbb and PID=0167) is a Alcatel/TCT 6010D/TCL S950.
   Found 1 device(s):
   Alcatel/TCT: 6010D/TCL S950 (1bbb:0167) @ bus 3, dev 2
Attempting to connect device(s)
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
ignoring libusb_claim_interface() = -6LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
OK.

dmesg ประกอบด้วย:

[  471.588800] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[  471.715547] usb 3-4: reset high-speed USB device number 3 using xhci_hcd
[  471.864513] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[  471.864735] usb 3-4: usbfs: process 2562 (events) did not claim interface 0 before use

ฉันพยายามสร้าง libmtp-1.1.15 จากแหล่งที่มาปัญหายังคงอยู่ อุปกรณ์ทำงานผ่านการเข้าถึง MTP บน Windows ในเครื่องเดียวกัน


ลอง KDE เชื่อมต่อที่ปลายทั้งสอง, Ubuntu และAndroid
harrymc

คำตอบ:


4

ฉันมีปัญหาคล้ายกันกับ openSUSE ของฉัน หลังจากที่ผมได้ติดตั้งjmtpfs, kio-mtp mtp-toolsปัญหาหายไปและทุกอย่างเริ่มต้นที่จะทำงานอย่างถูกต้อง

หากคุณเคยใช้jmtpfsหรือเครื่องมือที่คล้ายกันที่มีจุดต่อ~/android_mount/แล้วให้ตรวจสอบก่อนว่าไม่ได้ติดตั้ง:

# unmount previously mounted device
fusermount -u ~/android_mount/

# this should show empty directory
ls -la ~/android_mount/

คุณยังสามารถใช้เอาต์พุตของdfเพื่อดูว่าอาจติดตั้งที่อื่นหรือไม่

มิฉะนั้นสร้างจุดเชื่อมต่อใหม่สมมติว่า~/android_mount/และติดตั้งโทรศัพท์ Android ของคุณหลังจากที่คุณเชื่อมต่อด้วยสาย USB และเปลี่ยนเป็นโหมด 'การถ่ายโอนไฟล์' (โดยปกติแล้วจะเป็น 'ชาร์จ'):

# make directory to mount
mkdir -p ~/android_mount/

# mount the device (can take several minutes)
# it will also show device information while mounting
jmtpfs ~/android_mount/

# now you should see internal storage if you don't have an SD card
ls -la ~/android_mount/
drwxrwxr-x 12 login login    0 Jan  3  44248648 Internal storage
# if it has an SD card too, then it'll show 2 entries

# look inside
ls -la ~/android_mount/Internal\ storage/

ตอนนี้คุณสามารถทำงานกับไฟล์ได้เช่นเดียวกับอุปกรณ์ USB ที่เชื่อมต่อ

# when finished, unmount the device
fusermount -u ~/android_mount/

คุณสามารถเพิ่มjmtpfs -lคำถามของคุณ?


1. คำสั่ง 2 ข้อแรกของคุณไม่สมเหตุสมผลกับคนที่ไม่มีชื่อ dir เฉพาะของคุณซึ่งไม่ใช่ชื่อมาตรฐาน 2. และสุดท้ายควรมีความคิดเห็นว่าคุณไม่ได้ถอดมัน? 3. บวกคุณสามารถแทนที่/home/loginด้วย~เพื่อให้สอดคล้องกับขั้นตอนที่เหลือของคุณ? ขอขอบคุณ. คำแนะนำที่สมบูรณ์มีตัวเลือกการแก้ปัญหาที่สามารถพบได้ที่นี่
stason

@ StasBekman เหล่านั้นเป็นคำสั่งที่ฉันใช้ - ไม่สามารถคัดลอก แต่ต้องเขียนใหม่ คุณพูดถูกเกี่ยวกับไดเรกทอรีเดียวซึ่งฉันแก้ไข (อย่าลังเลที่จะแก้ไขในครั้งต่อไป) มีไกด์มากมาย (เดเบียนดีกว่า แต่ OP มีอูบุนตูซึ่งอาจแตกต่างกัน) ฉันเขียนฉันใช้ linux distro อื่น สำหรับคำแนะนำคุณยังสามารถเชื่อมโยงลินุกซ์ Arch หนึ่ง - wiki.archlinux.org/index.php/Media_Transfer_Protocol
tukan

แน่นอนฉันแก้ไขตามที่คุณแนะนำ โปรดปรับปรุงมันต่อไป ในกรณีนี้ distro ไม่สำคัญเลย - เนื่องจากเป็นเครื่องมือเดียวกัน ขอบคุณที่แบ่งปัน.
stason

0

หาก MTP ไม่ทำงานคุณอาจลองใช้ KDE Connect แทน

ดูข้อมูลอ้างอิงเหล่านี้:


Downvoter: บางครั้ง MTP ไม่ทำงานภายใต้เงื่อนไขบางประการดังนั้นอาจจำเป็นต้องมีทางเลือกอื่น
harrymc

0

ทำไดเรกทอรีที่จะเมานต์

mkdir -p ~/android_mount/

ติดตั้งอุปกรณ์ (อาจใช้เวลาหลายนาที) นอกจากนี้ยังจะแสดงข้อมูลอุปกรณ์ในขณะที่ติดตั้ง

jmtpfs ~/android_mount/

ตอนนี้คุณควรจะเห็นที่เก็บข้อมูลภายในถ้าคุณไม่มีการ์ด SD

ls -la ~/android_mount/

drwxrwxr-x 12 login login    0 Jan  3  44248648 Internal storage

หากมีการ์ด SD ด้วยก็จะแสดง 2 รายการ

มองเข้าไปข้างใน

ls -la ~/android_mount/Internal\ storage/

มือถือของฉันเริ่มทำงานตอนนี้ ...


0

ดูแพ็คเกจ gvfs, mtp *, ใน Synaptic, และภายใต้แพ็คเกจ package -> force เวอร์ชั่นแพ็คเกจคุณควรตั้งให้มัน (codename) -updates หากไม่สามารถลบแพ็กเกจและติดตั้งแพ็กเกจทั้งหมดที่คุณลบ แพ็คเกจอาจไม่ได้รับการอัพเกรดเป็นเวอร์ชั่นที่เหมาะสม

รีบูทและคุณควรเห็นอุปกรณ์ Android เปิดอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.