wiki:jazz/09-03-18

2009-03-18

Autotools

  • TOSSUG 的 Autotools 教學 - GNU build system 是 GNU project 做出來的一套工具,可以幫助軟體在多個 UNIX-like 的系統上執行,而成為跨平台的軟體。它是 GNU 工具鏈的一部分, 由 GNU Autoconf, GNU Automake 和 GNU Libtool 組合而成。

Green Computing

OpenID

  • 最初在 sourceforge 上找到的兩個專案
    • Prasi - Protocol for Remote Authentication and Shared Information
    • SimpleID - a simple, personal OpenID provider written in PHP.
    • T-OpenID - 用 Python 寫的 OpenID server + Firefox OpenID extension

3G/3.5G

  • 因為專案需要,去台灣大哥大辦了 3G 網卡,雖然有先做了一下功課,確定 NU MU-Q101 3.5G 無線網卡 可以支援 Linux,也發現當 Q101 接上 Windows 時,有 EeePC 目錄裡出現 deb 安裝檔。由於我不是要在 EeePC 上用,所以不能直接裝隨著 Q101 附帶的 deb 安裝檔,而必須要靠傳統的做法,用 wvdial 去撥號。
  • 做法:
    1. 首先先用 lsusb 去查 vendor id 跟 product id - 先決條件: 安裝 usbutils 套件
      root@wsu-admin:~# apt-get install usbutils
      root@wsu-admin:~# lsusb
      Bus 001 Device 002: ID 0408:ea02 Quanta Computer, Inc.
      Bus 001 Device 001: ID 0000:0000
      
    2. 好在 Debian Etch 並沒有很主動地幫我掛載 Q101 為 USB 硬碟,所以我不用卸載 USB 硬碟。如果在 Ubuntu 底下,或者有發現 dmesg 出現新的外接式硬碟,那可能就要用 umount 的方式卸載 USB 硬碟,並且下指令把 Q101 轉換成 USB Modem。參考,要注意的是 usb1 的 1 是代表 Bus 001 而 1-2 代表 Bus 001 的 Device 002。似乎 Product ID 如果是 ea02 的話,就是正常 USB Modem 的 ID。
      root@wsu-admin:~# echo "suspend" > /sys/bus/usb/devices/usb1/1-2/power/level
      
      插上3.5G 網路卡之前,先將usb_storage 模組移除掉。
      modprobe -r usb_storage
      如果一直移不掉的話,那麼用強迫它:
      rmmod -f [...]
      
    3. 用 modprobe usbserial 加上 vendor id 與 product id 參數,來驅動 Q101 數據機
      root@wsu-admin:~# modprobe usbserial vendor=0x0408 product=0xea02
      
    4. 安裝 wvdial 並用 wvdialconf 來跑數據機偵測 (第一次安裝 wvdial 會跑 wvdial 但是如果要重新偵測的話,就得用 wvdialconf 了)
      root@wsu-admin:~# apt-get install wvdial
      root@wsu-admin:~# wvdialconf
      
      (... 略 ...)
      
      Found a modem on /dev/ttyUSB0.
      Modem configuration written to /etc/wvdial.conf.
      ttyUSB0<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
      ttyUSB2<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
      ttyUSB3<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
      
    5. 預設產生出來的 /etc/wvdial.conf 並無法正常連線,所以必須重新設定撥號等資訊。參考
      [Dialer Defaults]
      Phone = *99#
      Username = username
      Password = passwd
      Stupid Mode = 1
      Dial Command = ATDT
      Check Def Route = on
      Dial Attempts = 3
      Modem = /dev/ttyUSB0
      Baud = 460800
      Init2 = ATZ
      Init3 = ATQ0 V1 E0 S0=0 &C1 &D2 +FCLASS=0
      Init4 = AT+CGDCONT=1, "IP","Internet"
      ISDN = 0
      Modem Type = Analog Modem
      New PPPD = yes
      
    6. 跑一隻 script 來重新設定 Q101 - [問題] 目前還沒有辦法每次撥號都成功,也還沒找到方法怎麼停掉撥號網路。
      root@wsu-admin:~# cat start_q101
      #!/bin/bash
      echo "停用 Q101"
      modprobe -r usbserial
      sleep 3
      echo "重新啟動 Q101"
      modprobe usbserial vendor=0x0408 product=0xea02
      sleep 5
      echo "確認 Q101 已啟動"
      lsusb
      sleep 10
      echo "重新搜尋 Q101 所在 USB 位置....並設定 /etc/wvdial"
      wvdialconf
      echo "啟動 wvdial 進行撥號...."
      wvdial &
      
    7. 使用 ddclient 來更新 DynDNS.org 的動態 DNS 服務。它會要你輸入 DynDNS 的帳號、密碼跟網址。若設定正確,使用 ddclient 就會進行更新。
      root@wsu-admin:~# apt-get install ddclient
      root@wsu-admin:~# ddclient
      SUCCESS:  updating xxxx.dyndns.org: good: IP address set to xxx.xxx.xxx.xxx
      
Last modified 14 years ago Last modified on May 3, 2010, 9:07:12 PM

Attachments (2)

Download all attachments as: .zip