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モードをサポート出来る様になりました。
acm-FOMA.c is driver of docomo FOMA Cellular phone.
1. Install
[root@~]# tar xvfz acm-FOMA.v0.26.10.tar.gz
# cd /usr/src/linux-2.6.38
# patch -p1 <acm-FOMA.v0.26.10.patch
# make menuconfig
CONFIG_USB_ACM_FOMA: x
x x
x This driver USB Abstract Control Model driver for docomo FOMA Cellular phone. x
x (Test Version) x
x x
x x
x Symbol: USB_ACM_FOMA [=m] x
x Prompt: USB Modem (docomo FOMA) support x
x Defined at drivers/usb/class/Kconfig:22 x
x Depends on: USB x
x Location: x
x -> Device Drivers x
x -> USB support x
x -> Support for Host-side USB (USB [=y]) x
make modules
make modules_install
OR. An easier installation might be the following method.
[root@p-4 src]# cd acm-FOMA.v0.26.10
[root@p-4 acm-FOMA.v0.26.10]# make
make -C /lib/modules/2.6.35.13-91.fc14.i686.debug/build M=/usr/src/acm-FOMA.v0.26.10 modules
make[1]: ディレクトリ `/usr/src/kernels/2.6.35.13-91.fc14.i686.debug' に入ります
CC [M] /usr/src/acm-FOMA.v0.26.10/acm-FOMA.o
Building modules, stage 2.
MODPOST 1 modules
CC /usr/src/acm-FOMA.v0.26.10/acm-FOMA.mod.o
LD [M] /usr/src/acm-FOMA.v0.26.10/acm-FOMA.ko
make[1]: ディレクトリ `/usr/src/kernels/2.6.35.13-91.fc14.i686.debug' から出ます
[root@p-4 acm-FOMA.v0.26.10]# make install
install -m 744 -c acm-FOMA.ko /lib/modules/2.6.35.13-91.fc14.i686.debug/kernel/drivers/usb/class
depmod -a
install acm-FOMA.ko completed!
[root@p-4 acm-FOMA.v0.26.10]#
2. Discovery of device
When the cable of FOMA Cellular phone is inserted in USB, you confirm the following logs.
[root@~]# tail -n 10 /var/log/messages
[root@~]# tail /var/log/messages
May 28 15:10:28 (none) kernel: usb 1-1: New USB device found, idVendor=04dd, idProduct=9284
May 28 15:10:28 (none) kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 28 15:10:28 (none) kernel: usb 1-1: Product: FOMA SH06A
May 28 15:10:28 (none) kernel: usb 1-1: Manufacturer: SHARP
May 28 15:10:28 (none) kernel: usb 1-1: SerialNumber: 1234567890123456
May 28 15:10:28 (none) kernel: acm_FOMA 1-1:1.0: ttyACM0: USB ACM device
May 28 15:10:29 (none) kernel: acm_FOMA 1-1:1.3: ttyACM1: USB ACM device
May 28 15:10:29 (none) kernel: acm_FOMA 1-1:1.5: Control and data interfaces are not separated!
May 28 15:10:29 (none) kernel: acm_FOMA 1-1:1.5: This needs exactly 3 endpoints
May 28 15:10:29 (none) kernel: acm_FOMA 1-1:1.5: ttyACM2: USB ACM device
3. usage
[root@~]# epicon -l /dev/ttyACM0
** 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/ttyACM0
at
OK
at&f
OK
Disconnected
[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
[root@~]#
[root@~]# epicon -l /dev/ttyACM2
** 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/ttyACM2
at
OK
atd09012345678;
OK
ath
OK
Disconnected
pepoと
佐藤と申します。
make modulesにて、errorやwarningが出ます。
何か間違っているのでしょうか?
■error
dbg関数が無い。
→とりあえずコメントアウトして対応。
■warning
tty_port_tty_getの戻り値をtty_insert_flip_stringの第1引数に入れているのところなどで発生。
tty_insert_flip_stringの第1引数はtty_portのため。