2009-8-13

|G1| 让一个无线网卡即当AP又当STA

公司用WIFI上网,只给笔记本分配了一个MAC地址,G1来了没法上网。

想了一个办法,把笔记本虚拟成一个AP,这样需要笔记本的无线网卡需拟成两块无线网卡:一个作STA客户端与公司的WIFI连接,另一个模拟AP供G1连接

用madwifi,已经能把原先的一个 ath0 设备变成 ath0/ath1 ,AP也出来了,可是网络很不稳定,时断时续,还需要找问题继续改进。。。

/etc/init.d/NetworkManager stop
modprobe -r ath_pci ath_rate_sample ath_hal wlan_scan_sta wlan_wep wlan_tkip wlan_xauth wlan_scan_ap wlan
modprobe ath_pci autocreate=none

wlanconfig ath create wlandev wifi0 wlanmode sta nosbeacon
wlanconfig ath create wlandev wifi0 wlanmode ap

ifconfig ath0 up
iwconfig ath0 essid myspace
iwpriv ath0 mode 3
dhclient ath0

ifconfig ath1 192.168.31.1/24
ifconfig ath1 up
iwconfig ath1 essid Android
/etc/init.d/dhcp3-server

2009-5-4

|Script|在控制台使用 cd 命令时,用拼音自动补全中文路径

在控制台使用 cd 命令时,用拼音自动补全中文路径

实验目录如下:
biff@lenovo:/domain/WorkSpace$ ls
SVN培训 全球眼 浙江建行 浙江农信

使用: (输完后按 TAB 键自动补全)
cd S <tab> 进入[SVN培训]
cd q <tab> 进入[全球眼]
cd z <tab> 自动补全[浙江]
cd zj <tab><tab> 提示[浙江建行 浙江农信]备选
cd 浙江j <tab> 进入[浙江建行]
cd zjj <tab> 进入[浙江建行]
cd zj1 <tab> 进入[浙江建行]
cd zj2 <tab> 进入[浙江农信]

配置:
找到 /etc/bash_completion 中 _file_dir() 函数,将
COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" )
改成 ( 其中chsdir为本脚的名字,注意指定路径和赋执行权限 )
chs=($(chsdir "x$1" "$cur"))
COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" "${chs[@]}" )
( 这是最简单的,但也是最不安全的。还有其它的方法,比如将这段函数粘到$HOME/.bashrc文件中,在引用/etc/bash_completion之后再覆盖性的定义一遍。或者另起一个文件保存这段脚本,然后在.bashrc中用 . $HOME/bin/myscript.sh 导入一遍。注意小点点。)
( 上面的修改只对 cd 命令生效,如果其它地方也需要补全,比如vim,还要用相同的方法处理 _filedir_xspec() 函数 )

问题:
1、多音字无法解决,比如[浙江建行]要输入[zjjx];
2、可以用数字序号定位,但是现在序号有乱序问题,思考中...
有问题邮件联系!

祝Linux之行一路顺风!

版本更新在: https://groups.google.com/group/binsos/browse_thread/thread/1951b77a2cf4bfab

---------------------------------
google talk
shaozx@gmail.com
---------------------------------