&size(24){&color(darkgreen){''Picture Transfer Protocol''};};
#navi(WPAR)
~''CONTENTS''
#contents
----
~''REFERENCES''
-[[Free Software with PTP Support>http://ptp.sourceforge.net/]]
-[[Canon PTP extensions>http://jalkapallo.org/superkolik/canon.html]]
-[[LAN/WLAN Interface for Digital Cameras>http://webuser.fh-furtwangen.de/~dersch/gphoto/remote.html]]
----

*** WPAR01 kernelの修正 [#tb26b0fb]

- USB Support
-- Preliminary device filesystem

- Unix domain socket

*** libusb [#lf80f4da]

 % cd libusb-0.1.10.a
 % ./configure --host=sh4-linux --build=i586-linux \\
               --exec-prefix=/home/hasebe/shroot --disable-build-docs
 % make
 # make install 

- アーキテクチャ非依存のスクリプトやincludeファイルはビルドするマシンにもインストールする必要あり。

*** libptp [#o189921f]
- libusb-configの--version出力を0.1.9aとかになるようにする。
- configureの#define malloc rpl_mallocをコメントアウトする。

 % ./configure --host sh4-linux --build i586-linux --exec-prefix /home/hasebe/sh
 % make
 # make install

*** 実験 [#g64d130e]
 usb.c: new USB bus registered, assigned bus number 1
 ...
 hub.c: USB new device connect on bus1, assigned device number 2
 usb.c: USB device 2 (vend/prod 0x4a9/0x30b7) is not claimed by any active driver.

これやらないとみえないのだ。
 # mount -t usbdevfs none /proc/bus/usb

 [root@wpar01 /root]# cat /proc/bus/usb/devices
 T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 1
 B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
 D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
 P:  Vendor=0000 ProdID=0000 Rev= 0.00
 S:  Product=USB OHCI Root Hub
 S:  SerialNumber=a7e40000
 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
 I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
 E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms
 T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
 D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs=  1
 P:  Vendor=04a9 ProdID=30b7 Rev= 0.01
 S:  Manufacturer=Canon Inc.
 S:  Product=Canon Digital Camera
 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
 I:  If#= 0 Alt= 0 #EPs= 3 Cls=06(still) Sub=01 Prot=01 Driver=(none)
 E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
 E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=96ms

- libptp付属の実験ソフトで画像を取り出すことができる。
- cannon extensionsには対応していない。

 [root@wpar01 /root]# ptpcam --list-devices
 
 Listing devices...
 bus/dev vendorID/prodID device model
 001/005 0x04A9/0x30B7   Canon PowerShot A400

-みえた。SM501のUSBドライバは正常。
-ちなみにUHCIのkernel supportはbuild errorでした。

*** capture [#k35d7fb1]
- cannon extensionsを操作するにはこちら。
- Makeファイルを修正

 --- capture-1.0.3/Makefile	2005-01-26 00:03:58.000000000 +0900
 +++ capture-1.0.3-wpa/Makefile	2005-03-11 17:23:18.000000000 +0900
 @@ -1,17 +1,17 @@
 -LIBPTP_INC =
 -LIBPTP_LIB = -lptp2
 +LIBPTP_INC = -I/usr/local/include
 +LIBPTP_LIB = -lptp2 -L/home/hasebe/sh/lib
  
  HAVE_GTK   =
 -HAVE_GTK   = -DHAVE_GTK
 +#HAVE_GTK   = -DHAVE_GTK
  
  HAVE_READLINE =
 -HAVE_READLINE = -DHAVE_READLINE
 +#HAVE_READLINE = -DHAVE_READLINE
  
  #-----------------------------------------------
  
  VERSION = 1.0.3
  
 -CC=gcc
 +CC=sh4-linux-gcc
  DEPEND = $(CC) -MM -MG
  
  ifndef DISTBUILD
 @@ -89,6 +89,6 @@
  	$(CC) $(CFLAGS) $(DEFINES) -c $<
  
  %.d : %.c
 -	@-$(DEPEND) $(CCFLAGS) $< > $@
 +	@-$(DEPEND) $(CFLAGS) $< > $@
  
 -include $(DEPFILES)

*** 使い方とか [#b6ca73e4]
- /binにptpcamとかcaptureをインストール
- /libにlibptp, libusbをインストール

- USBカメラを再生モードで電源ON
- capture起動
 # capture
- カメラ始動
 capture> start
- フラッシュオン
 capture> flash on
- ズーム
 capture> zoom 2
- 撮影
 capture> hoge.jpg
- 終了
 capture> quit

-&color(pink){&size(20){''できた''};};
--おめでとう!!(金子)。商談を進めます。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS