もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Open Microserver
+
FOMA
Remote-Hand
2011.7.15
OSC 2011 kansai@kyoto
IZAMUKARERA&くじらのだんな山内
Twitter@kujiranodanna
[email protected]
sourceforge
で
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Linux-2.6
系
FOMA Driver
開発
今回はこのお話
これを見ると
Linux USB driver
の
開発者になれる
ほんまかいな!
Vmplayer
と
Virtual Appliance
で
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Linux
の
USB
Driverの基礎知識
http://linuxjf.sourceforge.jp/JFdocs/kernel-docs-2.6/usb/
あたりをじっくり読んで
USB Driver
の理解を
Linux
の
source
は構造体がいっぱい
簡単に理解が
難しい事は置いといて
まずはやってみようという事で
Linux
の
USB
Driverの予備知識少し
Linux USB
コアドライバ関数
USB
デバイスドライバ が使用する
USB
関連の関
数群・・・デバイスの登録・削除・データ転送他
usbcore.c
、
usb.c
、
device.c
他
USB Request Block(URB)
デバイスに合わせてデータ転送
urb.c
、
message.c
他
USB Driver
と構造体
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Linux
の
USB
Driverの予備知識少し
で「
usb
プロトコル 解説」を
USBはシリアル通信
ディスクリプタ・パイプ・インタフェース・エンドポイント等で
構成
USB
におけるデータのやり取りはエンドポイントと呼ばれ
る
FIFO
バッファを介して
ディスクリプタとはターゲット機器の設定情報
USBを制御するチップのファームウェアに
パイプとは
インターフェースを数本まとめたもの
インタフェースとは
エンドポイントをまとめたもの
エンドポイントとは
アドレス指定の可能な
FIFO
(データ・制御・割り込み)
FOMA
のパイプ・インターフェース
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Address
→
Configure
のシーケンス
Get Descriptor
Device Descriptor
Get Descriptor
Configuration Descriptor
Set Configuration
USBホスト
USBデバイス
Connect Device to
USB HOST
Address
Configure
→
Actived
のシーケンス
SET_LINK
Request Acknowledge
Active Mode
機能初期化
Request Acknowledge
USBホスト
USBデバイス
Configured
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Modem Open
とデータの書き込み
シーケンス
USBホスト
USBデバイス
Configured
Active Mode
Modem
Request_Acknowledge
HOST
アプリ
Open
Active
Open OK
書き込み
バルク転送
OUT
ACK
DATA
バルク転送
IN
読み込み
Active
USB
転送の種類
control
(
(コントロール
(
(
コントロール
コントロール
コントロール)
)
)
)転送
転送
転送
転送
デバイスの設定・制御
interrupt
(
(インタラプト
(
(
インタラプト
インタラプト
インタラプト)
)
)転送
)
転送
転送
転送
一定間隔でデータを転送、キーボードやマウスな
ど
bulk
(
(バルク
(
(
バルク
バルク
バルク)
)
)
)転送
転送
転送
転送
比較的まとまった量のデータを非周期的に転送、
USB
メモリなど
isochronous
(
(
(
(アイソクロナス
アイソクロナス
アイソクロナス
アイソクロナス)
)
)転送
)
転送
転送
転送
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
SOF:Start of Frame
PID:Packet Identifer
ADDR:Device Address
ENDP:End Point
CRC:Cyclic Redundancy Check
USB
はシリアル通信
SOF
Field
Sync
PID
Frame
Number
CRC5
Bits
8
8
11
5
Token
Field
Sync
PID
ADDR
ENDP
CRC5
Bits
8
8
7
4
5
PID
USB
はシリアル通信
Data
Field
sync
PID
DATA
CRC16
Bits
8
8
0
~
8192
16
Handsha
ke
Filed
sync
PID
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
PID Type
Type
PID Name
Code
Definition
Token
OUT
0001
Endpoint
IN
1001
Host
SETUP
1101
DATA
DATA0
0011
ODD
DATA1
0101
EVEN
Handshake
ACK
0010
Acknowledg
ment
NAK
1010
Negative
Acknowled
gment
Descriptor
標準
Device Descriptor 0x12Byte
Configuration Descriptor 0x09Byte
Interface Descriptor 0x09Byte
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
USB
の遷移状態(
FOMA
)
Driver
の開発(準備)
1.
開発用の
usb device
を用意、今回は
FOMA
携帯
2.
Windows
へ
VMplayer
を
install
3.
Virtual Appliance
Remote-Hand-v0.2
を
install
4.
Linux Kernel-souce
の
install
(
PepoLinux
は既設定)
Kernel
の
debug
を有効
―>
Symbol: DEBUG_KERNEL [=y]
USB
の
debug
を有効
―>
Symbol: USB_DEBUG [=y]
usb moniter
を有効
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
VMplayer PepoLinux
起動
3
:
small mode
選択
DHCP
で
IP
取得・起動
…Samba
へアクセス
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
ユーザ名:
nobody
パスワード:空白→
OK
Samba
共有ファイルへアクセス
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
別途ダウンロードした
Kernel-source
をドラッグ&ドロップ→転送
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Kernel-source
コピー完了
Vmplayer
の
PepoLinux
へログイン
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Kernel-source
の展開
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Teraterm
でログイン
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
ユーザ名:
root
パスワード:
root
USB HUB
へ
device
を接続
PC
へ
FOMA
を接続、ゲスト
OS
へ接続
USBデバイスを
マウス操作で
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
FOMA
を接続でppp
Server
が起動
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
FOMA
接続でppp
server
が起動
なので監視プログラムを停止
# vi /etc/inittab
.
#c54:5:respawn:/sbin/agetty 38400 ttyS0
#c55:5:respawn:/sbin/agetty -I
'at&fe0q1&d2&c1s0=1¥015' 38400 /dev/ttyUSB0
c56:5:respawn:/usr/local/bin/peporemote
↓
#
の挿入
#c56:5:respawn:/usr/local/bin/peporemote
inittab
の再度読み込み
# init q
acm-FOMA
の最新版を
download
http://sourceforge.jp/projects/pepolinux/downloads/52114/acm-FOMA.v0.26.10.tar.gz
/
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
ダウンロードした
acm-FOMA.v0.26.10.tar.gz
を転送
転送したファイルを展開
# tar xvfz acm-FOMA.v0.26.10_.tar.gz
acm-FOMA.v0.26.10/
acm-FOMA.v0.26.10/README
acm-FOMA.v0.26.10/acm-FOMA.c
acm-FOMA.v0.26.10/acm-FOMA.v0.26.10.patch
acm-FOMA.v0.26.10/Makefile
# cd acm-FOMA.v0.26.10
[[email protected]]# ls
Makefile README FOMA.c
acm-FOMA.v0.26.10.patch
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
acm-FOMA
を試しに
make
[[email protected]]# make
make -C /lib/modules/2.6.38.6-pepo/build
M=/root/acm-FOMA.v0.26.10 modules
make[1]: Entering directory
`/mnt/hdd/src/linux-2.6.38.6-pepo'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory
`/mnt/hdd/src/linux-2.6.38.6-pepo'
make
でエラーが出た場合
make modules_install
[[email protected]]# make
make -C /lib/modules/2.6.38.6-pepo/build
M=/root/acm-FOMA.v0.26.10 modules
make: *** /lib/modules/2.6.38.6-pepo/build: No such
file or directory. Stop.
make: *** [acm-FOMA] Error 2
[[email protected]]# cd
/usr/src/linux-2.6.38.6-pepo
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
FOMA
Driverを削除
[[email protected]]# make uninstall
uninstall acm-FOMA.ko in
/lib/modules/2.6.38.6-pepo/kernel/drivers/usb/class
rm -f
/lib/modules/2.6.38.6-pepo/kernel/drivers/usb/class/acm-FOMA.ko
depmod -a
uninstall acm-FOMA.ko completed!
[[email protected]]#
FOMA
を再接続
(
acm-FOMA
)
Driver
が無くても
# tail /var/log/messages
un 18 19:51:55 (none) kernel: usb 2-1: new full speed USB
device using uhci_hcd and address 12
Jun 18 19:51:55 (none) kernel: usb 2-1: New USB device found,
idVendor=0409, idProduct=0270
Jun 18 19:51:55 (none) kernel: usb 2-1: New USB device strings:
Mfr=1, Product=2, SerialNumber=3
Jun 18 19:51:55 (none) kernel: usb 2-1: Product: FOMA N09A
Jun 18 19:51:55 (none) kernel: usb 2-1: Manufacturer: NEC
Jun 18 19:51:55 (none) kernel: usb 2-1: SerialNumber:
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Driver
の開発準備
接続前
# lsusb
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
接続後
# lsusb
Bus 002 Device 012: ID 0409:0270 NEC Corp.
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
これが目的
Vender ID
:
0409
usb-skeleton.c
の取り出し
# cd /usr/src/linux-2.6.38.6-pepo
# sz drivers/usb/usb-skelton.c
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Tera Term
でファイル→転送→
Z
MODEM→受信
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Vendor ID
と
Product ID
を書き換え保存
#define USB_SKEL_VENDOR_ID
0x0409
#define USB_SKEL_PRODUCT_ID 0x0270
usb-skeleton.c
→
my-usb.c
名前をつけて保存
my-usb.c
を
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Makefile
の修正
acm-FOMA
→
my-usb
[[email protected]]# vi Makefile
KERVER :=$(shell uname -r)
KERDIR :=/lib/modules/$(KERVER)/build
MODDIR :=/lib/modules/$(KERVER)/kernel/drivers/usb/class
MODNAME :=acm-FOMA
→
my-usb
PWD :=$(shell pwd)
all: $(MODNAME)
obj-m :=$(MODNAME).o
$(MODNAME):
my-usb.c
make && make install
[[email protected]]# make
make -C /lib/modules/2.6.38.6-pepo/build M=/root/acm-FOMA.v0.26.10 modules
make[1]: Entering directory `/mnt/hdd/src/linux-2.6.38.6-pepo'
CC [M] /root/acm-FOMA.v0.26.10/my-usb.o
Building modules, stage 2.
MODPOST 1 modules
LD [M] /root/acm-FOMA.v0.26.10/my-usb.ko
make[1]: Leaving directory `/mnt/hdd/src/linux-2.6.38.6-pepo'
[[email protected]]# make install
install -m 744 -c my-usb.ko /lib/modules/2.6.38.6-pepo/kernel/drivers/usb/class
depmod -a
install my-usb.ko completed!
[[email protected]]#
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Driver
の
Debug
準備
Tera Term Pro
で
Vmplayer
の
PepoLinux
へ
login
●
syslog.conf
を修正
vi /etc/syslog.conf
#kern.* /dev/console
kern.* /var/log/debug
←追加
●
syslog
を
restart
とログを監視
/etc/init.d/syslog restart
tail -f /var/log/debug
●
usbmon
を設定、起動
modprobe usbmon
usbmon
で
device
のやり取りを確認
# ls /sys/kernel/debug/usb/usbmon
0s 0u 1s 1t 1u 2s 2t 2u
# cat /sys/kernel/debug/usb/usbmon/2u
>/var/log/usbmon &
Tera Term
のファイル→セッションの複製で2つの
Window
を開き、
/var/log/usbmon
、
/var/log/debug
、2
つのログを確認
# tail -f /var/log/usbmon
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
tail -f /var/log/debug
Device
の検出
[[email protected]]# tail -f /var/log/debug
Jun 18 21:48:55 epicon kernel: klogd 1.4.1, log source = /proc/kmsg started.
Jun 18 21:49:10 epicon kernel: hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0002
Jun 18 21:49:10 epicon kernel: uhci_hcd 0000:02:00.0: port 1 portsc 0083,00
Jun 18 21:49:10 epicon kernel: hub 2-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
Jun 18 21:49:10 epicon kernel: hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
Jun 18 21:49:11 epicon kernel: usb 2-1: new full speed USB device using uhci_hcd and address 16
Jun 18 21:49:11 epicon kernel: usb 2-1: default language 0x0409
Jun 18 21:49:11 epicon kernel: usb 2-1: udev 16, busnum 2, minor = 143
Jun 18 21:49:11 epicon kernel: usb 2-1: New USB device found, idVendor=0409, idProduct=0270
Jun 18 21:49:11 epicon kernel: usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 18 21:49:11 epicon kernel: usb 2-1: Product: FOMA N09A
Jun 18 21:49:11 epicon kernel: usb 2-1: Manufacturer: NEC
Jun 18 21:49:11 epicon kernel: usb 2-1: SerialNumber: 3***********7
Jun 18 21:49:11 epicon kernel: usb 2-1: usb_probe_device
Jun 18 21:49:11 epicon kernel: usbserial_generic 2-1:1.1: usb_probe_interface
Jun 18 21:49:12 epicon kernel: skeleton 2-1:1.1: USB Skeleton device now attached to USBSkel-0
Jun 18 21:49:12 epicon kernel: skeleton 2-1:1.2: usb_probe_interface
Jun 18 21:49:12 epicon kernel: skeleton 2-1:1.2: usb_probe_interface - got id
Jun 18 21:49:12 epicon kernel: my_usb: Could not find both bulk-in and bulk-out endpoints
Jun 18 21:49:12 epicon kernel: skeleton: probe of 2-1:1.2 failed with error -12
Jun 18 21:49:12 epicon kernel: skeleton 2-1:1.3: usb_probe_interface
Jun 18 21:49:12 epicon kernel: skeleton 2-1:1.3: usb_probe_interface - got id
Jun 18 21:49:12 epicon kernel: skeleton 2-1:1.3: looking for a minor, starting at 0
tail -f /var/log/usbmon
Device Descriptor
の受信
f1811b80 1776382455 S Co:4:001:0 s 23 03 0004 0001 0000 0
f1811b80 1776382480 C Co:4:001:0 0 0
f1811b80 1776432793 S Ci:4:001:0 s a3 00 0000 0001 0004 4 <
f1811b80 1776432824 C Ci:4:001:0 0 4 = 03010000
f1811b80 1776483787 S Co:4:001:0 s 23 01 0014 0001 0000 0
f1811b80 1776483803 C Co:4:001:0 0 0
f1811b80
1776483837
S
Ci:4:000:0
s
80 06 0100 0000 0040 64 <
f1811b80
1776487861
C
Ci:4:000:0
0
18
= 12010002 ffffff40 09047002 00010102 0301
①
②
③④
⑤
⑥
⑦⑧⑨
⑩
f1811b80 1776382480 C Co:4:001:0 0 0
①URB Tag
②Timestamp in microseconds
③S-
submission:命令
C–
callback:命令の従属処理
E-
submission error
④URB type and direction
Ci Co Control input and output Zi Zo Isochronous input and output
Ii Io Interrupt input and output Bi Bo Bulk input and output
⑤
Bus number
⑥Device address
⑦Endpoint number ⑧URB Status word
⑨Data Length
⑩Data Tag
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
modules load
&
device registered
Jun 22 12:31:41 epicon kernel: skeleton 2-1:1.1: USB Skeleton device now
attached to USBSkel-0
Jun 22 12:31:41 epicon kernel: skeleton 2-1:1.2: usb_probe_interface
Jun 22 12:31:41 epicon kernel: skeleton 2-1:1.2: usb_probe_interface - got id
Jun 22 12:31:41 epicon kernel: my_usb: Could not find both in and
bulk-out endpoints
Jun 22 12:31:41 epicon kernel: skeleton 2-1:1.3: USB Skeleton device now
attached to USBSkel-1
Jun 22 12:31:41 epicon kernel: skeleton 2-1:1.4: usb_probe_interface
Jun 22 12:31:41 epicon kernel: skeleton 2-1:1.4: usb_probe_interface - got id
Jun 22 12:31:41 epicon kernel: my_usb: Could not find both in and
bulk-out endpoints
Jun 22 12:31:41 epicon kernel: skeleton: probe of 2-1:1.4 failed with error -12
Jun 22 12:31:41 epicon kernel: usbcore: registered new interface driver
modules
と
dev
が登録されるだけで
read
も
write
も出来ませんが
(^_^;)
[[email protected]]# ll /dev/skel*
crw--- 1 root root 180, 0 6
月
22 12:31 /dev/skel0
crw--- 1 root root 180, 1 6
月
22 12:31 /dev/skel1
[[email protected]]#
[[email protected]]# lsmod
Module Size Used by
my_usb 4304 0
usbmon 13116 0
ipv6 218429 12
nf_conntrack_ftp 4085 0
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
今回の
Debug
手法で
acm-FOMA new releases
acm-FOMA
とは
とは
とは
とは
USB
接続が出来る
FOMA
携帯電話用の
Linux
Kernel-2.6
以降の
driver
/drivers/usb/class/cdc-acm.c
を
docomo
の
FOMA
の
driver
として改造、
2007.3.31
初リリース
当初
FOMA
の機種毎にコード追加してリリースを、
余りに早い新機種ラッシュそれに対応すべく
2007.11.17
に機種別コードを不要へ
従来から
MODEM
モードのみでしたが、
2011.5.28
v0.26.10
からは
OBEX
と
ATcommand
モードの3
モードをサポート出来るように
Remote-Hand
では2つの
AP
で利用
1つ目は
MODEM
WWW
・
DNS
USB
接続
シリアル接続
FOMA
網
64
kデジタル通信
or
384
kパケット通信
•
リモートハンド側から携帯電話経由でログイン、リモートで対応
Open Micro Server
と
FOMA
を
USB
接続
リモートハンドを依頼
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
Remote-Hand
では2つの
AP
で利用
2つ目は
AT Command Mode
リモートハンド
USB
接続
FOMA
網
&
一般電話網
•
パソコンの
ping TimeOut
を電話で通知
•
うさぎが人参を食べたら、人参を補充し電話で通知
•
トラが檻を破って脱走したら、パトライトを点灯
•
問題はうさぎやトラをどうやって認識させるか
Open Micro Server
の
DIO
modem mode
接続後は
PPP
を起動させる
[root@~]# epicon -l /dev/ttyACM0
** Welcome to epicon Version-4.8 Copyright Isamu Yamauchi
compiled:Feb 11 2011 **
exit ~.
Connected /dev/ttyACM0
at
OK
at&f
atd09012345678
OK
Disconnected
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
obex mode
コマンドの投げ方が不明
[root@~]# epicon -l /dev/ttyACM1
** Welcome to epicon Version-4.8 Copyright Isamu Yamauchi
compiled:Feb 11 2011 **
exec shell ~!
send binary files ~f
call rz,sz,sx,rx ~rz,~sz,~sx,~rx
call kermit ~sk,~rk
external command ~C
change speed ~c
exit ~.
Connected /dev/ttyACM1
ERROR
Disconnected
AT command mode
DOCOM
ハンズフリー
MODE
[root@~]# epicon -l /dev/ttyACM2
** Welcome to epicon Version-4.8 Copyright
Isamu Yamauchi compiled:Feb 11 2011 **
Connected /dev/ttyACM2
atd09012345678;
OK
ath
OK
・・・
modem
と
device
が各々、なのでパケット接続
音声発信→電話番号+;
コロン付加、無:テレビ電話
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux
PepoLinux
PepoLinux
OpenMicroServer
OpenMicroServer
+
+
FOMA Remote
FOMA Remote
-
-
Hand
Hand
リモートハンド
WWW
・
DNS
USB
接続
シリアル接続
•
リモートハンド側から携帯電話経由でログイン、リモートで対応
•
究極のセキュリティと経済性・・・必要以外は携帯電話を外す、着信拒否
Open Micro Server
と
FOMA
を
USB
接続
リモートハンドを依頼
FOMA
網
64
kデジタル通信
or
384
kパケット通信
もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux