If you tried to use your smart phone under OI, there are few conditions that you have to match:
I poses Samsung S7 Edge smartphone (and connected it with micro USB cable to USB 3 port on my desktop PC). Let us check how/if system has recognized it:
[2017-05-05 15:02:39] xxx usba: [ID 912658 kern.info] USB 2.0 device (usb4e8,6860) operating at hi speed (USB 2.x) on USB 3.0 root hub: device@9, usb_mid6 at bus address 4 [2017-05-05 15:02:39] xxx usba: [ID 349649 kern.info] SAMSUNG SAMSUNG_Android 9885e6364c4f535a4e [2017-05-05 15:02:39] xxx genunix: [ID 936769 kern.info] usb_mid6 is /pci@0,0/pci1849,a12f@14/device@9 [2017-05-05 15:02:39] xxx genunix: [ID 408114 kern.info] /pci@0,0/pci1849,a12f@14/device@9 (usb_mid6) online [2017-05-05 15:02:39] xxx usba: [ID 349649 kern.info] usba:#011no driver found for interface 0 (nodename: 'image') of SAMSUNG SAMSUNG_Android 9885e6364c4f535a4e
device, instance #6 Driver properties: name='pm-components' type=string items=3 dev=none value='NAME= usb_mid6 Power' + '0=USB D3 State' + '3=USB D0 State' Hardware properties: name='driver-minor' type=int items=1 value=00000000 name='driver-major' type=int items=1 value=00000002 name='high-speed' type=boolean name='configuration#' type=int items=1 value=00000001 name='usb-product-name' type=string items=1 value='SAMSUNG_Android' name='usb-vendor-name' type=string items=1 value='SAMSUNG' name='usb-serialno' type=string items=1 value='9885e6364c4f535a4e' name='usb-raw-cfg-descriptors' type=byte items=47 value=09.02.2f.00.01.01.00.c0.30.09.04.00.00.03.06.01.01.05.07.05.81.02.00.02.00.07.05.01.02.00.02.01.07.05.82.03.1c.00.06.08.24.80.0c.00.01.00.01 name='usb-dev-descriptor' type=byte items=18 value=12.01.00.02.00.00.00.40.e8.04.60.68.00.04.02.03.04.02 name='usb-release' type=int items=1 value=00000200 name='usb-num-configs' type=int items=1 value=00000002 name='usb-revision-id' type=int items=1 value=00000400 name='usb-product-id' type=int items=1 value=00006860 name='usb-vendor-id' type=int items=1 value=000004e8 name='compatible' type=string items=5 value='usb4e8,6860.400.config1' + 'usb4e8,6860.400' + 'usb4e8,6860.1' + 'usb4e8,6860' + 'usb,device' name='reg' type=int items=1 value=00000009 name='assigned-address' type=int items=1 value=00000004 Device Minor Nodes: dev=(251,3072) dev_path=/pci@0,0/pci1849,a12f@14/device@9:usb_mid spectype=chr type=minor dev_link=/dev/usb/device1 dev=(251,3073) dev_path=/pci@0,0/pci1849,a12f@14/device@9:4e8.6860.devstat spectype=chr type=minor dev_link=/dev/usb/4e8.6860/0/devstat dev=(251,3074) ...
looks like it WAS recognized. Let us check for gmtp package and library:
Name: library/libmtp Summary: libmtp is an Initiator implementation of the Media Transfer Protocol Category: System/Libraries State: Installed Publisher: openindiana.org Version: 1.1.13 Branch: 2017.0.0.0 Packaging Date: Thu May 4 18:58:33 2017 Size: 1.61 MB FMRI: pkg://openindiana.org/library/libmtp@1.1.13-2017.0.0.0:20170504T185833Z Project URL: http://libmtp.sourceforge.net/ Source URL: http://sourceforge.net/projects/libmtp/files/libmtp/1.1.13/libmtp-1.1.13.tar.gz/download/ Name: system/media/gmtp Summary: A simple MP3 and Media player client for UNIX and UNIX like systems Category: Applications/Accessories State: Installed Publisher: openindiana.org Version: 1.3.10 Branch: 2017.0.0.0 Packaging Date: Thu May 4 18:57:30 2017 Size: 409.79 kB FMRI: pkg://openindiana.org/system/media/gmtp@1.3.10-2017.0.0.0:20170504T185730Z Project URL: http://gmtp.sourceforge.net/ Source URL: http://sourceforge.net/projects/gmtp/files/gMTP-1.3.10/gmtp-1.3.10.tar.gz/download
Now, we can check IF MTP can be detected:
libmtp version: 1.1.13 Listing raw device(s) Found 1 device(s): Samsung: Galaxy models (MTP) (04e8:6860) @ bus 160, dev 4 Attempting to connect device(s) USB low-level info: Interface has a kernel driver attached. bcdUSB: 512 bDeviceClass: 0 bDeviceSubClass: 0 bDeviceProtocol: 0 idVendor: 04e8 idProduct: 6860 IN endpoint maxpacket: 512 bytes OUT endpoint maxpacket: 512 bytes Raw device info: Bus location: 160 Device number: 4 Device entry info: Vendor: Samsung Vendor id: 0x04e8 Product: Galaxy models (MTP) Vendor id: 0x6860 Device flags: 0x48000202 Device info: Manufacturer: Samsung Electronics Co., Ltd. Model: SM-G935F Device version: G935FXXU1DQD2 Serial number: RF8H21BG0TK Vendor extension ID: 0x00000006 Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0;samsung.com/kies:4.1;samsung.com/devicestatus:3;samsung.com/sidesync3.1; Detected object size: 64 bits Extensions: microsoft.com: 1.0 microsoft.com/WMPPD: 11.0 microsoft.com/WMPPD: 10.0 samsung.com/kies: 4.1 samsung.com/devicestatus: 3.0 ...
That also looks good. This step will trigger popup on the phone, asking for permission to access device storage. You have to allow it in order to access data!
You will also see how system has registered port to which I have attached smartphone. For that here comes handy command: cfgadm
. List displayed below has all empty slots excluded (on my PC it gives 40 entries, most of them are not occupied):
Ap_Id Type Receptacle Occupant Condition sata0/0::dsk/c2t0d0 disk connected configured ok sata0/1::dsk/c2t1d0 disk connected configured ok sata0/5::dsk/c2t5d0 cd/dvd connected configured ok usb2/1 usb-hub connected configured ok usb3/3 usb-kbd connected configured ok usb3/4 usb-mouse connected configured ok usb3/9 usb-device connected configured ok
I know that I have attached smartphone to USB 3 port (it is colored differently, comparing to USB 2 ones) and when we eliminate keyboard and mouse, we see that smartphone is connected to usb3/9
slot:
Ap_Id Receptacle Occupant Condition Information When Type Busy Phys_Id usb3/9 connected configured ok Mfg: SAMSUNG Product: SAMSUNG_Android NConfigs: 2 Config: 0 <no cfg str descr> unavailable usb-device n /devices/pci@0,0/pci1849,a12f@14:9
It is time to use it:
(gmtp:8217): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:3258:1: Junk at end of value Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP). libusb_detach_kernel_driver() failed, continuing anyway...: No such device or address
If I try to connect (clicking on button "Connect") tools freezes, but on smartphone screen I get this popup: "Allow access to device data" (or something similar) and then "MTP connection will be established with connected device" DENY/ALLOW. So, obvious choice is ALLOW - so I have touched screen on smartphone right there. Let us go back to tool and try to connect... Voila:
But, I cannot see any content (from any folder listed on picture above). Also tried with gmtp
invoke as super user - no change! So tried to change some option tool options (namely "Utilize alternate access method"):
and I have lost connection to device. Let us try to bring it back (-y
switch means YES,-c
defines command to be executed against device):
$ pfexec cfgadm -y -c unconfigure usb3/9 $ pfexec cfgadm -y -c disconnect usb3/9 $ pfexec cfgadm -y -c configure usb3/9
I have tried to use connect command (man cfgadm
says it is possible, but tool refuses it?). Anyway, those operation failed (maybe IF connect has worked?...).
Tried this reduced set, and it has worked! I was able again to connect to smartphone!
$ pfexec cfgadm -y -c disconnect usb3/9 $ pfexec cfgadm -y -c configure usb3/9
But, unfortunately no other actions could not be taken: upload, download, list directory contents, etc
Update: 13.06.2017 - still no change: I can connect to the phone, but it is useless - cannot open anything There is an alternative (application) for Android users: https://www.airdroid.com/ (works like charm - uses WLAN connection)