X200 WWAN ready



裝上Ubuntu Jaunty 9.04的ThinkPad X200要怎麼連上HSDPA(3.5G)網路呢?

啊就是裝上Ericsson 3507G,升級WWAN firmware之後就可以自然而然連上HSDPA network了。

有沒有這麼簡單啊?(最好是就這麼簡單...)

有興趣裝起來用的各位,還是認命的繼續看下去吧...
第一件事,我想要定義 Fn+F6 就是WAN的開關:

1. 在 /etc/acpi/events/ 裡面新增 ibm-wan

內容如下:


# /etc/acpi/events/ibmwireless
# This is called when the user presses the wireless button and calls
# /etc/acpi/wireless.sh for further processing.

event=ibm/hotkey HKEY 00000080 00001006
action=/etc/acpi/ibm-wan.sh


2. 在 /etc/acpi/ 新增 ibm-wan.sh


#!/bin/sh

test -f /usr/share/acpi-support/state-funcs || exit 0

# Find and toggle wireless of bluetooth devices on ThinkPads

. /usr/share/acpi-support/state-funcs

WAN=/proc/acpi/ibm/wan
CONTROL_DEVICE=/dev/ttyACM1
GPS_DEVICE=/dev/ttyACM2

if [ -r $WAN ]; then
grep -q disabled $WAN
wan_state=$?
fi

# Note that this always alters the state of the wireless!
toggleAllWirelessStates;

# Sequence is Both on, Bluetooth only, Wireless only, Both off
if ! isAnyWirelessPoweredOn; then
# Wireless was turned off
if [ -w $WAN ]; then
if [ "$wan_state" = 0 ]; then
echo enable > $WAN;
echo "5 blink" > /proc/acpi/ibm/led
while [ ! -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n "."; done
/usr/sbin/chat -v "" "AT+CFUN=1" "+PACSP0" "AT" "OK" > $CONTROL_DEVICE < $CONTROL_DEVICE
# /usr/sbin/chat -v "" "AT*E2GPSCTL=1,5,1\r" "OK" "AT*E2GPSNPD\r" "GPGGA" > $GPS_DEVICE < $GPS_DEVICE
# gpsd $GPS_DEVICE
else
# killall gpsd
/usr/sbin/chat -v "" "AT+CFUN=4" "OK" > $CONTROL_DEVICE < $CONTROL_DEVICE
echo disable > $WAN
fi
fi
fi


有仔細看的高手們,可以選擇順便把GPS turn on。但是我發現WWAN和GPS stream一起跑會降低穩定性。

3. (optional) 雞肋的GPS功能開啟:

煩請在 /usr/local/bin/ 或是 ~/bin/ 新增 ericsson3507g

$ chmod 755 ericsson3507g


#!/bin/bash

CONTROL_DEVICE=/dev/ttyACM1
GPS_DEVICE=/dev/ttyACM2

case $1 in
(on)
echo -n "Powering up F3507g card.."
echo 1 > /sys/devices/platform/thinkpad_acpi/wwan_enable
while [ ! -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n "."; done
/usr/sbin/chat -v "" "AT+CFUN=1" "+PACSP0" "AT" "OK" > $CONTROL_DEVICE < $CONTROL_DEVICE
echo "done"
;;
(off)
echo -n "Powering down F3507g card.."
killall gpsd
/usr/sbin/chat -v "" "AT+CFUN=4" "OK" > $CONTROL_DEVICE < $CONTROL_DEVICE
echo 0 > /sys/devices/platform/thinkpad_acpi/wwan_enable
while [ -c $CONTROL_DEVICE ]; do sleep 0.5; echo -n "."; done
echo "done"
;;
(gpson)
echo -n "Starting NMEA stream on $GPS_DEVICE..."
/usr/sbin/chat -v "" "AT*E2GPSCTL=1,3,1\r" "OK" "AT*E2GPSNPD\r" "GPGGA" > $GPS_DEVICE < $GPS_DEVICE
gpsd $GPS_DEVICE
echo " done"
;;
*) echo "Usage: ericsson3507g on|off|gpson"
;;
esac


然後請安裝 gpsd, tangogps:
$ sudo aptitude install gpsd gpsd-client tangogps

以上全部搞定之後,重新啟動 acpid, acpi-support。最白痴的方法就是重開機。比較 geeky 的辦法:

$ sudo /etc/init.d/acpid restart
$ sudo /etc/init.d/acpi-support restart

留言

  1. 要怎麼更新firmware呢?
    Lenovo原廠沒有出啊...

    回覆刪除
  2. GOOGLE關鍵字:R1D06 toshiba

    需要用另外一台Toshiba的機器,安裝上WindowsXP以及Toshiba的Ericsson 3507G驅動程式,然後再用這個firmware upgrade:

    http://support1.toshiba-tro.de/tedd-files2/0/frmwre-20090324130515.zip

    回覆刪除
  3. 想再請教一下黃兄
    最近剛好有機會借一台Dell的電腦來試
    但把thinkpad F3507g裝上去,電腦看的到
    但一直出現Code 10 device can not start
    不管是用dell, lenovo還是toshiba的driver都一樣
    不知道黃兄是否碰過類似問題?
    謝謝!

    回覆刪除
  4. 抱歉,不清楚為什麼會這樣耶。我裝的是Linux。

    回覆刪除
  5. 請問只要是TOSHIBA的筆電皆可更新F3507G的韌體嗎?還是要特定型號呢?

    回覆刪除
  6. 我是在Toshiba NB100上測試的。

    回覆刪除
  7. 我還以為我搜尋到可以在Thinkpad下更新3507g的軔體的方法了 orz

    回覆刪除

張貼留言

這個網誌中的熱門文章

大車人生: Yamaha FZ6N更換TPS、火星塞以及引擎調校

[鳳梨外貿社] 1988 Austin Mini Automatic 奧斯丁 迷你上架銷售

PSA Citroen C5 Stereo Upgrade - from RD3 to RD45 (applied to Peugeot 307SW, Citroen XSara / C5 / C8, Berlingo)