&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){''できた''};}; --おめでとう!!(金子)。商談を進めます。