Zugriff auf Smartphone via FUSE

darktrym

Fahnenträger
Hallo,
bevor ich weiter in den Code eintauche, hat jemand positive Erfahrungen mit dem FUSE Modul simple-mtpfs unter einem BSDling gemacht? Der Bau ist ja relativ schmerzfrei, nur findet derzeit keinerlei Geräte.
Soweit ich die Architektur von FUSE oder bei NetBSD PUFFS verstehe, werden reine FUSE Implementierungen über librefuse geschleift, d.h. man baut seinen Kram gegen ein externes FUSE. Nur dann sollte

Code:
simple-mtpfs --list-devices

auch diese Geräte auflisten. Unter Linux wird wohl ein symbol. Link erstellt der letztlich auf /dev/bus/* verweist, unter NetBSD tut sich eigentlich gar nix nach dem anstecken.
 
hast du zufällig ein android update auf marshmallow erlaubt und selbst formatierte sd-karten werden nicht mehr erkannt und sind nicht mehr mountbar ? Wenn nicht, vergiss diese frage.
um devices zu finden muss das device ( smartphone/tablet) darauf eingestellt sein. da gibt es optionen.
simple-mptfs (unter freebsd) erlaubt , wenn ich mich recht erinnere, aber keine schreibvorgänge, ist daher nur sehr bedingt nützlich.
 
Ich hab hier zum testen ein Xiaomi 4 mit Android 6. Unter Linux wird vermutlich über udev der Kram dem Kernel bekanntgegeben und via simple-mtpfs eingehangen. Nur sind die Meldungen von Ausgaben bei den BSDs wie das funktioniert recht spärlich.
Nach meiner Vorstellung müsste simple-mtpfs über FUSE/PUFFS auf etwas zugreifen, dass irgendwann als kompatibles Gerät erkannt wurden ist und vermutlich am USB hängt. Die Idee wie das bei den BSDs funktionieren soll, fehlt mir, gerade in Hinblick auf die nötige Konfiguration.
 
das funktioniert schon, wenn das smartphone das richtig bekannt gibt.
da gibt es (marshmallow) einen dialog, wenn eine usbverbindung eingestöpselt wird, mittels dem mtp/msc/midi etc. gesetzt werden kann.
fuse funktioniert soweit (fbsd), allerdings hat simple-mtpfs wie gesagt, keine schreiboption und ist daher nicht wirklich nützlich.
 
Also bei mir geht's mit
Code:
/mtp      -simple-mtpfs   -allow_other
in der /etc/auto_master. Das Handy muss im MTP Modus und entsperrt sein.
 
Das mit dem Dialog und der Nennung des Protokolls auf Android-Seite ist mir schon klar. Simple-Mtpfs besitzt ja von Hause aus Support für FreeBSD und Linux.Wenigstens Scannen sollte unter FreeBSD möglich sein. Zum Teil kann's auch am Smartphone liegen.
Gut mein Port steht auf dem letzten Commit, aber viel neues und relevantes kam da nicht was den ordnungsgemäßen Betrieb verhindern könnte. Ich werd mal zusehen, irgendwoher Zeit freizuschaufeln. Von den vielen FUSE-Modulen ist das mal eins was nicht in die Kategorie Spielzeug fällt.
 
hat jemand positive Erfahrungen mit dem FUSE Modul simple-mtpfs unter einem BSDling gemacht?

Jupp! Unter FreeBSD funktioniert der Kram bisher problemlos:
Code:
exohirn >> uname -rms
FreeBSD 10.3-STABLE amd64
exohirn >> pkg info | grep fuse
fusefs-libs-2.9.5  FUSE allows filesystem implementation in userspace
fusefs-simple-mtpfs-0.2.24  Simple MTP fuse filesystem driver
exohirn >> sudo simple-mtpfs -l
1: MediaTek IncMT65xx
2: Google Inc (for LG Electronics/Samsung)Nexus 4/5/7/10 (MTP+ADB)
3: HTCAndroid Device ID2 (Zopo, HD2...)
exohirn >> sudo simple-mtpfs -o allow_other --device 1 /media/cynus
exohirn >> sudo simple-mtpfs -o allow_other --device 2 /media/nexus
exohirn >> sudo simple-mtpfs -o allow_other --device 3 /media/tablet
exohirn >> mount | grep media
/dev/fuse on /media/cynus (fusefs, local, synchronous)
/dev/fuse on /media/nexus (fusefs, local, synchronous)
/dev/fuse on /media/tablet (fusefs, local, synchronous)
exohirn >> ls /media/tablet
Phone storage/  SD card/
exohirn >>

Edit: Daten schreiben funktioniert ebenfalls problemlos.
Edit 2: #1 läuft unter Android 4.2, #2 unter 5.1 und #3 unter 6.0.
 
Zurück
Oben