星期三, 11月 28, 2012

Lenovo ThinkPad T420 to enable wireless to AP mode

某次開會看到同樣是使用T420的同事可以在Win7下變更wireless adapeter為Access Point,想到如果wireless chip有支援那應該在Linux下也是啟動AP Mode的可能性。

連線方式
internet - eth0 - nat service - wireless (ap) - wireless client

又是拜G大神找到許多相關的資料,其中原始的來源有:
http://linuxwireless.org/en/users/Drivers/mac80211_hwsim

$lsmod | grep mac80211

mac80211              506816  1 iwlwifi
cfg80211              205544  2 iwlwifi,mac80211

確定系統自動load了mac80211,該網站寫到
mac80211_hwsim is a software simulator of 802.11 radio(s) for mac80211
系統不會自動load,必需手動load mac80211_hwsim來做為驅動的中介driver。

需要的軟體套件有
hostapd
dhcp3-server
wpasupplicant

如果是用Ubuntu
$sudo apt-get install hostapd dhcp3-server wpasupplicant

編輯檔案
$vi /etc/hostapd/hostapd.conf

# SSID to be used in IEEE 802.11 management frames
ssid=<ap ssid name>

# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
# Default: IEEE 802.11b
hw_mode=g

# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
wpa=1

# $wpa_passphrase  <ssid name>  <passphrase> and copy&past to here
wpa_psk=<dot11RSNAConfigPSKValue>  #要用指定加密出對應的字串

接下要設定ap client的dhcp ip range
$sudo vi /etc/dhcp3/dhcpd.conf # Adding lines
subnet 192.168.0.0 netmask 255.255.255.0
{
        range 192.168.0.2 192.168.0.10;
        option routers 192.168.0.1;
        option domain-name-servers 168.95.192.1;
}

最後弄一個script把啟動必要的動作集合起來。
#!/bin/sh
nat()
{
iptables -A INPUT -i wlan0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
}

ap_mode()
{
hostapd -B /etc/hostapd/hostapd.conf
}

dhcpserver()
{
dhcpd wlan0
}

#MAIN
case $1 in 
start)
modprobe  mac80211_hwsim
ifconfig wlan0 192.168.0.1
nat
ap_mode
dhcpserver
;;
stop)
pkill -15 hostapd
                pkill -15 dhcpd
iptables -X
echo "0" > /proc/sys/net/ipv4/ip_forward
;;
*)
echo "$0 start or $0 stop"
esac

如果執行完enable_ap.sh start後沒有出現錯誤情況,就可以開始拿出手機測試wifi上網。待使用完畢要停止ap mode服務,執行enable_ap.sh stop。

列出Linux下支援ap mode的chip list



星期五, 11月 02, 2012

在Ubuntu下設定滑鼠其他按鍵功能, 增加Page Up/Down

電腦工作者長時間使用電腦滑鼠在桌面上跑來跑去,一天七八個小時下來很容易引起身體的不適,於是從同事那拿到一支羅X早期的軌跡球滑鼠,不過沒有內建滾輪方便上下頁捲軸控制。但有其他按鍵可以做類似的事。
首先先找出滑鼠按鍵的定義:
xev | grep button
書面上會出現白色方框,把遊標移入方框內按下想查詢的滑鼠按鍵如:
將定義成page down的button:

    state 0x10, button 8, same_screen YES  
    state 0x10, button 8, same_screen YES
將定義成page up
    state 0x10, button 9, same_screen YES
    state 0x10, button 9, same_screen YES

安裝package:
sudo apt-get install imwheel

編輯啟始檔:
sudo vi /etc/X11/imwheel/startup.conf 
IMWHEEL_START=1
IMWHEEL_PARAMS='-b "0 0 0 0 8 9 10 11 12"'

編輯設定檔加入這幾行: ImWheel to assign button 8 to action Thumb1, button 9 to action Thumb2
sudo vi /etc/X11/imwheel/imwheelrc
".*"
None, Thumb1,   Down,   Page_Down
None, Thumb2,   Up,     Page_Up

最後在console下找個視窗測試定義好的按鍵。
sudo imwheel -k

技術來源參考連結
http://www.gdargaud.net/Hack/LinuxMouse.html

江苙萁 2022 談琴獨奏會

                              浮生若夢               江苙萁 2022 談琴獨奏會 原文連結  有音樂連結 其實早己經快忘記購票進音樂廳聆聽古典樂是什麼樣的感受了 會開始聽音樂會是因為在就讀專科時 參加了國樂社團又稱民族音樂 一開始也是...