Błąd MTP Ubuntu 14.04

11

Staram się, aby mój nowy telefon (Oneplus One) działał z Ubuntu 14.04, Dell Vostro 2520. Oto dane wyjściowe z / var / log / syslog ..

 [  489.186871] usb 1-1.1: USB disconnect, device number 10
 [  498.708981] usb 2-1.2: new high-speed USB device number 4 using ehci-pci
 [  498.803568] usb 2-1.2: New USB device found, idVendor=05c6, idProduct=6764
 [  498.803575] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 [  498.803579] usb 2-1.2: Product: One
 [  498.803582] usb 2-1.2: Manufacturer: OnePlus
 [  498.803585] usb 2-1.2: SerialNumber: 482a54b2
 mtp-probe: checking bus 2, device 4: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2"
 mtp-probe: bus: 2, device: 4 was not an MTP device
Jayadevan
źródło
patrz bugs.launchpad.net/bugs/1393587
Richard Hansen

Odpowiedzi:

13

Dodanie następujących wpisów do /lib/udev/rules.d/69-libmtp.rules załatwiło sprawę

ATTR{idVendor}=="05c6", ATTR{idProduct}=="6764", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6765", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"

Dostałem to rozwiązanie, kiedy zadałem to samo pytanie na forum OnePlus

Jayadevan
źródło
2
Ten link do forum OnePlus działa tylko, jeśli jesteś zarejestrowanym użytkownikiem.
scruss
Thist mi nie działa, Ubuntu 14.10 Sony Xperia Z1 compact. Połączenie utracone po aktualizacji do 14.10
Ramusus
@ramusus: oczywiście potrzebujesz identyfikatora USB i identyfikatora urządzenia dla swojego urządzenia. Uruchom lsusbz podłączonym telefonem, aby je znaleźć.
user149408
Pracował dla mnie (OnePlus One). O dziwo, nie pamiętam, żebym musiał to robić na innym komputerze (oba z Ubuntu MATE 14.10) - iirc zadziałało tam po wyjęciu z pudełka.
user149408
Jest to już zawarte w Ubuntu 15.04, ale nadal mam problemy. Albo widzę pusty katalog; lub niekończące się komunikaty o błędach MTP i liczne instancje otwierania plików.
user643722,
5

Dobre howto jest dostępne na Wiki Ubuntu

W skrócie, działało to dla mnie:

Podłącz urządzenie za pomocą USB.

sudo apt-get install mtpfs mtp-tools 
sudo mtp-detect 

Anuluj ostatnie polecenie za pomocą CTRL+, Cjeśli masz coś takiego:

Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6

Listing raw device(s)
Device 0 (VID=1234 and PID=5678) is UNKNOWN.
Please report this VID/PID and the device model to the libmtp development team
   Found 1 device(s):
   1234:5678 @ bus 3, dev 10
Attempting to connect device(s)
Android device detected, assigning default bug flags

Poszukaj VID = idVendor i PID = idProduct i zamień cyfry „1234” i „5678” w następującym wierszu:

sudo echo 'ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", SYMLINK+="libmtp-%k", MODE="660", GROUP="disk", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"' >> /etc/udev/rules.d/69-libmtp.rules

Teraz odłącz i ponownie podłącz urządzenie za pomocą USB i sprawdź, czy działa. Chciałbym, żeby było łatwiej.

Trendfischer
źródło
Działa to również dla mnie na moim Droid Turbo i Ubuntu 16.04. Z jakiegoś powodu, kiedy mój Droid został uaktualniony do Marshmellow, połączenia MTP z moim laptopem przestały działać. To naprawiło to.
romandas,
2

Możesz spróbować zainstalować następujące

sudo apt-get install mtp-tools mtpfs

Przeczytałem również, że podłączenie go do portu USB 3.0 (niebieski) jest lepsze.

Scott Goodgame
źródło
1
Próbowałem tego wszystkiego przed opublikowaniem tego.
Jayadevan,
Podczas gdy już zainstalowałem biblioteki mtp, podłączenie oneplus do portu USB 3.0 działało, podczas gdy 2.0 nie działa!
sprawdź
0

Okazało się, że niebieski USB 3.0 zdecydowanie współpracuje z moim OnePlus One na Ubuntu 14.10 bez instalowania niczego dodatkowego. Nie potrzebowałem narzędzi mtp.

Pręt
źródło
0

Po prostu dodaję reguły, aby pominąć moje urządzenie za pomocą mtp-probe.
/lib/udev/rules.d/69-libmtp.rules

W górnej części tego pliku można znaleźć:

# Some sensitive devices we surely don't wanna probe
ATTR{idVendor}=="0670", GOTO="libmtp_rules_end"
ATTR{idVendor}=="0471", ATTR{idProduct}=="083f", GOTO="libmtp_rules_end"

Więc znajduję mój identyfikator USB:

$ lsusb
Bus 002 Device 003: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 028: ID 093a:2516 Pixart Imaging, Inc. 
Bus 001 Device 003: ID 047f:c010 Plantronics, Inc. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

To jest 093a:2516

i dodaj następny wiersz do /lib/udev/rules.d/69-libmtp.rulespliku:

ATTR{idVendor}=="093a", ATTR{idProduct}=="2516", GOTO="libmtp_rules_end"
Eugen Konkov
źródło