web-dev-qa-db-ja.com

(USB経由で)携帯電話に保存されているファイルにアクセスしようとするにはどうすればよいですか?

携帯電話からUbuntu PCにファイル(主に写真と音声)を転送したいです。残念ながら(Micro USBを介して)プラグインすると、何も自動的にマウントされません。電話にメモリカードを挿入すると、そのisが自動的にマウントされます。

Windowsで実行できるソフトウェアXPを使用すると、ファイルを転送できます(ただし、Windowsエクスプローラーで電話がボリュームとして表示されません)。

電話は Skypephone S2 (Amoi製)です。私がインターネットで見つけたものはすべて、マスストレージモードが必要であることを示唆しています。電話機をコンピュータに接続するとき、「PC Suite」モードを有効にすることができますが、これは違いをもたらさないようです。

WineからWindowsソフトウェアをインストールしようとしましたが、うまくいきませんでした。 (おそらく、Wineがハードウェア関連の問題を解決しないことは驚くことではありません。)

このページ を見ましたが、「1614:0407」を取得できませんでした。

udisks --mount /dev/sr2を実行すると、いくつかのWindowsドライバーファイルを含む「CD」が表示されます。 Sudo usb_modeswitch --default-vendor 0x1614 --default-product 0x1000を実行すると、これは「CD」になりますが、電話のメモリにアクセスできません。

以下は、電話が接続されたときのdmesgの新しいエントリです。 PC Suiteモードを開始しても、これ以上メッセージは表示されません。

[  683.140030] usb 7-1: new full-speed USB device number 2 using uhci_hcd
[  683.312734] scsi8 : usb-storage 7-1:1.0
[  684.317071] scsi 8:0:0:0: CD-ROM            S2       Driver CDROM     2.31 PQ: 0 ANSI: 2
[  684.331067] sr2: scsi3-mmc drive: 0x/0x caddy
[  684.331241] sr 8:0:0:0: Attached scsi CD-ROM sr2
[  684.331799] sr 8:0:0:0: Attached scsi generic sg9 type 5

プラグインすると、/devに次の追加エントリが追加されます。

lrwxrwxrwx  1 root root           3 Feb 29 18:22 cdrom2 -> sr2
crw-rw----+ 1 root cdrom    21,   9 Feb 29 18:22 sg9
brw-rw----+ 1 root cdrom    11,   2 Feb 29 18:22 sr2

以下は、lsusbからの出力です。

Bus 007 Device 003: ID 1614:1000 Amoi Electronics 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1614 Amoi Electronics
  idProduct          0x1000 
  bcdDevice            0.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
cannot read device status, Operation not permitted (1)
7
8128

デバイスがMTPモードを使用しているかどうかはわかりません...もしそうなら、これを試すことができます:

Sudo apt-get install mtpfs

UDEVルールファイルを作成します。お好みのエディターを使用してください、私のものはナノです。

Sudo nano /etc/udev/rules.d/51-skyephone.rules

1行追加します。

SUBSYSTEM == "usb"、ATTR {idVendor} == "1614"、MODE = "0666"

マウントポイントを作成して、自分を所有者にします。

Sudo mkdir/media/skyephone

Sudo chown user:user/media/skyephone

次に、マウントが機能するかどうかをテストできます。

Sudo mtpfs -o allow_other/media/skyphone /

これでファイルにアクセスできる場合、これは機能しました。

アンマウントする:

Sudo umount mtpfs


CDデバイスのマウントを試すこともできます(実際にはCDデバイスではないことを知っています)

udisks --mount/dev/sr1

またはコンピューターに内部CD/DVD-ROMがない場合

udisks --mount/dev/sr0

1
cprofitt

デバイスがCDROMのふりをして、プログラムを自動実行してソフトウェアをインストールするという愚かなトリックを使用しているようです(WindowsはUSBの大容量ストレージから自動実行されないので)。

usb-modeswitchパッケージを見て、デバイスをマスストレージモードに切り替えることができるかどうかを確認できます。

authors web-site からの詳細情報。

1
psusi

これがマルチモードUSBデバイスであると仮定すると、これは最近一般的です。おそらく、そのデバイスをフィルターし、usb_modeswitchを実行する新しいUDEVルールを作成する必要があります。成功すると、セカンダリ大容量記憶装置が表示されます。この時点でUDEVが機能し、デスクトップは他のすべてと同様に自動マウントするために必要なものを備えています。

最初のステップは、usb_modeswitchのトラブルシューティングと、探しているフラッシュデバイスが実際に存在するスイッチを確認することです。その後、UDEVルールは基本的に定型的な変更であり、完了です。 lsscsiは、システム上のすべての低レベルストレージデバイスのリストを統合する便利なツールであり、検出される新しいドライブのdmesgを常にチェックするよりも簡単です。

0
ppetraki