วันพฤหัสบดีที่ 24 กุมภาพันธ์ พ.ศ. 2554

Bluetooth USB Adapter กับ FreeBSD 8.1 (ตอนที่ 2)

     จากตอนที่1 หลังจากที่เราได้ลง Driver ของ Bluetooth USB Dongle และทดสอบค้นหาอุปกรณ์กันไปแล้ว     ต่อไปก็เป็นการจับคู่(Pairing) ระหว่างComputerของเรา กับ โทรศัพท์มือถือกัน
     งานนี้ hcsecd daemon จะเป็นพระเอกจัดการเรื่องการยืนยันความถูกต้องของอุปกรณ์Bluetooth จึงต้องมีการกำหนดค่าของอุปกรณ์ให้รู้จักกันซะก่อน โดยแก้ไขไฟล์ /etc/bluetooth/hcsecd.conf เพื่อกำหนดชื่ออุปกรณ์ และค่า PIN code ดังนี้
#vi /etc/bluetooth/hcsecd.conf
แล้วเพิ่มค่าBD_ADDR ของอุปกรณ์ และ ชื่อ, PIN code ไปที่บรรทัดล่างสุด  ยกตัวอย่างดังนี้

device {
             bdaddr   00:35:77:8a:55:ee;
             name      "GT-S5233S";
             key          nokey;
             pin          "1234";
}

บันทึกแล้ว ก็ไปสู่ขั้นตอนต่อไป ก็คือ การให้ hcsecd daemon ทำงานทุกครั้งเมื่อเปิดเครื่อง โดยแก้ไขไฟล์ /etc/rc.conf
#vi /etc/rc.conf
เพิ่มข้อความดังนี้ ไปท้ายไฟล์ /etc/rc.conf
hcsecd_enable="YES"

     บันทึกไฟล์ แล้ว restart เครื่อง 1ครั้ง

เมื่อเสร็จขั้นตอนนี้แล้ว ก็จะเป็นการ Install โปรแกรม obexapp ซึ่งจะใช้จัดการเรื่องการย้ายไฟล์ผ่านทาง Bluetooth นั่นเอง โดย install ผ่าน ports ดังนี้
-เปิด xterm ขึ้นมา พิมพ์ su กด Enter ใส่password แล้วสั่ง
#cd /usr/ports/comms/obexapp && make install clean
     รอสักครู่ เสร็จแล้ว สั่ง
#rehash
เสร็จแล้ว พิมพ์ exit กด Enter เพื่อออกจาก root มาเป็น เรา แล้ว มาลองกันดูครับ โดยลองพิมพ์ใน xterm ดังนี้
%obexapp -a 00:35:77:8a:55:ee -c -C ftrn -f
     ถ้าไม่มีปัญหาอะไร ก็จะเจอ prompt ดังนี้

obex>

ลองสั่ง ls  แล้วกด Enter ก็จะเจอรายการชื่อ Directory และ File ของหน่วยความจำในโทรศัพท์กันล่ะ
obexapp client แบบ ftrn จากComputer ไปยัง มือถือ
     และเราสามารถใช้คำสั่ง cd , ls , get , put ได้ในการเคลื่อนย้ายไฟล์ผ่าน bluetooth ซึ่งคงต้องไปว่ากันต่อไป ในตอนสุดท้าย ซึ่งจะ set ให้ Computer เป็น Obex Server ด้วย
     พบกันใหม่ตอนที่ 3 นะครับ ^_^

วันพุธที่ 23 กุมภาพันธ์ พ.ศ. 2554

Bluetooth USB Adapter กับ FreeBSD 8.1 (ตอนที่ 1)

     ก็เนื่องมาจาก อยากลองใช้ Bluetooth USB Adapter กับ FreeBSD จริงๆสักที (เห็น Ubuntu มันทำได้ง่ายๆ)ก็ลองค้นหาวิธีจาก Google ก็ชักเข้าเค้า...
     อุปกรณ์ของผมคือ Bluetooth USB Adapter รุ่น HK-760 Version 2.0 และ NoteBook Compaq Presario M2000 เจ้าเก่า กับ Samsung Star GT-S5233S
Bluetooth USB รุ่น HK-760 Version 2.0
     ขั้นแรกสุด ก็ต้องLoad module Driver ของ bluetooth usb ก่อนดังนี้
-แก้ไข File /boot/loader.conf ด้วย vi
%sudo vi /boot/loader.conf
 เลื่อน cursor ไปบรรทัดล่างสุด กด "o" เพื่อเพิ่มบรรทัดนี้เพิ่มเข้าไป
ng_ubt_load="YES"
 เสร็จแล้ว กด Esc 1ครั้ง แล้วบันทึกโดย พิมพ์ :wq ก็เป็นอันเรียบร้อย แต่ต้องสั่ง Rebootก่อนจึงจะมีผล ถ้าต้องการให้มีผลทันที ต้องสั่ง Load module ของ Driver นี้โดยสั่งดังนี้
#kldload ng_ubt
     จากนั้น ก็เสียบ Bluetooth USB Dongle เพื่อทดสอบกันเลย ซึ่งปกติเมื่อเสียบอุปกรณ์ก็มักจะมีข้อความบางอย่างขึ้นมาในxterm เพื่อบอกว่า FreeBSD รู้จักอุปกรณ์นี้นะ แต่ของผมไม่ยักมีแฮะ แต่ไม่เป็นไร ลองทำขั้นตอนถัดไป...
     ขั้นต่อไปคือ สั่ง run script สำหรับ start bluetooth ดังนี้(เป็น root ก่อนนะครับ)
#/etc/rc.d/bluetooth start ubt0
      ก็จะพบข้อความแจ้งรายระเอียดของอุปกรณ์อีกครั้ง เช่น BD_ADDR และอื่นๆอีกมากมาย แต่ของผมก็ไม่มีข้อความอะไรแจ้งเลยเหมือนเดิม (เฮ้อ... ชักถอดใจซะแล้ว..)
     ขั้นต่อไปคือ ลองเปิดBluetooth ในโทรศัพท์มือถือดู(Bluetooth On)เพื่อใช้ทดสอบว่าอุปกรณ์ของเราทำงานจริงหรือไม่ จากนั้น ก็ลองใช้คำสั่งทดสอบหาดูว่าพบโทรศัพท์รึปล่าว ดังนี้...
%hccontrol -n ubt0hci inquiry
 ถ้าเจอ ก็จะพบข้อความคล้ายๆอย่างนี้...
 
% hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
       BD_ADDR: 00:35:77:8a:55:ee
       Page Scan Rep. Mode: 0x1
       Page Scan Period Mode: 00
       Page Scan Mode: 00
       Class: 52:02:04
       Clock offset: 0x78ef
Inquiry complete. Status: No error [00]

      แต่จะใช่โทรศัพท์เราอ๊ะป่าว ก็ต้องลองถามดูต่ออีก โดยเอาค่า BD_ADDR: ไปถามอีก ดังนี้...
%hccontrol -n ubt0hci remote_name_request 00:35:77:8a:55:ee
 ก็จะเจอคำตอบคล้ายๆยังงี้...
BD_ADDR: 00:35:77:8a:55:ee
Name: GT-S5233S

     นั่นคือ ชื่อของโทรศัพท์ของเรานั่นเอง อย่างงี้ แสดงว่า Work!!
และเมื่อลองใช้โทรศัพท์ค้นหา Computer ของเรา ก็จะเจอรายชื่ออุปกรณ์ ชื่อ hostname(ubt0) ของเรา เช่น m2000.rspg (ubt0)

     คงต้องไปต่อกัน ตอนที่ 2 กันต่อนะครับ จะได้ไม่ยาวเกินไป แล้วมาลุยกันต่อนะครับ

วันพฤหัสบดีที่ 17 กุมภาพันธ์ พ.ศ. 2554

กู้ไฟล์ที่เผลอลบไปบน FreeBSD ด้วย testdisk (Data Recovery On FreeBSD with testdisk)

     2-3วันก่อน เผลอลบไฟล์ผิดตัวไป ก็เลยนั่งเหงื่อตก เพราะไม่รู้จะกู้กลับมายังไงดี ไม่เคยทำซะด้วย เลยตั้งสติ แล้วรีบถามพี่google เพื่อนเก่าโดยด่วน ก็พบคำตอบน่าสนใจ นั่นคือ TestDisk นั่นเอง
     สำหรับ TestDisk นั้น มีทั้ง version บน dos, windows , linux, FreeBSD, Sun OS , Mac OSX และอีกหลายระบบ และยังมีความสามารถมากมาย กับ หลายๆ File System อีกด้วย
     และเนื่องจาก ใน FreeBSD ก็มี TestDisk มาให้แล้ว ใน ports(/usr/ports/sysutils/testdisk) งั้นมา install กันเลย ใน xterm หรือ terminal แล้วแต่ถนัด
#cd /usr/ports/sysutils/testdisk && make install clean
     รอสักพัก เมื่อ install เรียบร้อยแล้ว สั่ง rehash อีกครั้ง เพื่อจะได้เรียกใช้ TestDisk ได้โดยไม่ต้อง reboot ใหม่
#rehash
สั่งใน xterm ดังนี้
#testdisk 
ก็จะเจอกับ interface ดังรูป

จากนั้นก็ดูตามตัวอย่าง ก็ละกันครับ
เลือกPartitionที่ต้องการกู้ไฟล์

เลือกชนิดของ partition

เลือก Advance

เลือก Partition ที่ต้องการกู้ไฟล์คืน และเลือก Undelete


ใช้cursor เลื่อนขึ้นลงหาไฟล์ที่ต้องการกู้คืน(บรรทัดสีแดง)แล้วกด C (copy)

จะมีคำถามให้เลือกว่าจะcopy ไฟล์นั้นมาไว้ที่ใด

เมื่อcopyเสร็จ ก็กลับมาหน้าเดิม กด Q เพื่อออกจากโปรแกรม

     หวังว่า คงเป็นประโยชน์สำหรับผู้ที่ชอบเผลอลบไฟล์แบบไม่ดูตาม้าตาเรือแบบผมนะครับ ;-p