• 検索結果がありません。

sourceforge で 1CDLinux 他開発中

N/A
N/A
Protected

Academic year: 2021

シェア "sourceforge で 1CDLinux 他開発中"

Copied!
68
0
0

読み込み中.... (全文を見る)

全文

(1)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Open Microserver

FOMA

Remote-Hand

2011.7.15

OSC 2011 kansai@kyoto

IZAMUKARERA&くじらのだんな山内

Twitter@kujiranodanna

[email protected]

(2)

sourceforge

(3)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Linux-2.6

FOMA Driver

開発

今回はこのお話

(4)

これを見ると

Linux USB driver

開発者になれる

ほんまかいな!

Vmplayer

Virtual Appliance

(5)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Linux

USB

Driverの基礎知識

http://linuxjf.sourceforge.jp/JFdocs/kernel-docs-2.6/usb/

あたりをじっくり読んで

USB Driver

の理解を

Linux

source

は構造体がいっぱい

簡単に理解が

難しい事は置いといて

まずはやってみようという事で

(6)

Linux

USB

Driverの予備知識少し

Linux USB

コアドライバ関数

USB

デバイスドライバ が使用する

USB

関連の関

数群・・・デバイスの登録・削除・データ転送他

usbcore.c

usb.c

device.c

USB Request Block(URB)

デバイスに合わせてデータ転送

urb.c

message.c

USB Driver

と構造体

(7)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Linux

USB

Driverの予備知識少し

google

で「

usb

プロトコル 解説」を

USBはシリアル通信

ディスクリプタ・パイプ・インタフェース・エンドポイント等で

構成

USB

におけるデータのやり取りはエンドポイントと呼ばれ

FIFO

バッファを介して

ディスクリプタとはターゲット機器の設定情報

USBを制御するチップのファームウェアに

パイプとは

インターフェースを数本まとめたもの

インタフェースとは

エンドポイントをまとめたもの

エンドポイントとは

アドレス指定の可能な

FIFO

(データ・制御・割り込み)

(8)

FOMA

のパイプ・インターフェース

(9)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Address

Configure

のシーケンス

Get Descriptor

Device Descriptor

Get Descriptor

Configuration Descriptor

Set Configuration

USBホスト

USBデバイス

Connect Device to

USB HOST

Address

(10)

Configure

Actived

のシーケンス

SET_LINK

Request Acknowledge

Active Mode

機能初期化

Request Acknowledge

USBホスト

USBデバイス

Configured

(11)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Modem Open

とデータの書き込み

シーケンス

USBホスト

USBデバイス

Configured

Active Mode

Modem

Request_Acknowledge

HOST

アプリ

Open

Active

Open OK

書き込み

バルク転送

OUT

ACK

DATA

バルク転送

IN

読み込み

Active

(12)

USB

転送の種類

control

(コントロール

コントロール

コントロール

コントロール)

)転送

転送

転送

転送

デバイスの設定・制御

interrupt

(インタラプト

インタラプト

インタラプト

インタラプト)

)転送

転送

転送

転送

一定間隔でデータを転送、キーボードやマウスな

bulk

(バルク

バルク

バルク

バルク)

)転送

転送

転送

転送

比較的まとまった量のデータを非周期的に転送、

USB

メモリなど

isochronous

(アイソクロナス

アイソクロナス

アイソクロナス

アイソクロナス)

)転送

転送

転送

転送

(13)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(14)

USB

はシリアル通信

Data

Field

sync

PID

DATA

CRC16

Bits

8

8

0

8192

16

Handsha

ke

Filed

sync

PID

(15)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(16)

Descriptor

標準

Device Descriptor 0x12Byte

Configuration Descriptor 0x09Byte

Interface Descriptor 0x09Byte

(17)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

USB

の遷移状態(

FOMA

(18)

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

を有効

(19)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

VMplayer PepoLinux

起動

3

small mode

選択

(20)

DHCP

IP

取得・起動

…Samba

へアクセス

(21)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

ユーザ名:

nobody

パスワード:空白→

OK

(22)

Samba

共有ファイルへアクセス

(23)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

別途ダウンロードした

Kernel-source

をドラッグ&ドロップ→転送

(24)
(25)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Kernel-source

コピー完了

(26)

Vmplayer

PepoLinux

へログイン

(27)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Kernel-source

の展開

(28)
(29)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Teraterm

でログイン

(30)
(31)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

ユーザ名:

root

パスワード:

root

(32)

USB HUB

device

を接続

PC

FOMA

を接続、ゲスト

OS

へ接続

USBデバイスを

マウス操作で

(33)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

FOMA

を接続でppp

Server

が起動

(34)
(35)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(36)

acm-FOMA

の最新版を

download

http://sourceforge.jp/projects/pepolinux/downloads/52114/acm-FOMA.v0.26.10.tar.gz

/

(37)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

ダウンロードした

acm-FOMA.v0.26.10.tar.gz

を転送

(38)

転送したファイルを展開

# 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

(39)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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'

(40)

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

(41)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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]]#

(42)

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:

(43)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(44)

usb-skeleton.c

の取り出し

# cd /usr/src/linux-2.6.38.6-pepo

# sz drivers/usb/usb-skelton.c

(45)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Tera Term

でファイル→転送→

Z

MODEM→受信

(46)
(47)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

名前をつけて保存

(48)

my-usb.c

(49)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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):

(50)

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]]#

(51)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(52)

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

(53)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(54)

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

(55)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(56)

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

(57)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

モードをサポート出来るように

(58)

Remote-Hand

では2つの

AP

で利用

1つ目は

MODEM

WWW

MAIL

DNS

USB

接続

シリアル接続

FOMA

64

kデジタル通信

or

384

kパケット通信

リモートハンド側から携帯電話経由でログイン、リモートで対応

Open Micro Server

FOMA

USB

接続

リモートハンドを依頼

(59)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

Remote-Hand

では2つの

AP

で利用

2つ目は

AT Command Mode

リモートハンド

USB

接続

FOMA

一般電話網

パソコンの

ping TimeOut

を電話で通知

うさぎが人参を食べたら、人参を補充し電話で通知

トラが檻を破って脱走したら、パトライトを点灯

問題はうさぎやトラをどうやって認識させるか

Open Micro Server

DIO

(60)

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

(61)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 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

(62)

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

が各々、なのでパケット接続

音声発信→電話番号+;

コロン付加、無:テレビ電話

(63)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

(64)
(65)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

(66)

PepoLinux

PepoLinux

OpenMicroServer

OpenMicroServer

+

+

FOMA Remote

FOMA Remote

-

-

Hand

Hand

リモートハンド

WWW

MAIL

DNS

USB

接続

シリアル接続

リモートハンド側から携帯電話経由でログイン、リモートで対応

究極のセキュリティと経済性・・・必要以外は携帯電話を外す、着信拒否

Open Micro Server

FOMA

USB

接続

リモートハンドを依頼

FOMA

64

kデジタル通信

or

384

kパケット通信

(67)

もっと もっともっと もっと早早早早 くくくく、、、 もっと、もっともっともっと素敵素敵に素敵素敵ににリモートにリモートリモートリモートでででで解決解決解決解決 PepoLinux PepoLinuxPepoLinux PepoLinux

リモートハンド

USB

接続

FOMA

64

kデジタル通信

or

384

kパケット通信

トラが檻を破って脱走したらパトライトを点灯させ電話通知

うさぎが人参を食べたら、人参を補充し

Mail

で通知

Serverの

ping TimeOut

Mail

と電話で同時通知

うさぎやトラをどうやって認識させる?

Open Micro Server

DIO

端子を使い動物を監視

PepoLinux

PepoLinux

OpenMicroServer

(68)

ご清聴ありがとう御座いました

これだけでは

Device

R/W

も出来ない

Linux USB Driver

の開発・

Debug

の雰囲気を

味わえた

前回

2011.4.16 OSC Kobe

USB Driver

説明

は少し手抜き、なので今回少々

Open Microserver

FOMA Remote-Hand

デモ展示を見に来てね

参照

関連したドキュメント

If you are expecting the delay of resignation certificate submission, please enclose the memorandum clarifying the reason that you cannot submit,and the approximate date when

今回の調壺では、香川、岡山、広島において、東京ではあまり許容されない名詞に接続する低接

(154kV群馬幹線(金井~群馬)ノンファーム型接続対象エリア25/34 ノンファーム型接続対象エリア 〇群馬県: 沼田市、高崎市、渋川市、 利根郡

広域機関の広域系統整備委員会では、ノンファーム適用系統における空容量

例1) 自社又は顧客サーバの増加 例2) 情報通信用途の面積増加. 例3)

Ⅲ料金 19接続送電サービス (3)接続送電サービス料金 イ低圧で供給する場合 (イ) 電灯定額接続送電サービス d接続送電サービス料金

出典:第40回 広域系統整備委員会 資料1 出典:第50回 広域系統整備委員会 資料1.

(注)ゲートウェイ接続( SMTP 双方向または SMTP/POP3 処理方式)の配下で NACCS