2011年12月27日 (火)

Xperia SO-01B で アドホック接続

アドエスのwifiルータソフト(WiFiSnap)は、普通のインフラストラクチャモードには対応しておらず、アドホックモードのみ対応している。

Xperia SO-01B は、b-mobile SIMの有効期限が切れていてwifi接続だけのタブレット状態なので、一般的にandroidでは対応されていないアドホック接続ができるように調べてみた

なお、Xperiaは、2.1にアップデートした後、SuperOneClickv1.5.5でルート化している。

ググってみると、方法は、

①adhoc対応したwpa_supplicantに差し替える
②wpa_supplicant.confにadhocの接続先を直接記入する

の2通りがあるらしい。

①は、xda-developers.comからいろいろダウンロードしたが、バイナリの互換性がないようで、駄目だった。

②を試してみた。

■アドエス側は、WiFiSnapを起動して、
暗号化=WEP
パスワードは、1234567890123に設定しておく。

■以下のファイルを作成し、Xperiaのsdカードにコピーしておく

ファイル名=wpa_supplicant.conf

update_config=0
ctrl_interface=DIR=/data/system/wpa_supplicant    GROUP=wifi   
ap_scan=2

network={
    ssid="WiFiSnap"
    key_mgmt=NONE
    auth_alg=OPEN SHARED
    wep_key0="1234567890123"
    priority=1
    mode=1
}

■adb shell でコピー作業

c:\> adb shell
$ su
# cd   /data/misc/wifi/

1)バックアップを取る
# cp   wpa_supplicant.conf   wpa_supplicant.conf.org

2)SDカードのファイルを上書きコピー
# cp  /sdcard/wpa_supplicant.conf   /data/misc/wifi/wpa_supplicant.conf

3)念のため、owner:group を再設定
# chown  wifi.wifi  wpa_supplicant.conf

4)パーミッションも変更
# chmod  666   wpa_supplicant.conf

これでXpeiaのwifi設定をON/OFFすると接続できるようになった。

/dataフォルダなので何かあったら書き換わる可能性がある。sdcardにはバックアップ用としてwpa_supplicant.confは、そのままにしておこう。

| コメント (0) | トラックバック (0)

2011年12月 6日 (火)

android で USB Bluetoothドングルを試す

手持ちにあるBluetooth USBアダプタは、Bluetooth ver2.1対応 USBアダプタ BT-MicroEDR2X

これがandroidタブレットで使えるか調べてみた。

調べてみようと思ったのは、何故か、EM51にはBluetooth関係のファイルがそろっているからである。

/system/bin/sdptool
/system/bin/bluetoothd
/system/lib/libbluedroid.so
/system/lib/libbluetooth.so
/system/lib/libbluetoothd.so

等々... 出来そうな感じ。しかし・・・

①カーネルにBluetoothドライバモジュールが入っていない

②androidの設定に「Bluetooth」の項目が存在しない。

この2点をクリアしなければならない。

以下からはクリアするために行ったメモ。

①ドライバモジュールの構築

TCC8902のカーネル2.6.29のソースを入手し、モジュールだけビルドした。
sdカードに出来上がったbluetooth.ko, btusb.ko を入れて、adbコマンドで確認

------------------------------------------------------------------
# insmod /sdcard/bluetooth.ko
# insmod /sdcard/btusb.ko
------------------------------------------------------------------

Bluetooth USBアダプタを差し込んでみてdmesgで確認する

# dmesg
------------------------------------------------------------------
<6>Bluetooth: Core ver 2.15
<6>NET: Registered protocol family 31
<6>Bluetooth: HCI device and connection manager initialized
<6>Bluetooth: HCI socket layer initialized
<6>Bluetooth: Generic Bluetooth USB driver ver 0.5
<6>usbcore: registered new interface driver btusb
------------------------------------------------------------------
きちんとロードされてる!

/proc でも確認する。
---------------------------------------------------------------------
# cat /proc/bus/usb/devices | grep -e^[TPD] | grep -e Cls=e0 -B1 -A1
--------------------------------------------------------------------
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0a12 ProdID=0001 Rev=48.39
---------------------------------------------------------------------
OK。

hciconfigでBluetoothアドレスが有効か確認する。

# hciconfig
---------------------------------------------------------------------
hci0:   Type: USB
        BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
        DOWN
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:0 errors:0
---------------------------------------------------------------------

まだこの時点では、有効になっていない。起動するには、upを指定する

---------------------------------------------------------------------
# hciconfig hci0 up
---------------------------------------------------------------------

再度hciconfigを実行
---------------------------------------------------------------------
# hciconfig
hci0:   Type: USB
        BD Address: 00:1B:DC:0F:89:4B ACL MTU: 310:10 SCO MTU: 64:8
        UP RUNNING
        RX bytes:354 acl:0 sco:0 events:12 errors:0
        TX bytes:38 acl:0 sco:0 commands:11 errors:0
---------------------------------------------------------------------
UP RUNNING と表示され、bluetoothのアドレスが変化した。
カーネルレベルでは成功している。

ついでに他のデバイスが見えるか確認してみた。
---------------------------------------------------------------------
# hcitool scan
Scanning ...
        6C:23:B9:XX:XX:XX       SO-01B
---------------------------------------------------------------------
近くに置いていたXperiaが表示された。成功。

後は、このモジュールは、/sdcardでは、都合が悪いので、別な場所へコピーしておく
--------------------------------------------------------------------
# cp /sdcard/bluetooth.ko  /system/etc
# cp /sdcard/btusb.ko      /system/etc
-------------------------------------------------------------------

②Bluetoothの有効化

/init.rcスクリプトを調べてみると、bluetoothdサービス起動部分がdisableになっている。

disabledの行をコメントアウトする必要がある。

変更前
--------------------------------------------------------------------------------
service bluetoothd /system/bin/bluetoothd -n
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let bluetoothd drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled
--------------------------------------------------------------------------------

変更後
--------------------------------------------------------------------------------
service bluetoothd /system/bin/bluetoothd -n
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let bluetoothd drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
#    disabled
--------------------------------------------------------------------------------

しかしルートファイルなので、adbコマンドで直接書き換えが出来ない orz

じゃあ、ファームウェアアップデートファイル update.zip の中のboot.imgファイルを
分解して、ルートファイルの/init.rcを書き換えることにした。

手順)以下のサイトから以下のファイルをダウンロードする。

http://fei-yen.jp/maya/wordpress/2010/08/30/android2-1%E7%AB%AF%E6%9C%AB%E3%82%92%E5%85%A5%E6%89%8B%EF%BC%81%EF%BC%88%E6%9B%B8%E3%81%84%E3%81%A6%E3%82%8B%E9%80%94%E4%B8%AD%E3%81%A0%E3%81%91%E3%81%A9%E5%85%AC%E9%96%8B%EF%BC%89/

split_bootimg.zip
replace_ramdisk.php

zipファイルは解凍して、Linux上で作業する。

書き換え作業は、上記のURLを参考に行う。

Bluetoothの設定は?

andoridの「設定」はファイルSettings.apkが行っている。
これはメーカーのオリジナルのプログラム。
メーカーのSettings.apkのソースをもらわない限り不可能。

でも、androidアプリ SuperBoxでBluetoothの呼び出しが出来る

SuperBoxでBluetoothの設定呼び出しが出来たが、それでもBluetoothは、有効にならない。orz

原因は、下記のサイトを読むとandroidのソースにパッチを当てる必要があった。

http://www.kumikomi.net/archives/2009/09/beagleboardandroid_wii1.php?page=1

AndroidではBluetoothモジュールの電源制御にRF KillというKernelの機能
(Switch Class)を使用している。しかし、Bluetooth USBアダプタは、この仕組みに対応していない。

Bluetoothの電源制御はlibbluedroidライブラリで実施しており,このソース・コードを修正する必要がある。

結局、androidのビルドをしなければならない。orz

| コメント (0) | トラックバック (0)

2011年12月 3日 (土)

4方向回転を止め、ホームを縦画面固定にする

手順です。

①android.policy.jar をカスタマイズする。

  1) android.policy.jarをSDカードにコピーしてPCへもってくる

    # cp /system/framework/android.policy.jar /sdcard

  2) anroid.policy.jar を android.policy.jar.zipへファイル名変更して、winrarなどで、classes.dexを取り出す。

  3) コマンドプロンプトで、以下を実行。   (baksmali-1.2.6.jarは別途ググってダウンロードしておく)

    d:\EM51> java -Xmx1G -jar baksmali-1.2.6.jar classes.dex

    すると、outフォルダの下に.smaliのファイルが沢山できる。
    これと同じことをSmartQV5のandroid.policy.jarでも同じように実行する。

  4) SmartQV5のPhoneWindowManager.smali を EM51のoutフォルダへ上書きする。

    ※SmartQV5は、Gセンサー搭載しておらず、ホームは縦画面固定になっている。
            つまり自動回転を無視した前提の作りになっている。
            その記述がPhoneWindowManager.java。

  5) 再び、classes.dex を作る。 (smali-1.2.6.jarは別途ググってダウンロードしておく)

    d:\EM51>java -jar smali-1.2.6.jar -o classes.dex out

  6) winrarなどでandroid.policy.jar.zipの中のclasses.dexを上書きする。
     ※apkと違って署名は不要らしい。

  7) android.policy.jar.zip をandroid.policy.jarにファイル名変更する。

  8) adb shell などで、android.policy.jarを /system/framework/へ上書きする。

    # cp /sdcard/android.policy.jar /system/framework

  9) dalvik-cache フォルダの該当 dex を削除する。

    # rm /data/dalvik-cache/system@framework@android.policy.jar@classes.dex

      ※削除したdalvik-cache の該当ファイルは、再度作られる。

② Gセンサーであるライブラリ、sensors.tcc92xx.so を動かないようにリネームする

  c:\> adb shell
  # cd /system/lib/hw
  # mv sensors.tcc92xx.so sensors.tcc92xx.so.org

③) 再起動

| コメント (0) | トラックバック (0)

2011年11月20日 (日)

EM51でNS001Uを使ってpppd

[1] スクリプトファイルの置き場所(ns001u, ns001.chat)
/system/etc/ppp/peers/ns001u
/data/ppp/ns001u.chat

[2]実行の仕方

# pppd call ns001u

[3]接続の確認
# netcfg
lo          UP          127.0.0.1            255.0.0.0   0x00000049
sit0       DOWN        0.0.0.0                0.0.0.0   0x00000080
ppp0     UP    61.198.136.49   255.255.255.255   0x000010d1

[4]
これでMarketも動くし、Googleの検索も結果が出るし、ブラウザも動くので、困ってはいないのが、タスクバーに何にも表示されない。
X5Aのときには通信しているマークが出た(解除は出来ないけど)何が違うのか、getpropで確認してみる。

□EM51でpppd call ns001u した後のgetpropの内容

# getprop
[ro.secure]: [0]
[ro.allow.mock.location]: [1]
[ro.debuggable]: [1]
[persist.service.adb.enable]: [1]
[ro.factorytest]: [0]
[ro.serialno]: []
[ro.bootmode]: [unknown]
[ro.baseband]: [unknown]
[ro.carrier]: [unknown]
[ro.bootloader]: [unknown]
[ro.hardware]: [tcc92xx]
[ro.revision]: [0]
[wifi.interface]: [wlan0]
[wlan.driver.script]: [wifi_sta_up.sh]
[wlan.driver.path]: [/system/wifi]
[ro.build.id]: [ECLAIR]
[ro.build.display.id]: [EM51-eng 2.1-update1 ECLAIR eng.enzo.20110222.213407 test-keys]
[ro.build.version.incremental]: [eng.enzo.20110222.213407]
[ro.build.version.sdk]: [7]
[ro.build.version.codename]: [REL]
[ro.build.version.release]: [2.1-update1]
[ro.build.date]: [Tue Feb 22 21:37:09 CST 2011]
[ro.build.date.utc]: [1298381829]
[ro.build.type]: [eng]
[ro.build.user]: [enzo]
[ro.build.host]: [enzo-desktop]
[ro.build.tags]: [test-keys]
[ro.product.model]: [MID-5S]
[ro.product.brand]: [telechips]
[ro.product.name]: [MID-5S]
[ro.product.device]: [tcc8900]
[ro.product.board]: [tcc8900_evm]
[ro.product.cpu.abi]: [armeabi-v6]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.manufacturer]: [telechips]
[ro.product.locale.language]: [zh]
[ro.product.locale.region]: [CN]
[ro.wifi.channels]: []
[ro.board.platform]: [tcc92xx]
[ro.build.product]: [tcc8900]
[ro.build.description]: [EM51-eng 2.1-update1 ECLAIR eng.enzo.20110222.213407 test-keys]
[persist.sys.timezone]: [Asia/Tokyo]
[ro.opengles.version]: [131072]
[dalvik.vm.heapsize]: [24m]
[ro.sf.lcd_density]: [240]
[ro.media.dec.aud.wma.enabled]: [1]
[ro.media.dec.vid.wmv.enabled]: [1]
[ro.media.dec.aud.ra.enabled]: [1]
[ro.media.dec.vid.rv.enabled]: [1]
[ro.media.aud.rate.changeable]: [0]
[rild.libpath]: [/system/lib/libreference-ril.so]
[rild.libargs]: [-d /dev/ttyUSB2]
[ro.config.notification_sound]: [F1_New_SMS.ogg]
[ro.com.google.locationfeatures]: [1]
[ro.url.legal]: [http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html]
[ro.url.legal.android_privacy]: [http://www.google.com/intl/%s/mobile/android/basic/privacy.html]
[ro.config.alarm_alert]: [Alarm_Classic.ogg]
[keyguard.no_require_sim]: [1]
[ro.com.android.dateformat]: [MM-dd-yyyy]
[ro.com.android.dataroaming]: [true]
[ro.ril.hsxpa]: [1]
[ro.ril.gprsclass]: [10]
[ro.media.dec.vid.max_width]: [1920]
[ro.media.dec.vid.max_height]: [1088]
[ro.kernel.android.checkjni]: [1]
[net.bt.name]: [Android]
[net.change]: [net.dns2]
[ro.config.sync]: [yes]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
[persist.sys.localevar]: []
[persist.sys.country]: [JP]
[persist.sys.language]: [ja]
[persist.sys.hdmi_setting]: [0]
[persist.sys.output_select]: [0]
[persist.sys.spdif_setting]: [0]
[ro.FOREGROUND_APP_ADJ]: [0]
[ro.VISIBLE_APP_ADJ]: [1]
[ro.SECONDARY_SERVER_ADJ]: [2]
[ro.BACKUP_APP_ADJ]: [2]
[ro.HOME_APP_ADJ]: [4]
[ro.HIDDEN_APP_MIN_ADJ]: [7]
[ro.CONTENT_PROVIDER_ADJ]: [14]
[ro.EMPTY_APP_ADJ]: [15]
[ro.FOREGROUND_APP_MEM]: [1536]
[ro.VISIBLE_APP_MEM]: [8000]
[ro.SECONDARY_SERVER_MEM]: [8000]
[ro.BACKUP_APP_MEM]: [4096]
[ro.HOME_APP_MEM]: [10000]
[ro.HIDDEN_APP_MEM]: [10000]
[ro.CONTENT_PROVIDER_MEM]: [12500]
[ro.EMPTY_APP_MEM]: [16000]
[ro.radio.use-ppp]: [no]
[ro.radio.noril]: [yes]
[app.setupwizard.disable]: [1]
[ro.simulated.phone]: [true]
[net.tcp.buffersize.default]: [4096,87380,110208,4096,16384,110208]
[net.tcp.buffersize.wifi]: [4095,87380,110208,4096,16384,110208]
[net.tcp.buffersize.umts]: [4094,87380,110208,4096,16384,110208]
[net.tcp.buffersize.edge]: [4093,26280,35040,4096,16384,35040]
[net.tcp.buffersize.gprs]: [4092,8760,11680,4096,8760,11680]
[init.svc.console]: [running]
[init.svc.servicemanager]: [running]
[init.svc.vold]: [running]
[init.svc.debuggerd]: [running]
[init.svc.ril-daemon]: [running]
[init.svc.zygote]: [running]
[init.svc.media]: [running]
[init.svc.dbus]: [running]
[init.svc.installd]: [running]
[init.svc.wlan_tool]: [stopped]
[init.svc.keystore]: [running]
[init.svc.dhcp-service]: [stopped]
[init.svc.usb_modeswitch]: [running]
[init.svc.tcc_dxb_service]: [running]
[init.svc.adbd]: [running]
[NAND_STORAGE_STATE]: [mounted]
[tcc.hdmi.size]: [9]
[tcc.mali.ctx.handle]: [67872]
[tcc.mali.surface]: [14]
[init.svc.bootanim]: [stopped]
[hw.keyboards.0.devname]: [telechips keypad]
[sys.settings_secure_version]: [5]
[wlan.driver.status]: [unloaded]
[init.svc.wpa_supplicant]: [stopped]
[init.svc.dhcpcd]: [stopped]
[dhcp.wlan0.pid]: [1225]
[dhcp.wlan0.reason]: [STOP]
[dev.bootcomplete]: [1]
[sys.settings_system_version]: [10]
[net.wlan0.dns1]: [192.168.1.1]
[net.dns1]: [61.198.138.14]
[net.wlan0.dns2]: []
[ro.runtime.started]: [1321712538787]
[gsm.version.ril-impl]: [android reference-ril v1.0-20100818]
[gsm.sim.operator.numeric]: []
[gsm.sim.operator.alpha]: []
[gsm.sim.operator.iso-country]: []
[gsm.sim.state]: [UNKNOWN]
[gsm.current.phone-type]: [1]
[gsm.operator.alpha]: []
[gsm.operator.numeric]: []
[gsm.operator.iso-country]: []
[gsm.operator.isroaming]: [false]
[dhcp.wlan0.result]: [failed]
[EXTERNAL_STORAGE_STATE]: [mounted]
[tcc.nand.db.status]: [available]
[tcc.nand.storage.full]: [false]
[tcc.unfied.sata.db.status]: [not_available]
[tcc.unfied.scsi.db.status]: [not_available]
[tcc.unfied.inand.db.status]: [not_available]
[tcc.unfied.nand.db.status]: [available]
[tcc.unfied.sdcard.db.status]: [available]
[tcc.sdcard.db.status]: [available]
[tcc.sdcard.storage.full]: [false]
[net.dnschange]: [3]
[dhcp.wlan0.dns1]: []
[dhcp.wlan0.dns2]: []
[dhcp.wlan0.dns3]: []
[dhcp.wlan0.dns4]: []
[dhcp.wlan0.ipaddress]: [192.168.1.22]
[dhcp.wlan0.gateway]: [192.168.1.1]
[dhcp.wlan0.mask]: [255.255.255.0]
[dhcp.wlan0.leasetime]: [86400]
[dhcp.wlan0.server]: [192.168.1.1]
[net.interfaces.defaultroute]: [gprs]
[net.gprs.dns1]: [61.198.138.14]
[net.gprs.dns2]: [61.198.139.224]
[net.gprs.local-ip]: [61.198.136.49]
[net.gprs.remote-ip]: [61.204.7.254]
[net.dns2]: [61.198.139.224]
#

□X5Aでpppd call ns001u した後のgetpropの内容

# getprop
[ro.secure]: [0]
[ro.allow.mock.location]: [1]
[ro.debuggable]: [1]
[persist.service.adb.enable]: [1]
[ro.factorytest]: [0]
[ro.serialno]: []
[ro.bootmode]: [unknown]
[ro.baseband]: [unknown]
[ro.carrier]: [unknown]
[ro.bootloader]: [unknown]
[ro.hardware]: [tcc92xx]
[ro.revision]: [0]
[wifi.interface]: [wlan0]
[wlan.driver.script]: [wifi_sta_up.sh]
[wlan.driver.path]: [/system/wifi]
[ro.build.id]: [ECLAIR]
[ro.build.display.id]: [telechips_tcc8900_us-eng 2.1-update1 ECLAIR eng.root.20100925.061909 test-keys]
[ro.build.version.incremental]: [eng.root.20100925.061909]
[ro.build.version.sdk]: [7]
[ro.build.version.codename]: [REL]
[ro.build.version.release]: [2.1-update1]
[ro.build.date]: [2010■09■■25■■■■■ 07:24:58 EDT]
[ro.build.date.utc]: [1285413898]
[ro.build.type]: [eng]
[ro.build.user]: [root]
[ro.build.host]: [localhost.localdomain]
[ro.build.tags]: [test-keys]
[ro.product.model]: [MID]
[ro.product.brand]: [telechips]
[ro.product.name]: [telechips_tcc8900_us]
[ro.product.device]: [tcc8900]
[ro.product.board]: [tcc8900_evm]
[ro.product.cpu.abi]: [armeabi-v6]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.manufacturer]: [telechips]
[ro.product.locale.language]: [en]
[ro.product.locale.region]: [US]
[persist.sys.timezone]: [Asia/Tokyo]
[ro.wifi.channels]: []
[ro.board.platform]: [tcc92xx]
[ro.build.product]: [tcc8900]
[ro.build.description]: [telechips_tcc8900_us-eng 2.1-update1 ECLAIR eng.root.20100925.061909 test-keys]
[ro.opengles.version]: [131072]
[dalvik.vm.heapsize]: [24m]
[ro.media.dec.jpeg.memcap]: [20000000]
[ro.sf.lcd_density]: [162]
[ro.media.dec.aud.wma.enabled]: [1]
[ro.media.dec.vid.wmv.enabled]: [1]
[ro.media.dec.aud.ra.enabled]: [1]
[ro.media.dec.vid.rv.enabled]: [1]
[ro.media.aud.rate.changeable]: [0]
[ro.config.notification_sound]: [OnTheHunt.ogg]
[ro.config.alarm_alert]: [Alarm_Classic.ogg]
[keyguard.no_require_sim]: [1]
[ro.com.android.dateformat]: [MM-dd-yyyy]
[ro.com.android.dataroaming]: [true]
[ro.ril.hsxpa]: [1]
[ro.ril.gprsclass]: [10]
[ro.media.dec.vid.max_width]: [1920]
[ro.media.dec.vid.max_height]: [1088]
[ro.kernel.android.checkjni]: [1]
[ro.setupwizard.mode]: [OPTIONAL]
[net.bt.name]: [Android]
[net.change]: [net.dns2]
[ro.config.sync]: [yes]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
[persist.sys.hdmi_setting]: [0]
[persist.sys.output_select]: [0]
[persist.sys.localevar]: []
[persist.sys.country]: [JP]
[persist.sys.spdif_setting]: [0]
[persist.sys.language]: [ja]
[ro.FOREGROUND_APP_ADJ]: [0]
[ro.VISIBLE_APP_ADJ]: [1]
[ro.SECONDARY_SERVER_ADJ]: [2]
[ro.BACKUP_APP_ADJ]: [2]
[ro.HOME_APP_ADJ]: [4]
[ro.HIDDEN_APP_MIN_ADJ]: [7]
[ro.CONTENT_PROVIDER_ADJ]: [14]
[ro.EMPTY_APP_ADJ]: [15]
[ro.FOREGROUND_APP_MEM]: [1536]
[ro.VISIBLE_APP_MEM]: [2048]
[ro.SECONDARY_SERVER_MEM]: [4096]
[ro.BACKUP_APP_MEM]: [4096]
[ro.HOME_APP_MEM]: [4096]
[ro.HIDDEN_APP_MEM]: [5120]
[ro.CONTENT_PROVIDER_MEM]: [5632]
[ro.EMPTY_APP_MEM]: [6144]
[ro.radio.use-ppp]: [no]
[ro.radio.noril]: [yes]
[app.setupwizard.disable]: [1]
[ro.simulated.phone]: [true]
[net.tcp.buffersize.default]: [4096,87380,110208,4096,16384,110208]
[net.tcp.buffersize.wifi]: [4095,87380,110208,4096,16384,110208]
[net.tcp.buffersize.umts]: [4094,87380,110208,4096,16384,110208]
[net.tcp.buffersize.edge]: [4093,26280,35040,4096,16384,35040]
[net.tcp.buffersize.gprs]: [4092,8760,11680,4096,8760,11680]
[init.svc.console]: [running]
[init.svc.servicemanager]: [running]
[init.svc.vold]: [running]
[init.svc.debuggerd]: [running]
[init.svc.ril-daemon]: [running]
[init.svc.zygote]: [running]
[init.svc.media]: [running]
[init.svc.dbus]: [running]
[init.svc.installd]: [running]
[init.svc.wlan_tool]: [stopped]
[init.svc.keystore]: [running]
[init.svc.driver_viausb]: [stopped]
[init.svc.adbd]: [running]
[NAND_STORAGE_STATE]: [mounted]
[tcc.hdmi.size]: [2]
[tcc.mali.ctx.handle]: [67880]
[tcc.mali.surface]: [14]
[init.svc.bootanim]: [stopped]
[tcc.net.connectflag]: [0]
[hw.keyboards.65536.devname]: [tcc9200-keypad]
[hw.keyboards.0.devname]: [telechips keypad]
[sys.settings_secure_version]: [4]
[dev.bootcomplete]: [1]
[init.svc.dhcp-service]: [stopped]
[sys.settings_system_version]: [11]
[ro.runtime.started]: [1321710688838]
[gsm.sim.operator.numeric]: [01234]
[gsm.sim.operator.alpha]: []
[gsm.sim.operator.iso-country]: []
[gsm.sim.state]: [READY]
[gsm.current.phone-type]: [1]
[gsm.version.baseband]: [SimulatedCommands]
[gsm.network.type]: [EDGE]
[gsm.operator.alpha]: []
[gsm.operator.numeric]: [001001]
[gsm.operator.iso-country]: []
[gsm.operator.isroaming]: [true]
[net.dnschange]: [5]
[tcc.unfied.sata.db.status]: [not_available]
[tcc.unfied.scsi.db.status]: [not_available]
[tcc.unfied.inand.db.status]: [not_available]
[tcc.unfied.nand.db.status]: [available]
[tcc.unfied.sdcard.db.status]: [available]
[EXTERNAL_STORAGE_STATE]: [mounted]
[tcc.nand.db.status]: [available]
[tcc.sdcard.db.status]: [available]
[tcc.NetConnect.3G.IPUP]: [1]
[net.interfaces.defaultroute]: [gprs]
[net.ppp0.dns1]: [61.198.138.14]
[net.ppp0.dns2]: [61.198.139.224]
[net.ppp0.local-ip]: [61.198.132.223]
[net.ppp0.remote-ip]: [61.204.7.254]
[net.dns1]: [61.198.138.14]
[net.dns2]: [61.198.139.224]
#

なんか、3Gモデム対応のEM51とEDGE対応のX5Aではいろいろ差が出ている。
pppdを実行した後、setpropで値を変えれば、タスクバーは変わるのだろうか?

# setprop gsm.network.type EDGE
# setprop gsm.sim.state READY

参考①)EM51の/etc/ppp/ip-up
---------------------------------------------------------------------
#!/system/bin/sh

/system/bin/setprop "net.interfaces.defaultroute" "gprs"
/system/bin/setprop "net.gprs.dns1" "$DNS1"
/system/bin/setprop "net.gprs.dns2" "$DNS2"
/system/bin/setprop "net.gprs.local-ip" "$IPLOCAL"
/system/bin/setprop "net.gprs.remote-ip" "$IPREMOTE"
/system/bin/setprop "net.dns1" "$DNS1"
/system/bin/setprop "net.dns2" "$DNS2"

exit 0
---------------------------------------------------------------------

参考②)/system/etc/ppp/peers/ns001u
---------------------------------------------------------------------
# This is pppd script for China Mobile, used NS001U RX420IN Module
# Usage: root>pppd call ns001u
/dev/ttyUSB0
115200
nodetach
crtscts
nolock
usepeerdns
defaultroute
user clubh
password *****
noccp
novjccomp
novj
persist
connect '/system/bin/chat -v -f /data/ppp/ns001u.chat'
---------------------------------------------------------------------
※*****は内緒

参考③)/data/ppp/ns001u.chat
---------------------------------------------------------------------
TIMEOUT 10
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT DELAYED
"" "ATZ"
OK "ATD0570570081\#\#64"
CONNECT '\d\d'
---------------------------------------------------------------------

タスクバーが変わるかどうか、時間がある時、いろいろ試してみようと思う

| コメント (0) | トラックバック (0)

2011年11月18日 (金)

EM51のandroidで使えるカーネルモジュールの構築メモ

1) クロスコンパイラのtar.gzをどっかのサイトからダウンロードする

   arm-2008q3-39-arm-none-eabi-i686-pc-linux-gnu.tar.gz

2) そのファイルを/optへ展開する。

$ su
# cd /opt
# tar xvfj /home/mydownload/arm-2008q3-39-arm-none-eabi-i686-pc-linux-gnu.tar.gz

3) 環境変数へセットする

# export PATH=/opt/arm-2008q3/bin/:$PATH
# export ARCH=arm
# export CROSS_COMPILE=arm-none-gnueabi-

4) カーネルのtar.gzを解凍する

# cd ~
# tar xvfz kernel.tar.gz
# cd ./kernel

5) カーネルのモジュールの設定をする。
   *.koが欲しいので、<M>の設定をする。

   以下は、btusb.ko, bluetooth.ko, tun.ko, cifs.ko, nls_utf8.ko の例

# make menuconfig
===========================================================
->  Linux Kernel v2.6.29 Configuration screen
   
Networking support --->
<M>  Bluetooth subsystem support --->
     Bluetooth device drivers --->
       <M> HCI USB Driver

Network device support
<M>   Universal TUN/TAP device driver support 

File systems
--- Network File systems
   <M>   CIFS support (advanced network filesystem, SMBFS successor)
   [*]     CIFS statistics                                          
   [*]       Extended statistics                                    
   [*]     Support legacy servers which use weaker LANMAN security 
   [*]     CIFS extended attributes                                 
   [*]       CIFS POSIX Extensions                                 
   [*]     Enable additional CIFS debugging routines               
   [*]     CIFS Experimental Features (EXPERIMENTAL) 

Navive Language support
   <M>  NLS UTF-8   
===========================================================
他はデフォルトのままにする。

6) MakefileのEXTRAVERSION は空白にしておく

# vi Makefile
---------------------------------------------------------
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 29
EXTRAVERSION =
----------------------------------------------------------

7) コンパイルする

# make modules ARCH=arm CROSS_COMPILE=arm-none-eabi-

8) 以下のファイルが出来上がる

./kernel/drivers/bluetooth/btusb.ko
./kernel/net/bluetooth/bluetooth.ko
./kernel/drivers/net/tun.ko
./kernel/fs/cifs/cifs.ko
./kernel/fs/nls/nls_utf8.ko

| コメント (0) | トラックバック (0)

EM51のsystem.img

EM51のsystem.imgの扱いメモ

Q)解凍するには?
A) unyaffsを実行します。

# unyaffs system.img

Q)弄った後作るには?
A) mkyaffs2imageを実行します

# mkyaff2image system system.img

(systemは解凍した時に作成したディレクトリ)

「mkyaffs2.tar.gz」をダウンロード

| コメント (0) | トラックバック (0)

EM51 android 2.1 のカスタムファーム

オリジナルからちょこっとだけ変更です。

修正点

①日本語フォントの導入
②センターのENTERキーをHOMEキーへ変更
③以下のカーネルモジュールを導入
  /system/lib/module/fun.ko
  /system/lib/module/cifs.ko
  /system/lib/module/nls_utf8.ko

  tun.ko: OpenVPN 用
  cifs.ko, nls_utf8.ko: Samba アクセス用
  Marketからダウンロードするアプリ OpenVPNSetting, Mount Manager で確認しています。
  起動時にはロードされていないので、各アプリでロードしてください。

  カーネルバージョンとビルド番号は以下になってます。(オリジナルのまま)

Device

【アップデート方法】
EM51をFastbootモードで起動し、コマンドプロンプトから
C:\EM51> fastboot flash system system_yaffs2.img
を実行してください。

その後
C:\EM51> fastboot reboot
でリセットです。

EM51のsystem.imgをダウンロード

| コメント (0) | トラックバック (0)

2011年11月13日 (日)

LS-GL(debian Lenny)でOpenVPNサーバーを構築する

■参考にしたURL
http://kilin.clas.kitasato-u.ac.jp/howto/openvpn.html

■openvpnのインストール、/etc/init.d/openvpnが作られる。
# aptitude install openvpn

■鍵の生成
# cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa
# cd /etc/openvpn/easy-rsa/
# chmod +x *

■証明書/鍵作成用環境変数設定ファイル編集(自分の環境用に書き換える)
# vi vars

export KEY_COUNTRY="JP"
export KEY_PROVINCE="LS-GL"
export KEY_CITY="tokyo"
export KEY_ORG="LS-GL tokyo"
export KEY_EMAIL="xxxxx@nifty.com"

■環境変数設定,証明書/鍵作成先ディレクトリ初期化
# source vars
# ./clean-all

■CA証明書・秘密鍵作成し,/etc/openvpnにコピー
# ./build-ca
Generating a 1024 bit RSA private key
...............................++++++
........................................++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]:
State or Province Name (full name) [LS-GL]:
Locality Name (eg, city) [tokyo]:
Organization Name (eg, company) [LS-GL tokyo]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [LS-GL tokyo CA]:
Email Address [xxxxxx@nifty.com]:

# cp keys/ca.crt /etc/openvpn/

■サーバー証明書・秘密鍵とDH(Diffie Hellman)パラメータ作成 。/etc/openvpnにコピー
# ./build-key-server server
Generating a 1024 bit RSA private key
.................++++++
..........++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]:
State or Province Name (full name) [LS-GL]:
Locality Name (eg, city) [tokyo]:
Organization Name (eg, company) [LS-GL tokyo]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [server]:
Email Address [xxxxxxx@nifty.com]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'JP'
stateOrProvinceName   :PRINTABLE:'LS-GL'
localityName          :PRINTABLE:'tokyo'
organizationName      :PRINTABLE:'LS-GL tokyo'
commonName            :PRINTABLE:'server'
emailAddress          :IA5STRING:'xxxxxx@nifty.com'
Certificate is to be certified until Nov  9 13:07:05 2021 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
LS-GL:/etc/openvpn/easy-rsa#

# ./build-dh
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
.............+.....

# cp keys/server.crt /etc/openvpn/
# cp keys/server.key /etc/openvpn/
# cp keys/dh1024.pem /etc/openvpn/

■クライアント証明書・秘密鍵作成。
サーバーの場合と同じように、以下のコマンドで作成する。クライアントの台数分つくる。ここでは2個作成。入力を促されたら、サーバーの場合と同じように全てデフォルトのままEnterし、[y/n]にはyで答える。

# ./build-key client1
# ./build-key client2

■confファイルを/etc/openvpn/に用意する。
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
# cd /etc/openvpn
# gunzip server.conf.gz

■起動の仕方。(ちなみにインストールすると自動起動になっている)
# /etc/rc.d/init.d/openvpn start
# /etc/rc.d/init.d/openvpn stop
# /etc/rc.d/init.d/openvpn restart

■Windows openvpnクライアントのインストール。
http://www.openvpn.jp/ からopenvpn gui for windowsをダウンロード。

全てデフォルトでインストール。

[スタート]-[全てのプログラム]-[openVPN]-[OpenVPN Sample Configuration Files]で
sample-configフォルダを開き、configフォルダにサーバーで作ったCA証明書、クライアント証明書、鍵をコピーする。
(例 client1.crt -> client.crtへファイル名変更、client1.key->client.keyへファイル名変更)
ca ca.crt
cert client.crt
key client.key

[スタート]-[全てのプログラム]-[openVPN]-[OpenVPN configuration file directory]でconfigフォルダを開く。
sample-configフォルダから、client.ovpnファイルをconfigフォルダにコピー。

コピー後、client.ovpn内の鍵ファイルの名前と,サーバー名を修正する。
;remote my-server-1 1194
先頭の";"を削除してmy-server-1をサーバー名かサーバーのIPアドレスに書き換える。

■Windowsファイアウオールの設定。
[コントロールパネル]の[Windowsファイアウォール]の[詳細設定]で
openvpnのインストールに伴ってできたローカルエリア接続のファイアウォールからはずす
(チェックをはずす).

■VPN接続
[スタート]-[全てのプログラム]-[openVPN]-[OpenVPN GUI]でopenvpnを開始し
タスクバーの通知領域のアイコンを右クリックして,[client]に[接続]する

■LS-GLのsambaを使う
サーバーの設定ファイルで,アドレス体系10.8.0.0/255.255.255.0がopenvpnに割り当てようになっているので、サーバーのアドレスは10.8.0.1になっている。
このアドレスでアクセスできる。
なお、IPアドレス体系を修正するには、/etc/openvpn/server.confを修正する。

■ADSLルータの設定
ルータ側は、NATでUDPポート番号 1194 を対象のサーバーへ向ける必要がある。

使用しているADSLルータ Aterm  WD701CV では、
  詳細設定 - ポートマッピング設定で
  変換対象プロコトル=UDP
  変換対象ポート = 1194
  宛先アドレス = 192.168.1.XX  (LS-GLのIPアドレス)
でポートアドレスをopenvpnサーバーであるLS-GLの設定を行う。

| コメント (0) | トラックバック (0)

LS-GL(debian Lenny) でpptpサーバー構築、その2

LS-GLでPPTPサーバーを構築しようとしてppp_mppeのロード
# insmod ppp_mppe.ko
これがエラー。モジュール ppp_mppe.koがないのに気づく。

つまり、カーネルをコンパイルして、モジュールを作る必要がある。
ちなみにLS-GL debian lenny のカーネルバージョンは、2.6.29 なのだが、ソースは。2.6.26しかないので、2.6.26 ベースでブートイメージとmodulesを作ってみた。

参考にしたページ
http://d.hatena.ne.jp/irasya/20100111/1263213868
http://k355566687.blogspot.com/2010/04/blog-post_23.html

パッケージ一覧情報の更新をする
# aptitude update

必要なツール、ライブラリをインストール
# aptitude install build-essential bzip2 libncurses5-dev git-core fakeroot initramfs-tools kernel-package module-assistant devscripts uboot-mkimage devio

カーネルソースの入手
# aptitude install linux-tree-2.6.26

ソースのビルド
# cd /usr/src/linux-source-2.6.26

debian用のパッチをあてる
# /usr/src/kernel-patches/all/2.6.26/apply/debian
....
  (+) OK   bugfix/all/nfs-aio-fix-use-after-free.patch
  (+) OK   bugfix/all/md-fix-bug-with-re-adding-of-partially-recovered-device.patch
  (+) OK   bugfix/all/md-fix-bug-with-re-adding-of-partially-recovered-device-regression.patch
  (+) OK   bugfix/x86/flush-tlb-if-pgd-entry-is-changed-in-pae-mode.patch
  (+) OK   bugfix/all/ext3-skip-orphan-cleanup-on-rocompat-fs.patch
  (+) OK   bugfix/all/cciss-fix-lost-command-issue.patch
  (+) OK   bugfix/all/cifs-check-that-last-search-entry-resume-key-is-valid.patch
  (+) OK   bugfix/all/cifs-fix-saving-of-resume-key-before-CIFSFindNext.patch
  (+) OK   bugfix/all/vm-fix-vm_pgoff-wrap-in-upward-expansion-regression.patch
--> 27 fully applied.

/bootパーティションをマウント
# mount -t ext2 /dev/sda1 /boot

オリジナルのconfigファイルをコピー。
# cp arch/arm/configs/orion5x_defconfig .config

Makefileを変更、EXTRAVERSIONに -cocoro.ppp を追加
EXTRAVERSION = -cocoro.ppp 

カーネルの設定
# make oldconfig

... デフォルトでずっとENTER、以下だけ変える。

Buffalo Linkstation Pro/Live (MACH_LINKSTATION_PRO) [N/y/?] (NEW) Y

... 後も終わるまでずっとENTER

使用するモジュールの設定
# make menuconfig

[Device Drivers]->[Network device support]にある
<M> PPP (point-to-point protocol) support
として
[*] PPP multilink support (EXPERIMENTAL) (NEW)
[*] PPP filtering (NEW)
<M> PPP support for async serial ports (NEW)
<M> PPP support for sync tty ports (NEW)
<M> PPP Deflate compression (NEW)
<M> PPP BSD-Compress compression (NEW)
<M> PPP MPPE compression (encryption) (EXPERIMENTAL) (NEW)
<M> PPP over Ethernet (EXPERIMENTAL) (NEW)
<M> PPP over L2TP (EXPERIMENTAL) (NEW)

他はそのまま。

コンパイル作業、(devioの>はリダイレクトではないらしい。)
# make clean
# make zImage; make modules; make modules_install
# devio > foo 'wl 0xe3a01c06,4' 'wl 0xe3811031,4'
# cat foo arch/arm/boot/zImage > zImage
# mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'Linux-2.6.26-cocoro-ppp' -d zImage /boot/uImage-2.6.26-cocoro-ppp
Image Name:   Linux-2.6.26-cocoro-ppp
Created:      Fri Nov 11 22:38:09 2011
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1789232 Bytes = 1747.30 kB = 1.71 MB
Load Address: 0x00008000
Entry Point:  0x00008000

ブートパーティションに置く
/boot/uImageはシンボリックリンクなので一度削除して張りなおす。
# cd /boot
# rm uImage
# ln -s uImage-2.6.26-cocoro-ppp uImage

終わったら、再起動。
# shutdown -r now

uname でカーネルバージョンを確認
# uname -a
Linux LS-GL 2.6.26-cocoro.ppp #1 PREEMPT Fri Nov 11 01:03:15 JST 2011 armv5tel GNU/Linux

lsmodでロードされているか確認
#lsmod
Module                  Size  Used by
ppp_synctty             7392  0
ppp_async               8960  0
ppp_deflate              4928  0
ppp_generic            23572  3 ppp_synctty,ppp_async,ppp_deflate
slhc                      5504  1 ppp_generic
pcbc                      3584  0
ecb                        2752  0
crypto_blkcipher      15972  2 pcbc,ecb
crypto_algapi          14304  3 pcbc,ecb,crypto_blkcipher

なんか逆にモジュールが足りなくなった。その上、ppp_mppeがロードされてない。
pcbc, ecbはロードされてんだけどなあ。

tunやbridgeがないのが原因か?再度 menuconfig で修正してカーネルビルド

# cd /usr/src/linux-source-2.6.26
#make menuconfig

以下の設定を画面から選択
  Networking  --->
    Networking options  --->
       [*] TCP/IP networking
       [*]   IP: multicasting
       [*]   IP: advanced router
            Choose IP: FIB lookup algorithm (choose FIB_HASH if unsure) (FIB_HASH)
       [*]   IP: policy routing
       [*]   IP: equal cost multipath
   ....
       <M>   IP: tunneling
       <M>   IP: GRE tunnels over IP
       [*]     IP: broadcast GRE over IP
   ....
       <M>   IP: AH transformation
       <M>   IP: ESP transformation
       <M>   IP: IPComp transformation
       <M>   IP: IPsec transport mode
       <M>   IP: IPsec tunnel mode
       <M>   IP: IPsec BEET mode

ついでに、iptablesのフィルタ関係を追加。
  Networking  --->
    Networking options  --->
      [*] Network packet filtering framework (Netfilter)  --->
        [*]   Bridged IP/ARP packets filtering
        Core Netfilter Configuration  --->
          以下選べるの全部チェック
        IP: Netfilter Configuration  --->
          以下選べるの全部チェック
        Bridge: Netfilter Configuration  --->
          以下選べるの全部チェック

ブリッジ使う前提で入れる。
  Networking  --->
    Networking options  --->
    <M>  802.1d Ethernet Bridging

  Device Drivers  --->
    Network device support  --->
    <M>  Universal TUN/TAP device driver support

再度ビルド作業
# make zImage; make modules; make modules_install
# devio > foo 'wl 0xe3a01c06,4' 'wl 0xe3811031,4'
# cat foo arch/arm/boot/zImage > zImage

/bootをマウントして、uImageを置き換え
# mount -t ext2 /dev/sda1 /boot
# mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'Linux-2.6.26-cocoro-ppp' -d zImage /boot/uImage-2.6.26-cocoro-ppp
# cd /boot
# rm uImage
# ln -s uImage-2.6.26-cocoro-ppp uImage

再起動して再度試す。
# shutdown -r now

ロードされたモジュールの確認
# lsmod
Module                  Size  Used by
ppp_synctty            7392  0
ppp_async              8960  0
ppp_deflate             4928  0
ppp_generic            23572  3 ppp_synctty,ppp_async,ppp_deflate
slhc                       5504  1 ppp_generic
pcbc                      3584  0
ecb                        2752  0
crypto_blkcipher     15972  2 pcbc,ecb
crypto_algapi          14304  3 pcbc,ecb,crypto_blkcipher
tun                        9764  0
bridge                    51968  0

状況変わらず、他が原因か・・・試しに depmod を実行

# depmod -a
# modprobe ppp_mppe
FATAL: Error inserting ppp_mppe (/lib/modules/2.6.26-cocoro.ppp/kernel/drivers/net/ppp_mppe.ko): No such device

他に原因があるに違いない・・・ググって、以下のモジュールをロードするとうまくいった。

# modprobe crypto_algapi
# modprobe arc4
# modprobe sha1
# modprobe cryptomgr
# modprobe cbc
# modprobe pcbc
# modprobe ecb

それで、結局、/etc/modulesは以下の内容へ変更
----------------------------------------------------------------------
# Parameters can be specified after the module name.
bridge
tun
crypto_algapi
arc4
sha1
cryptomgr
cbc
pcbc
ecb
ppp_generic
ppp_deflate
ppp_async
ppp_mppe
ppp_synctty

alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
----------------------------------------------------------------------

再起動して、確認
# lsmod
Module                  Size  Used by
ppp_synctty            7392  0
ppp_mppe               7044  0
ppp_async               8960  0
ppp_deflate             4928  0
ppp_generic            23572  4 ppp_synctty,ppp_mppe,ppp_async,ppp_deflate
slhc                       5504  1 ppp_generic
ecb                        2752  0
pcbc                      3584  0
cbc                        3392  0
crypto_blkcipher      15972  3 ecb,pcbc,cbc
cryptomgr               2720  0
sha1_generic            2336  0
arc4                      1696  0
crypto_algapi          14304  7 ecb,pcbc,cbc,crypto_blkcipher,cryptomgr,sha1_generic,arc4
tun                       9764  0
bridge                   51968  0

結論)
ppp_mppeがロードできるようになるには、暗号関係(cryptomgr,sha1_generic,crypto_algapi)をロードさせることが必要。bridge やtunは関係なし。

また、後で気づいたのが、使用しているADSLモデム Aterm WD701CVは、VPNパススルーとうたっているが、GRE(プロコトル番号=47)のNAT対応がされていなかった。これじゃ外部からアクセスできない。

2012/04/30 しかし、GREのNATが出来なくても、高度な設定で、DMZホストの登録機能があった。以下の設定をAterm WD701CVで設定
・DMZホスト機能=使用する
・DMZホストの配置=LAN側
・DMZホストのIPアドレス=Linkstation のIPアドレス

後は、ポートマッピングで、TCP / 1723 をLinkstation のIPアドレスに仕向けるだけで
OKでした。

| コメント (0) | トラックバック (0)

LS-GL(debian Lenny)でpptpサーバー構築、その1

下記のURLの内容を参考に行ったが、うまくいかなかった。
原因は、モジュール ppp_mppe.koがなかったため。

参考)http://d.hatena.ne.jp/irasya/20100111/1263213868

インストールしているOS=Debian GNU/Linux 5.0 Lenny

pptpdのインストール

# aptitude install pptpd


/etc/sysctl.confの修正
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
と先頭の#を消してコメントアウト化。

pptpd設定ファイル(/etc/pptpd.conf)の内容

最後に追加

option /etc/ppp/options.pptpd
localip  192.168.1.201-210
remoteip 192.168.1.211-220


pptpdオプションファイル(/etc/ppp/options.pptpd)の内容

新規に作成

lock
nodefaultroute
name godmelon-pptp
auth
proxyarp
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns  192.168.1.1
#ms-wins 192.168.1.1
debug
nobsdcomp
novj
novjccomp
logfile /var/log/pptpd.log

認証ユーザ設定ファイル(/etc/ppp/chap-secrets)の内容
userid            *      password               *
※userid, password は、書き換える。

必要なモジュールを読み込ませる(/etc/modules)

bridge
ipv6
tun
ecb
pcbc
ppp_generic
ppp_deflate
ppp_async
ppp_mppe
ppp_synctty

alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

再起動

netstat でポートがオープンされているか確認

# netstat -tul
tcp        0      0 *:1723                  *:*                     LISTEN

記述したモジュールがロードされているか確認

# lsmod
Module                  Size   Used by
ppp_synctty            7392   0
ppp_async               8960  0
ppp_deflate             4928   0
ppp_generic            23572  3 ppp_synctty,ppp_async,ppp_deflate
slhc                       5504   1 ppp_generic
pcbc                      3584  0
ecb                        2752   0
crypto_blkcipher     15972   2 pcbc,ecb
crypto_algapi          14304  3 pcbc,ecb,crypto_blkcipher
tun                        9764   0
bridge                   51968  0

あれっ、記載しているppp_mppeが出てこない。

初期インストールのdebian lennyのカーネルには、ロードモジュールppp_mppe.ko がないことが判明。

| コメント (0) | トラックバック (0)

«EM51のハードウェアキーにHOMEを追加する