Ubuntu 3G ด้วย DTAC Aircard + Data Counter

2010-03-10 18.18.58

วิธีตั้งค่า

1. ใส่ Sim card แล้วเสียบ Aircard เข้ากับคอม
2. รอ Aircard เชื่อมต่อเขากับเครือข่าย (ไฟกระพริบสีฟ้า)
3. ลอง lsusb จะเจอ Huawei Technologies Co., Ltd. E620 USB Modem
4. คลิกขวาที่ Network Manager เลือก Edit Connections…

step1
5. คลิกที่ Tab Mobile Broadband กดปุ่ม Add
6. จะปรากฏหน้าต่างดังนี้ เลือก Device เป็น HUAWEI Technology HUAWEI Mobile แล้วกด Forward

step2

7. เลือก Thailand กด Forward อีกรอบ
8. เลือก I can’t find my provider… แล้วตั้งชื่อ เช่น i-mobile 3GX แล้วก็กด Forward
9. กำหนด APN (Access Point Name) ของเครือข่ายผมใช้ Internet แล้วก็กด Forward
10. กด Apply อีก 2 ครั้ง
11. ตอนนี้เวลาคลิกที่ไอคอน Network Manager จะปรากฏรายชื่อเครือข่าย Mobile Broadband ให้คลิกเพื่อเชื่อมต่อได้แล้วครับ

step3

ปัญหาที่เจอ

เวลาใช้บน Ubuntu เราไม่มีโปรแกรมช่วยต่อแบบบน Windows ตัว Aircard เลยเลือกเชื่อมต่อเครือข่ายที่สัญญาณแรงที่สุด แถวหอผม สัญญาณ TOT 3G บางทีก็เบา ตัว Aircard มันก็เลยต่อ AIS GSM ให้ พอ connect ปั๊บก็ใช้เน็ตไม่ได้ เพราะผิดเครือข่าย
วิธีแก้คือ Disconnect แล้วก็ถอด/เสีย Aircard ใหม่อีกรอบครับ

Data Counter สำหรับ Ubuntu

คนใช้ 3G ทุกคนคงต้องกังวลเรื่อง Bandwidth (ปริมาณข้อมูลที่รับส่งในแต่ละเดือน) บน Ubuntu สามารถดูปริมาณอัพโหลด/ดาวน์โหลดได้ด้วยคำสั่ง ifconfig ppp0 ดังนี้ครับ

$ ifconfig ppp0

แต่ถ้าต้องนั่งจดเองทุกครั้งที่ต่อเน็ต ก็คงเหนื่อยเนาะครับ (ผมทำอยู่เดือนนึง หะๆ)

ผมเลยเขียน script เล็กๆ ไปฝากไว้เป็น Network Manager dispatcher ช่วยเก็บ log bandwidth ให้อัตโนมัติทุกครั้งที่ disconnect ครับ

สร้างไฟล์ 02datacounter ไว้ที่ /etc/NetworkManager/dispatcher.d / ให้มีเนื้อหาดังนี้
ใช้คำสั่ง

sudo gedit /etc/NetworkManager/dispatcher.d/02datacounter
#!/bin/bash 
IF=$1 
STATUS=$2 

if [ "$IF" = "ppp0" ]; then 
    if [ "$STATUS" = "down" ]; then 
        cat /var/log/messages | grep 'pppd.*Sent.*received' | tail -1 >> /home/nattster/logs/`date +%b`.txt 
    fi 
fi

Script ข้างบนจะเก็บ log ไว้ในโฟลเดอร์ /home/nattster/logs/ ครับ โดยแยกตามเดือน เช่น Jan.txt, Feb.txt, Mar.txt, …

สร้างไฟล์ /home/nattster/logs/report.py มีเนื้อหาตามนี้ครับ (ใช้วิเคราะห์ log สร้างรายงานการใช้ bandwidth)

# by Natt Piyapramote (@nattster)
import re
import glob

def analyze(filename):
	p = re.compile('([A-Za-z]+ [ 0-9]+) .* Sent (.*) bytes, received (.*) bytes.')

	f = open(filename, 'r').read()
	m = p.findall(f)

	bw = {}
	sumbw = 0
	for x in m:
		day, up, down = x
		if not bw.has_key(day):
			bw[day] = 0
		bw[day] += int(up)+int(down)
		sumbw += int(up)+int(down)

	for day in sorted(bw.keys()):
		print '   %s bw = %.2f MB' % (day,(bw[day]/1024.0/1024.0))
	print filename, 'Total = %.2f MB' % (sumbw/1024.0/1024.0)

for file in glob.glob('*.txt'):
	analyze(file)

เมื่อลองรันจะได้ผลลัพธ์ดังนี้ครับ

$ python report.py 
   Mar  1 bw = 75.78 MB
   Mar  2 bw = 8.20 MB
   Mar  3 bw = 81.57 MB
   Mar  4 bw = 97.50 MB
   Mar  5 bw = 1.85 MB
   Mar  6 bw = 21.89 MB
   Mar  7 bw = 41.43 MB
   Mar  8 bw = 13.83 MB
   Mar  9 bw = 100.00 MB
   Mar 10 bw = 3.77 MB
   Mar 11 bw = 77.11 MB
Mar.txt Total = 522.94 MB

หมายเหตุ:

– อย่าลืมเปลี่ยน /home/nattster/ เป็น home directory ของคุณ หรือ path อื่นๆ ที่จะเก็บ log
– แก้ ppp0 เป็นชื่อ interface ที่ถูกต้องด้วยนะครับ (ดูรายชื่อ interface ได้ด้วยคำสั่ง ifconfig ครับ)

2 คิดบน “Ubuntu 3G ด้วย DTAC Aircard + Data Counter

    1. เข้าใจถูกต้องแล้วครับ

      มีตัวอย่างจาก wiki อันนี้ (https://wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_VPN_after_a_network_connection_is_established) เป็น script เขียนใน dispatcher ให้ต่อ VPN อัตโนมัติหลังต่อ wifi ด้วยครับ

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s