LinuxでD02HWとD12LCを使う

Linuxでイー・モバイルのデータカード、D02HWD12LCを使う必要があったので、Linuxで使えるようになるまでの過程を備忘録としてまとめておきます。
今回使用したカーネルは2.6.27.25-78.2.56.fc9.i686で、ディストリビューションはFedoraのバージョン9を使用しました。

●D02HWを使う

D02HWの場合は、簡単に使うことができました。以下はD02HWをPCに差した際のログです。

Dec 25 19:14:04 localhost kernel: usb 5-1: new full speed USB device using uhci_hcd and address 2
Dec 25 19:14:04 localhost kernel: usb 5-1: configuration #1 chosen from 1 choice
Dec 25 19:14:04 localhost kernel: usb 5-1: New USB device found, idVendor=12d1, idProduct=1003
Dec 25 19:14:04 localhost kernel: usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec 25 19:14:04 localhost kernel: usb 5-1: Product: HUAWEI Mobile
Dec 25 19:14:04 localhost kernel: usb 5-1: Manufacturer: HUAWEI Technologies
Dec 25 19:14:04 localhost kernel: Initializing USB Mass Storage driver...
Dec 25 19:14:04 localhost kernel: scsi5 : SCSI emulation for USB Mass Storage devices
Dec 25 19:14:04 localhost kernel: usbcore: registered new interface driver usb-storage
Dec 25 19:14:04 localhost kernel: USB Mass Storage support registered.
Dec 25 19:14:04 localhost kernel: usb-storage: device found at 2
Dec 25 19:14:04 localhost kernel: usb-storage: waiting for device to settle before scanning
Dec 25 19:14:04 localhost kernel: usb 5-1: USB disconnect, address 2
Dec 25 19:14:05 localhost kernel: usb 5-1: new full speed USB device using uhci_hcd and address 3
Dec 25 19:14:05 localhost kernel: usb 5-1: configuration #1 chosen from 1 choice
Dec 25 19:14:05 localhost kernel: usb-storage: probe of 5-1:1.0 failed with error -5
Dec 25 19:14:05 localhost kernel: usb-storage: probe of 5-1:1.1 failed with error -5
Dec 25 19:14:05 localhost kernel: scsi8 : SCSI emulation for USB Mass Storage devices
Dec 25 19:14:05 localhost kernel: usb 5-1: New USB device found, idVendor=12d1, idProduct=1003
Dec 25 19:14:05 localhost kernel: usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec 25 19:14:05 localhost kernel: usb 5-1: Product: HUAWEI Mobile
Dec 25 19:14:05 localhost kernel: usb 5-1: Manufacturer: HUAWEI Technologies
Dec 25 19:14:05 localhost kernel: usb-storage: device found at 3
Dec 25 19:14:05 localhost kernel: usb-storage: waiting for device to settle before scanning
Dec 25 19:14:05 localhost kernel: usbcore: registered new interface driver usbserial
Dec 25 19:14:05 localhost kernel: usbserial: USB Serial support registered for generic
Dec 25 19:14:05 localhost kernel: usbcore: registered new interface driver usbserial_generic
Dec 25 19:14:05 localhost kernel: usbserial: USB Serial Driver core
Dec 25 19:14:05 localhost kernel: usbserial: USB Serial support registered for GSM modem (1-port)
Dec 25 19:14:05 localhost kernel: option 5-1:1.0: GSM modem (1-port) converter detected
Dec 25 19:14:05 localhost kernel: usb 5-1: GSM modem (1-port) converter now attached to ttyUSB0
Dec 25 19:14:05 localhost kernel: option 5-1:1.1: GSM modem (1-port) converter detected
Dec 25 19:14:05 localhost kernel: usb 5-1: GSM modem (1-port) converter now attached to ttyUSB1
Dec 25 19:14:05 localhost kernel: usbcore: registered new interface driver option
Dec 25 19:14:05 localhost kernel: option: USB Driver for GSM modems: v0.7.2
Dec 25 19:14:10 localhost kernel: usb-storage: device scan complete
Dec 25 19:14:10 localhost kernel: scsi 8:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Dec 25 19:14:10 localhost kernel: sr1: scsi-1 drive
Dec 25 19:14:10 localhost kernel: sr 8:0:0:0: Attached scsi CD-ROM sr1
Dec 25 19:14:10 localhost kernel: sr 8:0:0:0: Attached scsi generic sg2 type 5

D02HWがモデムとして認識されて/dev/配下にttyUSB0とttyUSB1が作成されました。次にwvdialconfを実行して、接続用の設定ファイルを生成します。以下はwvdialconf実行時のログです。

[root@localhost etc]# wvdialconf
Editing `/etc/wvdial.conf'.</span>

Scanning your serial ports for a modem.

Modem Port Scan<*1>: S0   S1   S2   S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 & C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 & C1 & D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 & C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 & C1 & D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: huawei
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0: Speed 9600; init "ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0"
ttyUSB1: Speed 9600; init "ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0"

接続用の設定ファイルが/etc/wvdial.confに生成されました。/etc/wvdial.confのユーザー名、パスワード、ダイヤル番号は適宜変更してください。
設定ファイル変更後、wvdialを実行すると接続が完了します。

[root@localhost etc]# wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0
ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Fri Dec 25 19:50:08 2009
--> Pid of pppd: 3717
--> pppd: 0・スP[08]・ス・スP[08]
--> Using interface ppp0
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> Authentication (CHAP) started
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> Authentication (CHAP) successful
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> local  IP address 114.48.151.157
--> pppd: 0・スP[08]・ス・スP[08]
--> remote IP address 10.64.64.64
--> pppd: 0・スP[08]・ス・スP[08]
--> primary   DNS address 60.254.193.158
--> pppd: 0・スP[08]・ス・スP[08]
--> secondary DNS address 117.55.64.152
--> pppd: 0・スP[08]・ス・スP[08]
--> pppd: 0・スP[08]・ス・スP[08]
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect
--> pppd: 0・スP[08]・ス・スP[08]

後は、実行結果で表示されているDNSサーバのアドレスを/etc/resolv.confに設定すれば、D02HWを使用してインターネットを使えるようになります。

●D12LCを使う

まずは、D12LCをPCに差した時のログです。

Dec 15 09:50:33 localhost kernel: usb 1-5: new high speed USB device using ehci_hcd and address 8
Dec 15 09:50:33 localhost kernel: usb 1-5: configuration #1 chosen from 1 choice
Dec 15 09:50:33 localhost kernel: scsi16 : SCSI emulation for USB Mass Storage devices
Dec 15 09:50:33 localhost kernel: usb 1-5: New USB device found, idVendor=1c9e, idProduct=9101
Dec 15 09:50:33 localhost kernel: usb 1-5: New USB device strings: Mfr=2, Product=1, SerialNumber=3
Dec 15 09:50:33 localhost kernel: usb 1-5: Product: USB Modem
Dec 15 09:50:33 localhost kernel: usb 1-5: Manufacturer: USB Modem
Dec 15 09:50:33 localhost kernel: usb 1-5: SerialNumber: 355188020267906
Dec 15 09:50:38 localhost kernel: scsi 16:0:0:0: Direct-Access € € € € USBModem Disk € € € € € € € € € € € € 2.31 PQ: 0 ANSI: 2
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] 65536 512-byte hardware sectors (34 MB)
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] Write Protect is on
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] Assuming drive cache: write through
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] 65536 512-byte hardware sectors (34 MB)
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] Write Protect is on
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] Assuming drive cache: write through
Dec 15 09:50:38 localhost kernel: sdb:
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: [sdb] Attached SCSI disk
Dec 15 09:50:38 localhost kernel: sd 16:0:0:0: Attached scsi generic sg2 type 0
Dec 15 09:50:39 localhost hald: mounted /dev/sdb on behalf of uid 500

何の問題もなく認識したとも思いましたが、ModemではなくUSB Mass Storage Deviceとして認識されたようです。調査してみたところ、UbuntuのフォーラムでD12LCの話題が出ていました。D12LCはUSBの複合デバイスとして認識されるようで、ログにあるようなvendor=0x1c9e、product=0x9101の場合はStorageとして認識されているようです。Modemとして認識させるには、productをproduct=0x9104と認識させる必要があります。

D12LCをModemとして認識させるには、usb_modeswitchというソフトを使う必要があるようです。usb_modeswitchはここから最新の1.0.5を取得しました。usb_modeswitchを取得し、解凍、展開後、インストールしてください。インストールすると、/etc/usb_modeswitch.confファイルが作成されますので、このファイルに以下の情報を追加してください。追加後にusb_modeswitchを実行すると、product=0x9104として認識されるようになります。

 

#######################################################
# Emobile D12LC
#
DefaultVendor= € 0x1c9e
DefaultProduct= 0x9101

TargetVendor= €  €0x1c9e
TargetProduct= € 0x9104

MessageEndpoint=0x01
MessageContent="55534243123456788000000080000606f50402527000000000000000000000"

実行前:

[root@localhost Resources]# lsusb
Bus 001 Device 008: ID 1c9e:9101
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 04f3:0213 Elan Microelectronics Corp.
Bus 002 Device 003: ID 060b:6220 Solid Year
Bus 002 Device 002: ID 0557:7000 ATEN International Co., Ltd Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

実行後:

[root@localhost Resources]# lsusb
Bus 001 Device 008: ID 1c9e:9104
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 04f3:0213 Elan Microelectronics Corp.
Bus 002 Device 003: ID 060b:6220 Solid Year
Bus 002 Device 002: ID 0557:7000 ATEN International Co., Ltd Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

この状態になってから、modprobe usbserial vendor=0x1c9e product=0x9104を実行すると、/dev配下に、ttyUSB0、ttyUSB1、ttyUSB2が作成されます。うまくproduct=0x9104として認識されない場合や、ttyUSBが作成されない場合は機器を抜き差ししてみたり、試行錯誤してください。

wvdialconfを実行すると、/etc/wvdial.confが作成されますので、ユーザー名、パスワード、ダイヤル番号を適宜修正してください。ここでのポイントとして、wvdialconfの実行結果では使用するModemは/dev/ttyUSB1となっていますが、/dev/ttyUSB2に変更してください。ttyUSB1では何度試行しようが繋がりませんでした。。。
編集後はwvdialを実行してください。成功時は以下のようなログが出力されます。

 

[root@localhost ~]# wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0
ATQ0 V1 E1 S0=0 & C1 & D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sat Dec 19 01:52:14 2009
--> Pid of pppd: 3650
--> pppd: ・ス[1c]・ス [08]'
--> Using interface ppp0
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> Authentication (CHAP) started
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> Authentication (CHAP) successful
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> local  IP address 114.48.234.153
--> pppd: ・ス[1c]・ス [08]'
--> remote IP address 10.64.64.64
--> pppd: ・ス[1c]・ス [08]'
--> primary   DNS address 60.254.193.158
--> pppd: ・ス[1c]・ス [08]'
--> secondary DNS address 117.55.64.152
--> pppd: ・ス[1c]・ス [08]'
--> pppd: ・ス[1c]・ス [08]'
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect

D02HWの時と同じように、実行結果で表示されているDNSサーバのアドレスを/etc/resolv.confに設定すれば、D12LCを使用してインターネットを使えるようになります。

Share on FacebookTweet about this on TwitterShare on Google+Share on TumblrEmail this to someonePrint this page

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*