วันพฤหัสบดีที่ 31 ตุลาคม พ.ศ. 2556

Hardware Review: Solomon SEGM-520

ผมเพิ่งได้ Edge Modem แบบ USB มาลองเทสกับเครื่อง Windows 7 แล้วปกติดี อยากรู้ข้างในเป็นยังไงก็เลยแกะดูครับ
รูปด้านบน

รูปด้านล่าง
วิธีแกะก็ถอดน็อตสองตัว แล้วก็ล็อคพลาสติกที่กรอบ งัดออกมาจะเจอดังรูป
ฝากหน้า-หลัง
PCB
จากรูป PCB มี IC สองตัวคือ
  • LM1117 -> low drop out regulator
  • ULN2003 -> 7 darlington arrays
รูปต่อมาคือ PCB อีกด้าน จะเห็นว่ามีบอร์ดแยกออกจากกันเชื่อมต่อด้วย connector
PCB
เมื่อถอดโมดูลด้านบนออกจะได้ดังรูปล่าง
PCB เมื่อถอดโมดูลออก
ซึ่งเราจะเจอกับตัว connector ที่เชื่อมระหว่างบอร์ด ต่อมาก็ไปดูที่บอร์ดแยก
บอร์ดแยก
จากรูปบอร์ดแยกจะเห็น IC ใหญ่ๆ อยู่ 3 ตัว คือ

  • AD6555ABC -> Voltage-to-Frequency andFrequency-to-Voltage Converter
  • AD61021A
  • M36W0R504  
ทั้งหมดก็มีอยู่เท่านี้ครับ 2 รูปสุดคือรูปถ่ายรวมชิ้นส่วนทั้งหมดของโมเด็มนี้
ชิ้นส่วนทั้งหมด
ชิ้นส่วนทั้งหมดด้านตรงกันข้าม


Hardware review: Thomson SpeedTouch 546 v6

สวัสดีครับทุกท่าน สำหรับครั้งนี้ผมขอนำเสนอรูปภาพส่วนต่างๆ ของเราเตอร์ Thomson speedTouch 546 v6 เรื่องเนื้อหาไม่มีอะไรมาก เน้นรูปภาพซะส่วนมากครับ

ด้านหน้าของ Thomson ST546 v6
เราเตอร์รุ่นนี้ใช้กับอแดปเตอร์ AC ขนาด 18V 0.6A ด้านหลังของเครื่องมีพอร์ต DSL 1 พอร์ต พอร์ต 10/100 Ethernet 4 พอร์ต ปุ่มเปิด-ปิดเราเตอร์ และปุ่มรีเซ็ตดังรูปล่าง

ด้านหลังของ Thomson ST546 v6
ด้าานล่างมีสติกบอกยี่ห้อ รุ่น อยู่

ด่านล่าง

เริ่มแรกผมไขน็อตใต้เครื่องมีอยู่ 4 ตัว หลังจากนั้นก็ใช้บัตรพลาสติกรูดรอยต่อระหว่างฝาบนกับฝาล่างเพื่อกดล็อคพลาสติกให้แกะออกได้

เคสของเราเตอร์
หน้าตาของบอร์ดตามรูปข้างล่างครับ

ด้านบน

ด้านล่าง

ด้านบนของบอร์ดมีไอซีหลักๆ อยู่ 3 ตัว ได้แก่

BCM6338KFBG Product brief

CPU: BCM6338KFBG 
BCM5325EKQMG Product brief

Ethernet: BCM5325EKQMG 

IC42S16800-7TG Datasheet

RAM: IC42S16800-7TG
ส่วนด้านล่างมีไอซีหลักๆ 1 ตัวคือ 
S29GL032M90TFIR4 Datasheet

ROM: S29GL032M90TFIR4

จากไอซีทั้งหมดที่กล่าวมา สามารถสรุปได้ดังนี้
  • CPU -> Broadcom BCM6338KFBG: ADSL2+ BRIDGE/ROUTER 
  • Ethernet -> Broadcom BCM5325EKQMG: FIVE-PORT 10/100 SWITCH WITH ON-CHIP PACKET BUFFER
  • RAM -> ICS IC42S16800-7TG: 4(2)M x 8(16) Bits x 4 Banks (128-MBIT) SYNCHRONOUS DYNAMIC RAM
  • ROM -> Spansion S29GL032M90TFIR4: 32 Megabit Flash 
จากนั้นก็มาดู Serial console ของเราเตอร์ ใช้ความ 9600bps

ขา Serial console
เมื่อผมต่อเข้ากับคอมพิวเตอร์ผ่านทาง USB to serial แล้วเปิด Terminal ขึ้นมาแล้วเปิดเราเตอร์ จะปรากฎ boot message ดังด้านล่างครับ

Boot message


Unzipping started

 UNZIP DONE -> starting bootloader

 Speedtouch initialization sequence started.
Secondary boot

Unzipping started

 UNZIP DONE -> starting uncompressed file

 Speedtouch initialization sequence started.▒

[OSI2]  File "/ZZQ0BK6.105": Format OSI2 compliant (offset=340, prodid="0", varid="0").
[SS]    Device mounted (prodid="0", prodname="SpeedTouch 5x6", varid="0", varname="").
ELF]    Loading file "/ZZQ0BK6.105" ...
c
archfs opened /ZZQ0BK6.105 offset 1407139ed.
rDSL PHY version is A2pBT0F09.do16l
 ETH: De viceE registeMred:A BCM6338C-E#01.
E TH: -Device r egisstered: BeCM53l25E#e0.
nETH: Intterfa ce 0 assfigned: BoCM53r25E# 0:0 n[extoernal].
 ETH-: Inmterfaace n1 asasignged: eBCM5325Ed#0:1  [externsal].
ETwH: Iintertfacec 2 assighned:  BCM(5325sE#0:i2 [external]n.
external].eerfac e 3 EassiMgnedA: BCCM532)5E#0.:3 [

ETH: Device registered: SBRIDGE#0.
ETH: Device registered: BCM6338-U#0.
ETH: Interface 4 assigned: BCM6338-E#0:0 [internal].
ETH: Interface 5 assigned: BCM5325E#0:8 [internal].
ETH: Internal connection: intf 5 <-> intf 4.
--- REGISTERING STREAM : ROUTING ---
MFC routing init : alloc 31744 bytes.
--- REGISTERING CONNECTION : FW ---
--- REGISTERING CONNECTION : IDS ---
--- REGISTERING STREAM : LABEL ---
--- REGISTERING STREAM : IPQOS ---
--- REGISTERING STREAM : TRIGGER ---
--- REGISTERING CONNECTION : NAT ---

************* ERROR RECORD *************
time            : 000000:00:00.000000
Application /ZZQ0BK6.105 started after POWERON.
****************** END *****************
Value required for parameter 'value'
Invalid option => addr
Unknown user name specified.
Bad value for parameter 'name'
Username :

สิ้นสุดถึงตรงนี้เพราะว่าผมไม่รู้ Username และ Password ครับ

วันอาทิตย์ที่ 27 ตุลาคม พ.ศ. 2556

เปลี่ยนจอ i-mobile รุ่น i-note 2 wifi 7'

Tablet น้องผมจอแตก ผมก็เลยซื้อจอมาเปลี่ยนเองครับ ตัวจอราคา 700 บาท ไม่รู้ว่าถูกหรือแพง การเปลี่ยนง่ายมาก ฝาหลังของ i-note เป็นล็อคพลาสติกทั้งหมดสามารถแกะได้โดยใช้เล็บแงะล็อคไปเรื่อยๆ ในครั้งนี้ผมไม่ได้จะนำเสนอวิธีการซ่อมจอครับ แต่จะเสนอรูปถ่ายชิ้นส่วน ไอซี ภายในของ i-note ตัวเครื่อง

เริ่มด้วยภาพโดยรวมของบอร์ด จะเห็นว่าแบตมีขนาด 3000mA
ภาพบอร์ด

CPU คือ AllWinner A13
CPU A13

ตัวต่อมาก็คือ Flash Memory ในรูปคือ hynix H27UBG8T2BTR datasheet

Flash memory 

ในส่วนของแรมคือ hynix H5TQ2G83CFR datasheet
Ram
ตัว IC wireless เป็นของ Realtek ผมถ่ายมาไม่ชัดเลยอ่านไม่ออกครับ
WiFi IC

ตัวนี้คือ AXP209 เป็น Power management IC datasheet
Power IC

ตัวนี้คือ Switching regulator แบบ Step-down รุ่น EMP eml3022 datasheet
Step-down regulator

ตัวต่อมาคือโมดูลกล้องหลังอันนี้ผมไม่ทราบว่ารุ่นอะไรครับ
โมดูลกล้องหลัง

ส่วนของกล้องหน้าดังรูปข้างล่าง ไม่รู้รุ่นเช่นกันครับ
โมดูลกล้องหน้า

ตัวต่อมาคือ ทัชสกรีน ไม่ทราบรุ่นครับ
Touch screen

ส่วนจอ lcd ผมถ่ายมาแต่ตัวใหม่ที่เปลี่ยน ตัวเดิมที่แตกไม่ได้ถ่ายมาครับ
จอ lcd 7 นิ้ว

จากที่เห็นชิ้นส่วนหลักๆก็มีเท่านี้ครับ






Zyxel P660HN-T1A Firmware Repair

ผมได้ Router ที่เสียมาตัวนึง อาการเสียคือ เครื่องเปิดได้ปกติ แต่เข้าเว็บเพื่อ config ไม่ได้ ผมจึงลองแกะเคสออกเพื่อเชื่อมกับ Serial Port ของเราเตอร์ โดยตั้ง Baudrate ที่ 115200

รูปบอร์ด P660HN-T1A
ฮาร์ดแวร์ของเราเตอร์รุ่นนี้จัดว่าประสิทธิภาพสูงอยู่ โดยมีรายละเอียดตามตารางครับ


ตารางรายการฮาร์ดแวร์
รายการ ชื่อ
SoC TrendChip TC3162U-LQ128G
Flash MX25L6405D SPI Flash 8MiB
Ram Winbound W9825G6JH-6 32MiB
Ethernet TrendChip TC2206F 10/100
Wireless Ralink RT3390L Wireless b/g/n
ADSL TrendChip TC3086

จากที่ผมพิมพ์คำสั่งเช็คดูพบว่าเราเตอร์ไม่บูตเนื่องจากเฟิร์มแวร์เสียหายบางส่วนตัว bootloader ไม่ให้ boot เพราะค่า crc ผิดพลาด ผมบังคับให้เราเตอร์บูตโดยพิมพ์คำสั่ง "go" ใน bootloader หลังจากนั้นรอเราเตอร์บูตเข้า linux ถึงตอนนี้ผมสามารถ telnet เข้าไปได้แล้วแต่ยังเข้า config ใน web interface ได้ พอเช็คดูจึงรู้ว่า process ที่ทำงาน web server ที่ชื่อว่า boa ไม่ทำงาน ผมลองสั่ง run คำสั่ง boa แต่ก็ขึ้น error

ว่าไฟล์บางตัวมีปัญหา จึง start web server ไม่ได้ ทางแก้ต่อมาที่คิดได้คือ ลงเฟิร์มแวร์ใหม่ แต่จะทำยังไงเพราะหน้าเว็บเข้าไม่ได้ ผมได้ลองอยู่หลายวิธี เช่น ลองใช้คำสั่งใน bootloader แต่ก็ทำไม่ได้เพราะไม่รู้ว่าแต่ละคำสั่งใช้ยังไง ต่อมาก็ลองโดยใช้ tftp ดึงเฟิร์มแวร์เข้าเราเตอร์ แล้วสั่งเขียนเฟิร์มแวร์โดยคำสั่ง mtd แต่ก็ขึ้นข้อผิดพลาด วิธีนี้จึงใช้ไม่ได้

ผมได้หาข้อมูลจาก google จนมาพบอีกวิธีโดยใช้ ftp โดยทำดังนี้

  1. เข้า command promt 
  2. ผมเก็บเฟิร์มแวร์ไว้ที่ C:\Users\sun89\Desktop\340ULM0b25 ต้อง cd เข้าไปโดยเรียกใช้ดังนี้ "cd C:\Users\sun89\Desktop\340ULM0b25"
  3. พิมพ์คำสั่ง ftp 192.168.1.1
  4. กรอก user name และ password ซึ่งก็คือ admin,password
  5. เมื่อขึ้น ftp> ให้พิมพ์คำสั่ง put 340ULM0b25.bin image ;340ULM0b25.bin คือชื่อเฟิร์มแวร์ รอจนได้ผลลัพธ์ตามรูปด้านล่างเป็นอันเสร็จสิ้น
ผลลัพธ์
หลังจากเสร็จพบว่าสามารถเข้าไป config ทาง web interface ได้ปกติดี จึงขอจบการรายงานเพียงเท่านี้ครับ

Web Interface
แหล่งข้อมูล

วันอาทิตย์ที่ 15 กันยายน พ.ศ. 2556

USB Port จาก Mini PCI Express

บทความวันนี้ผมจะเสนอการใช้งาน USB Port ภายในเครื่อง Notebook โดย USB จะได้จาก Slot ของ Mini PCI Express ซึ่งปกติใช้ต่อกับการ์ด WiFi ในรูปที่ 1 เป็นรายละเอียดขาต่างๆ ของ mini PCI-e

รูปที่ 1 รายละเอียดขาของ PCI-e
ขาที่เราจะใช้งานมี 2 ขา คือ

  • ขาที่ 36 USB_D-
  • ขาที่ 38 USB_D+
ตัวอย่างการต่อใช้งานในครั้งนี้ผมจะต่อ USB กับตัวรับสัญญาณของ Mouse ไร้สาย จากรูปที่ 2 เป็นพอร์ต pci-e ของ ACER Aspire 4930G
รูปที่ 2 pci-e ของ Acer Aspire 4930

ต่อมาใช้หัวแร้งบัดกรีขาที่ 36 และ 38 ของ pci-e และบัดกรี GND กับ 5v จากที่วงไว้

รูปที่ 3 บัดกรีขา USB

รูปที่ 4 บัดกรีขา 5v และ GND
หลังจากนั้นนำมาต่อกับ USB ตัวเมียเพื่อไว้เสียบกับตัวรับของเมาส์ โดยต่อตามรูปที่ 5

รูปที่ 5 Pinout ของ USB
หลังจากนั้นก็นำตัวรับเมาส์มาเสียบแล้วเดินสายให้เรียบร้อย
รูปที่ 6 การเดินสายไฟเพื่อเสียบกับตัวรับ

เพียงเท่านี้ก็สามารถใช้งานพอร์ต USB ได้ทันที โดย Windows สามารถตรวจพบแล้วใช้งานได้ปกติดี

แหล่งข้อมูล
http://forums.macresource.com/read.php?1,1501079,1501079
http://pinoutsguide.com/Slots/mini_pcie_pinout.shtml
http://pinouts.ru/Power/sata-power_pinout.shtml


วันพุธที่ 21 สิงหาคม พ.ศ. 2556

Serial Console ของ nlink Router(True online)

วันนี้ผมมาเสนอวิธีการเข้าใช้งาน Serial Console ของ nlink Router รุ่นที่แถมจากการสมัคร True Online ซึ่งอาจจะพอเป็นประโยชน์บ้างครับ

รูปที่ 1 nlink Router
จากรูปที่ 1 ผมได้แกะบอร์ดข้างในออกมา จะพบว่ามีขาเชื่อมต่อ 4 ขาอยู่ด้านหน้าไอซีตัวใหญ่ จากการลองก็พบว่าขาต่างๆมีหน้าที่ดังรูปที่ 2

รูปที่ 2 ตำแหน่งของขาสัญญาณ
ในการทดลองนี้ผมต่อพอร์ต Serial ของ Router เข้ากับ USB to Serial ซึ่งเป็นสัญญาณแบบ TTL 3.3v อยู่แล้ว ทำให้ไม่ต้องแปลงสัญญาณเป็น RS-232 อีก เมื่อต่อเชื่อมเรียบร้อยก็เปิดโปรแกรม Putty เลือก การเชื่อมต่อแบบ Serial และตั้ง Baudrate เป็น 115200 ดังรูปที่ 3

รูปที่ 3 การตั้งค่า Putty
หลังจากนั้นคลิก Open แล้วเปิด Router จะพบตัวอักษรต่างๆ ขึ้นมา ให้รอจนกระทั่งขึ้นข้อความว่า "Got PID 197 from TR069"  ดังรูปที่ 4

รูปที่ 4 ข้อความต่างๆ ตอน Boot
หลังจากนั้นให้กด Enter 2 ครั้งเพื่อเข้าสู่หน้า Login โดยชื่อ Login คือ admin และใช้ Password คือ password จะปรากฎผลลัพธ์ดังรูปที่ 5

รูปที่ 5 หน้า console แรก
หลังจากนั้น พิมพ์คำสั่ง sh กด enter จะปรากฎหน้า console ของ busybox เป็นอันเสร็จสิ้นการเข้าใช้งาน Serial console ครับ

รูปที่ 6 หน้า Serial console ของ Busybox

วันอังคารที่ 13 สิงหาคม พ.ศ. 2556

ตั้งเวลาคอมพิวเตอร์ให้ตรงกับ Server

โปรแกรมตัวนี้ผมเขียนด้วย VB2010 โดยรับค่าวันที่และเวลาจาก time.navy.mi.th ติดต่อโดยใช้ Daytime Protocol โดย Protocol ตัวนี้ทำงานบน TCP พอร์ต 13 หลักการของ Protocol นี้ไม่ซับซ้อนครับ โดยมีลำดับขั้นตอนดังรูปที่ 1

รูปที่ 1 ลำดับการทำงานของ Daytime Protocol
จากรูปที่ 1 เป็นรายละเอียดที่ได้จากโปรแกรม Wireshark จะเห็นได้ว่าที่

  1. Packet ลำดับที่ 190 ตัว Client ซึ่งก็คือเครื่องของเราได้ทำการส่งคำขอ syn กับ Server 
  2. Packet ลำดับที่ 192 คือการตัวกลับจาก Server ด้วยการ syn และ ack
  3. Packet ลำดับที่ 193 ตัว Client ทำการ ack กลับ เป็นการเสร็จขั้นตอนในการทำ 3-way handshake ของ TCP
  4. Packet ลำดับที่ 198 ตัว Server ส่งข้อมูลวันที่ให้กับ Client 
  5. Packet ลำดับที่เหลือเป็นการบอกหยุดการติดตอระหว่าง Client และ Server
ในส่วนของข้อมูลที่ส่งใน Protocol จะเป็นวันที่และเวลาที่ส่งมาในรูปแบบข้อความธรรมดา สามารถนำไปแสดงผลได้ในทันที

รูปที่ 2 ข้อมูลวันที่และเวลาที่มาจาก Server
ในส่วนของโปรแกรมที่เขียนขึ้นมามีหน้าตาดังรูปที่ 3

รูปที่ 3 หน้าตาของโปรแกรมทดสอบ

ตัวโปรแกรมมีสองฟังก์ชันการทำงานคือ

  1. อ่านค่าเวลาจาก Server
  2. อ่านค่าเวลาจาก Server พร้อมทั้งตั้งเวลาเครื่อง Client ให้ตรงกับ Server
โปรแกรมตัวนี้ต้องการสิทธิ์ Administrator ในการตั้งเวลาตัวเครื่อง โดยเครื่องที่ใช้งานต้องมี .net framework เวอร์ชัน 2.0 ขึ้นไป เครื่องที่ทดสอบมีระบบวันที่แบบพุทธศักราช ไม่ได้ทดสอบกับเครื่องที่มีปีแบบคริสตศักราช ซึ่งอาจจะมีผลต่อการทำงานของโปรแกรมครับ


แหล่งข้อมูล