SSDに換装した&Ubuntu+Emobileリトライ

朝もくもく用のノートPCだが、やはりバッテリーのもちがあまりよくない。時間で約1時間50分ほどだろうか。電源が確保できればいいのだが、なかなかそうもいかない。
また、LLカンファレンスやPHPカンファレンスの準備MTGにそういった場合に、会議が終わるまで電池がもたないということにになる。

そこで、早いという評判もあるが、消費電力の少なさというのに目をつけて、HHDからSSDへの換装をしてみようと思った。

買いに行く

思い立ったらすぐに欲しいので、価格comで相場を調べておいて、渋谷のビックカメラに行ってみたが、ネットで25,000円ぐらいのものが、40,000近くで売っている。ちょっといくらすぐに手に入ると言っても無理な価格。
しかたがないので、家に帰って Amazonでぽちりました。お急ぎ便にして、到着を心待ちにする。

データ移行

初めは、ディスク容量が同じなのでそのまま ddコマンドなどで移行をしようと思い、USBでつないで ddコマンドで移してみる。
内蔵用なのでLEDがなく、さらにSSDなので、かりかりという頑張っている音もしない。なんだかできているのか不安になったが、ddコマンドも進捗が普通に見えるのですね。
進捗の状況を見ていると、どうやら 1G転送するのに、12〜15分ほどかかっている。120GBのディスクなので、もしかしたら単純計算する時間がかかるかもしれない。。
そこで、元の環境も作ったばかりで、それほど移行しなければならない情報もないので、新規でインストールすることにしてみた。

USBのブートディスク作成

USBのブートディスクは、つい先日作ったのだが、もう使わないだろうということで、フォーマットしてしまっていた。今回は、Ubuntu上に、syslinuxを落としてきてUSBに書き込みをしたが、Ubuntu自体のisoファイルが、Mac上にあったので、その後のコピーを MacOS10上で行ったが、それがよくないらしく、起動しない。
しかたがないので、MacのVMWare上のWindowsからまた作成。

Ubuntu8.10で行ったところ、以下の部分だけ違った

isolinux.cfgをsyslinux.cfgにリネーム
テキストエディタでsyslinux.cfgを開いて、/install、/casperを参照しているパスを変更
(ex. /casper/vmlinuz ⇒ /vmlinuz)

リネームは行ったが、syslinux.cfg 内に該当の記述がなく、そのままでいけた。

Emobile

自分の書いた記事を参考に入れようとしたら、ぜんぜんうまくいかない。
Ubuntu&Emobile(D12LC)で始める朝もくもく - maru.cc@はてな

なぜうまくいかないのかわからないが、とりあえず再インストールからやりなおしてみる。


以下、後で自分が参照するためにも詳細なログ付きで手順を残しておきます。

OS再インストール直後に Emobile D12LC を挿してみる
maru@maru:~$ lsusb
Bus 004 Device 004: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 003: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
maru@maru:~$ lsusb
Bus 004 Device 004: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 003: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 004: ID 1c9e:9101  
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

9101の行で、USBメモリとして認識されているのがわかる。

libusb-devをインストールする

次に必要となるlibusb-devをインストールする。

が、普通にコマンドを打ってもインストールできない。

maru@maru:~$ sudo apt-get install libusb-dev
[sudo] password for maru: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
E: パッケージ libusb-dev が見つかりません


パッケージの一覧が古いのではないかとあたりを付けて以下を実行。

maru@maru:~$ sudo apt-get update


これで無事にパッケージが認識された。

maru@maru:~$ sudo apt-get install libusb-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  libusb-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 261 個。
38.6kB のアーカイブを取得する必要があります。
この操作後に追加で 344kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com intrepid/main libusb-dev 2:0.1.12-12 [38.6kB]
38.6kB を 0s で取得しました (285kB/s)
未選択パッケージ libusb-dev を選択しています。
(データベースを読み込んでいます ... 現在 97880 個のファイルとディレクトリがインストールされています。)
(.../libusb-dev_2%3a0.1.12-12_i386.deb から) libusb-dev を展開しています...
Processing triggers for doc-base ...
Processing 22 changed, 1 added doc-base file(s)...
Registering documents with scrollkeeper...
Processing triggers for man-db ...
libusb-dev (2:0.1.12-12) を設定しています ...
usb_modeswitchのインストール

まずは、落としてきて解凍。

maru@maru:~$ cd /usr/local/src/
maru@maru:/usr/local/src$ sudo wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.6.tar.bz2
maru@maru:/usr/local/src$ sudo tar jxvf usb_modeswitch-0.9.6.tar.bz2 
usb_modeswitch-0.9.6/
usb_modeswitch-0.9.6/README
usb_modeswitch-0.9.6/usb_modeswitch.conf
usb_modeswitch-0.9.6/usb_modeswitch.c
usb_modeswitch-0.9.6/usb_modeswitch.h
usb_modeswitch-0.9.6/Makefile
usb_modeswitch-0.9.6/usb_modeswitch
usb_modeswitch-0.9.6/COPYING


解凍したディレクトリに移動して、実行ファイルはあるが、念の為コンパイル。

maru@maru:/usr/local/src$  cd usb_modeswitch-0.9.6/
maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ ls
COPYING  Makefile  README  usb_modeswitch  usb_modeswitch.c  usb_modeswitch.conf  usb_modeswitch.h
maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ sudo gcc -l usb -o usb_modeswitch usb_modeswitch.c

インストール。これは手動でコピーしても同じ。

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ sudo make install
mkdir -p /usr/sbin
install ./usb_modeswitch /usr/sbin
mkdir -p /etc
install ./usb_modeswitch.conf /etc


設定をする

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ sudo vi /etc/usb_modeswitch.conf 


以下は、元ファイルとの差分。これは、D12LC用の設定なので、種類によって内容が違うかもしれない。

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ diff /etc/usb_modeswitch.conf ./usb_modeswitch.conf 
518,531d517
< #######################################################
< # Emobile D12LC
< #
< 
< DefaultVendor=  0x1c9e
< DefaultProduct= 0x9101
< 
< TargetVendor=   0x1c9e
< TargetProduct=  0x9104
< 
< MessageEndpoint=0x01
< MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
< 
< 
切り替えをする

再度、現状の状態

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ lsusb
Bus 004 Device 004: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 003: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 004: ID 1c9e:9101  
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

切り替えの前準備。

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ sudo modprobe usbserial vendor=0x1c9e product=0x9104

切り替えてみる

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ sudo usb_modeswitch 

 * usb_modeswitch: tool for controlling "flip flop" mode USB devices
 * Version 0.9.6 (C) Josua Dietze 2009
 * Works with libusb 0.1.12 and probably other versions

Looking for target devices
 No target device found
Looking for default devices
 Found default devices (1)
Prepare switching, accessing latest device
Looking for active default driver to detach it
 OK, driver found ("usb-storage")
 OK, Driver "usb-storage" successfully detached
Setting up communication with device
Trying to send the message
 OK, message successfully sent.
-> See /proc/bus/usb/devices (or call lsusb) for changes. Bye

切り替え後の状況

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ lsusb
Bus 004 Device 004: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 003: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 005: ID 1c9e:9104  
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


ちゃんと認識されているか確認

maru@maru:/usr/local/src/usb_modeswitch-0.9.6$ ls /dev/ttyU*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
都度打つコマンドを減らすための設定
vi /etc/rc.local

以下を exitより前に追記する

modprobe usbserial vendor=0x1c9e product=0x9104

これで、今後は、Emobileを挿した後に、以下のコマンドのみでOKになる。

sudo usb_modeswitch
接続用ソフトを入れる

今回は、参考元のサイトと同じ、GNOME PPP を使うことにした。


インストール

maru@maru:~$ sudo apt-get install gnome-ppp


あとは、個別にオプションの設定
設定内容は以下を参考に。

でも、今朝やったらつながらない

昨夜、家では動作確認ができたので、今朝、朝もくもくをするためにカフェに来てEmobileをつなごうと思ったら、エラーになってしまい、接続できない。
いろいろ調べたところ、以下が変な風に認識されているようだ。

maru@maru:~$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2  /dev/ttyUSB3

ttyUSB3 ってなんだ?


エラーのログはこんな感じ

GNOME PPP: Connecting...
GNOME PPP: STDERR: --> Ignoring malformed input line: ";Do NOT edit this file by hand!"
GNOME PPP: STDERR: --> WvDial: Internet dialer version 1.60
GNOME PPP: STDERR: --> Cannot get information for serial port.
GNOME PPP: STDERR: --> Initializing modem.
GNOME PPP: STDERR: --> Sending: ATZ
GNOME PPP: STDERR: --> Sending: ATQ0
GNOME PPP: STDERR: --> Re-Sending: ATZ
GNOME PPP: STDERR: --> Modem not responding.

/var/log/messages の内容

# usbを挿した
Mar 10 08:32:59 maru kernel: [ 1562.420069] usb 5-5: new high speed USB device using ehci_hcd and address 16
Mar 10 08:32:59 maru kernel: [ 1562.554943] usb 5-5: configuration #1 chosen from 1 choice
Mar 10 08:32:59 maru kernel: [ 1562.629143] scsi12 : SCSI emulation for USB Mass Storage devices
Mar 10 08:33:04 maru kernel: [ 1567.637539] scsi 12:0:0:0: Direct-Access     USBModem Disk             2.31 PQ: 0 ANSI: 2
Mar 10 08:33:04 maru kernel: [ 1567.641501] sd 12:0:0:0: [sdb] 65536 512-byte hardware sectors (34 MB)
Mar 10 08:33:04 maru kernel: [ 1567.643249] sd 12:0:0:0: [sdb] Write Protect is on
Mar 10 08:33:04 maru kernel: [ 1567.646871] sd 12:0:0:0: [sdb] 65536 512-byte hardware sectors (34 MB)
Mar 10 08:33:04 maru kernel: [ 1567.648496] sd 12:0:0:0: [sdb] Write Protect is on
Mar 10 08:33:04 maru kernel: [ 1567.651292]  sdb:
Mar 10 08:33:04 maru kernel: [ 1567.653507] sd 12:0:0:0: [sdb] Attached SCSI disk
Mar 10 08:33:04 maru kernel: [ 1567.654488] sd 12:0:0:0: Attached scsi generic sg1 type 0

#sudo usb_modeswitch
Mar 10 08:33:14 maru kernel: [ 1577.310935] usb 5-5: USB disconnect, address 16
Mar 10 08:33:14 maru kernel: [ 1577.556075] usb 5-5: new high speed USB device using ehci_hcd and address 17
Mar 10 08:33:14 maru kernel: [ 1577.694338] usb 5-5: configuration #1 chosen from 1 choice
Mar 10 08:33:14 maru kernel: [ 1577.705488] usbserial_generic 5-5:1.0: generic converter detected
Mar 10 08:33:14 maru kernel: [ 1577.707207] usb 5-5: generic converter now attached to ttyUSB0
Mar 10 08:33:14 maru kernel: [ 1577.707868] usbserial_generic 5-5:1.1: generic converter detected
Mar 10 08:33:14 maru kernel: [ 1577.709028] usb 5-5: generic converter now attached to ttyUSB1
Mar 10 08:33:14 maru kernel: [ 1577.710254] usbserial_generic 5-5:1.2: generic converter detected
Mar 10 08:33:14 maru kernel: [ 1577.711389] usb 5-5: generic converter now attached to ttyUSB2
Mar 10 08:33:14 maru kernel: [ 1577.712596] usbserial_generic 5-5:1.3: generic converter detected
Mar 10 08:33:14 maru kernel: [ 1577.713719] usb 5-5: generic converter now attached to ttyUSB3


昨日の正常時のログ

# usbを挿した
Mar 10 01:06:29 maru kernel: [  888.736055] usb 5-5: new high speed USB device using ehci_hcd and address 4
Mar 10 01:06:29 maru kernel: [  888.870921] usb 5-5: configuration #1 chosen from 1 choice
Mar 10 01:06:29 maru kernel: [  888.962637] usbcore: registered new interface driver libusual
Mar 10 01:06:29 maru kernel: [  888.977363] Initializing USB Mass Storage driver...
Mar 10 01:06:29 maru kernel: [  888.978862] scsi6 : SCSI emulation for USB Mass Storage devices
Mar 10 01:06:29 maru kernel: [  888.980381] usbcore: registered new interface driver usb-storage
Mar 10 01:06:29 maru kernel: [  888.980389] USB Mass Storage support registered.
Mar 10 01:06:34 maru kernel: [  894.000815] scsi 6:0:0:0: Direct-Access     USBModem Disk             2.31 PQ: 0 ANSI: 2
Mar 10 01:06:34 maru kernel: [  894.004603] sd 6:0:0:0: [sdb] 65536 512-byte hardware sectors (34 MB)
Mar 10 01:06:34 maru kernel: [  894.005747] sd 6:0:0:0: [sdb] Write Protect is on
Mar 10 01:06:34 maru kernel: [  894.008731] sd 6:0:0:0: [sdb] 65536 512-byte hardware sectors (34 MB)
Mar 10 01:06:34 maru kernel: [  894.010097] sd 6:0:0:0: [sdb] Write Protect is on
Mar 10 01:06:34 maru kernel: [  894.011397]  sdb:
Mar 10 01:06:34 maru kernel: [  894.021386] sd 6:0:0:0: [sdb] Attached SCSI disk

#sudo usb_modeswitch
Mar 10 01:07:42 maru kernel: [  961.684803] usb 5-5: USB disconnect, address 4
Mar 10 01:07:42 maru kernel: [  961.956071] usb 5-5: new high speed USB device using ehci_hcd and address 5
Mar 10 01:07:42 maru kernel: [  962.090315] usb 5-5: configuration #1 chosen from 1 choice
Mar 10 01:07:42 maru kernel: [  962.103354] usbserial_generic 5-5:1.0: generic converter detected
Mar 10 01:07:42 maru kernel: [  962.104663] usb 5-5: generic converter now attached to ttyUSB0
Mar 10 01:07:42 maru kernel: [  962.105813] usbserial_generic 5-5:1.1: generic converter detected
Mar 10 01:07:42 maru kernel: [  962.106867] usb 5-5: generic converter now attached to ttyUSB1
Mar 10 01:07:42 maru kernel: [  962.110130] scsi7 : SCSI emulation for USB Mass Storage devices
Mar 10 01:07:42 maru kernel: [  962.111853] usbserial_generic 5-5:1.3: generic converter detected
Mar 10 01:07:42 maru kernel: [  962.114528] usb 5-5: generic converter now attached to ttyUSB2

意味がわかりません。。

もしかしたら、昨日インストール後にパッケージをいろいろアップデートしたので、なにかドライバ等が上書きされてしまい、それで認識が出来なくなってしまったのではないかと思ったが、調べる方法も特定ドライバを戻す方法もわからない。何より、もくもくのためにカフェに来ているので、他のPCで調べ物等が出来ない。。
何度も再起動等していたのだが、最後の悪あがきで、再度再起動をしてみたら、なぜか認識しました。


今回は、挿したまま再起動しましたので、最初からモデムとして認識されていました。差し直すとダメなのでしょうか?
たしかに、挿したまま再起動でないとうまく認識しないという話はありましたが、途中さしでも出来ていたと思うのですが。。

maru@maru:~$ lsusb
Bus 005 Device 002: ID 1c9e:9104  
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 002: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 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 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
maru@maru:~$ ls /dev/ttyUSB*
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2


以下、接続時のログ

maru@maru:~$ sudo gnome-ppp
[sudo] password for maru: 
Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
Loading socket FrontEnd module ...
Starting SCIM as daemon ...
GTK Panel of SCIM 1.4.7


(gnome-ppp:5917): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

(gnome-ppp:5917): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
WVCONF: /root/.wvdial.conf
GNOME PPP: Connecting...
GNOME PPP: STDERR: --> Ignoring malformed input line: ";Do NOT edit this file by hand!"
GNOME PPP: STDERR: --> WvDial: Internet dialer version 1.60
GNOME PPP: STDERR: --> Cannot get information for serial port.
GNOME PPP: STDERR: --> Initializing modem.
GNOME PPP: STDERR: --> Sending: ATZ
GNOME PPP: STDERR: ATZ
GNOME PPP: STDERR: OK
GNOME PPP: STDERR: --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
GNOME PPP: STDERR: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
GNOME PPP: STDERR: OK
GNOME PPP: STDERR: --> Modem initialized.
GNOME PPP: STDERR: --> Sending: ATM0L0DT*99***1#
GNOME PPP: STDERR: --> Waiting for carrier.
GNOME PPP: STDERR: ATM0L0DT*99***1#
GNOME PPP: STDERR: CONNECT
GNOME PPP: STDERR: --> Carrier detected.  Starting PPP immediately.
GNOME PPP: STDERR: --> Starting pppd at Tue Mar 10 08:42:08 2009
GNOME PPP: STDERR: --> Pid of pppd: 5927
GNOME PPP: STDERR: --> Using interface ppp0
GNOME PPP: STDERR: --> local  IP address xxx.xxx.xxx.xxx
GNOME PPP: STDERR: --> remote IP address xxx.xxx.xxx.xxx
GNOME PPP: STDERR: --> primary   DNS address xxx.xxx.xxx.xxx
GNOME PPP: STDERR: --> secondary DNS address xxx.xxx.xxx.xxx

(IPだけ伏せ字にしてあります)

とりあえず

原因は不明ですが認識できました。詳しい調査は別途することにします。