Thursday, May 27, 2010

Dreambox

Dreambox คือ Set top box ที่ใช้ Linux เป็น base ความที่สามารถทำ Emulate CAM ได้เป็นส่วนสำคัญที่นำมาใช้กันอย่างแพร่หลาย หลักการคือสามารถใช้ CAM แบบที่เป็น software แทนที่จะเป็นแบบ Physical Module โดยแบบ software ก็สามารถเรียกข้อมูลสำหรับทำ authentication จาก server ใดที่ทำการ share card ไว้ ผ่าน network ทั้งนี้ CA หรือ Conditional Access คือกลไกในการ encrypt และ decrypt digital content ที่ส่งมาทาง satellite หรือ cable โดยต้นทางจะ encrypt content ด้วย control word (8 byte) เป็น secret key โดย control word นี้จะเปลี่ยนไปเรื่อยๆ และต้นทางก็จะส่ง encrypted control word หรือ ECM มายัง receiver ทั้งนี้ receiver จะสามารถ decrypt ได้ก็ต่อเมื่อได้รับการ authorize เท่านั้นด้วย EMM หรือ encrypted management message

Dreambox Newbie Guide

เวลา backup กับ restore ถ้าเครื่อง hang หรือมีปัญหาเรื่อง boot อ่านดูแล้วเหมือนต้องทำทั้งใช้ dreamup เพื่อ flash file .img แล้วตามด้วย flashwizardpro ด้วย file .fw2 ซึ่งจะมีพวก CAM, skin, การเรียงช่องต่างๆเลย แต่ไม่แน่ใจว่าเฉพาะ dreamup จะได้กลับมาหมดหรือเปล่า วิธี backup ก็มีแบบให้ใช้ dreamup โดยใช้สาย null และต่อสาย LAN ไว้ด้วยเพื่อความรวดเร็ว แต่มีบางคนก็บอกให้ใช้แบบ telnet ได้ ตามข้างล่าง

ทำตามคุณ NewDream เคยโพสไว้นะครับ ใช้ computer telnet ไปที่ IP ของ dreambox โดยใช้ โปรแกรม Command prompt โดย login ด้วย root และ pwd = dreambox ถ้าไม่ได้เปลี่ยน แล้วใช้คำสั่ง

cat /dev/mtd/3 > /tmp/backup.img

ก็จะได้ backup ไฟล์แล้วแต่ยังดูใน เครื่อง dreambox เสร็จแล้วใช้ dcc ก๊อปไฟลล์ออกมาจาก /tmp ครับ ชื่อไฟลล์ backup.img เวลาจะใส่กลับ ก้อใส่ไฟล์ backup.img เข้าไปที่ /tmp แล้วสั่งด้วย telnet เหมือนเดิม พิมพ์ทีละบรรทัดแล้ว Enter รอจนมันขึ้นบรรทัดใหม่ แล้วก็พิมพ์คำสั่งบรรทัดต่อไป จนถึง reboot

cd /tmp
eraseall /dev/mtd/3
cp backup.img /dev/mtd/3
reboot

ทั้ง หมดนี้ใช้เวลาไม่เกิน 3 นาทีครับ ไม่ต้องใช้ สาย null modem ผม ใช้วิธีนี้อยู่ ไม่เคยเกิดปัญหาเลยครับ

ja ก็คือ yes เป็นภาษาเยอรมัน แปลว่า ใช่ครับ กดปุ่มนี้ จะแปลว่า หลังจาก Flash เสร็จ ให้ตั้งค่าดั้งเดิมเป็นค่าเดิมเริ่มต้น (set full original default) เป็นผลให้ เมื่อปิดแล้วเปิดกล่องใหม่หลัง Flash เสร็จ จะเป็นภาษาต่างดาว หรือภาษายึกยือ อ่านไม่ออกและ Font ส่วนมากจะโดนลบทิ้ง nein แปลว่า ไม่ ก็คือ Flash เสร็จ ไม่ต้องทำการตั้งค่าตามเดิม ครับ ผลที่ได้ก็คือ ได้ Image ที่เรา Flash ลงไปตามต้องการ มีบาง image ที่กดได้ทั้ง ja และ nein เพราะตัว image ได้ตั้งล็อคค่าไว้ ไม่ให้สั่งตั้งค่าตามเดิม บางท่านที่เคยลง image เลยอาจจะงงว่าทำไมบาง image ก็กด ja ได้ เป็นเพราะเหตุดังกล่าวนี้เองครับ

Download โปรแกรม DCC เปิดโปรแกรม connect ไปที่ dreambox (กด remote, setup => expert setup => communication) เมื่อ connect ได้กด FTP กด ไปที่ var => etc => cccam.cfg กด mouseขวาเลือก edit ก็อปปี้โค้ดที่เขาให้ไปไว้ที่นี่ แล่ว save
ในกรณี ที่เปน mgcamd กด ไปที่ var => keys => newcamd.list กด mouseขวาเลือก edit ก็อปปี้โค้ดที่เขาให้ไปไว้ที่นี่ แล่ว save ไปที่เครือ่ง dreambox กดปุ่มฟ้าเข้า blue panel หา cam ที่เราใช้ กะ S*** เสร้จ กด สีเขียว start cam

ถ้าจะซื้อ dreambox ที่นี่ราคาดีแต่เฉพาะเครื่องอย่างเดียว http://www.boransat.net/board/index.php?topic=7911.0

ดู dreambox จาก PC ให้ browse ไปที่ ip ของ db และเลือกช่อง แล้วกด Vpid ด้านบน ให้ใช้ VLC 0.8.6 แตกต่างจริงเพราะลองแล้ว http://download.videolan.org/pub/videolan/vlc/0.8.6/win32/ และให้ set video output เป็น DirectX และ turn off YUV>RGB Conversion ใน DirectX Setting ด้วย

Monday, May 10, 2010

Jitter and Wander

เคยเขียนไว้หลายปีมาแล้วแต่ยังไม่เคยเอามาเก็บใน Blog

....ความหมายของ Jitter และ Wander นั้นมักจะถูกลืมบ่อยผมจึงขอนำมาสรุปไว้ในที่นี้ จริงๆแล้วคำว่า jitter ตามศัพท์ภาษาอังกฤษนั้นจะแปลว่าอาการประหม่าลุกรี้ลุกรนหรือแกว่งส่วนคำว่า Wander นั้นก็จะแปลว่าเร่ร่อนไปเรื่อยไม่มีจุดหมายซึ่งเดี๋ยวเราก็จะเห็นว่าเป็นความหมายที่ไม่เลวเหมือนกันเมื่อเทียบกับปรากฏการณ์ในทาง SDH ที่เรานำมาใช้ ก่อนอื่นผมอยากเทียบในลักษณะอุปมาอุปไมยเสียก่อนเพื่อให้ง่ายต่อการจำ สมมติว่าเรานัดสาวหรือหนุ่มเจอกันทุกวันในตอนเย็นเวลาหกโมงแล้วเขามาหกโมงสิบห้าทุกทีไปผมถือว่าคุณโชคดีแล้วนะครับคือถึงแม้ว่าเขามี delay แต่เขาก็ไม่มี jitter คุณสามารถคาดการประมาณเวลาได้ แต่ถ้าคุณเธอมาหกโมงสิบห้าบ้าง หกโมงครึ่งบ้าง ห้าโมงห้าสิบบ้าง เอาแน่ไม่ได้นั่นแสดงว่าแฟนคุณมี jitter ครับ และถ้าเขามา หกโมงตรงในวันแรก หกโมงหนึ่งนาทีในวันที่สอง หกโมงสองนาทีในวันที่สาม หกโมงสามนาทีในวันที่สี่ เพิ่มขึ้นทีละนิด ก็จะเรียกได้ว่าเขามี wander ซึ่งจริงๆแล้วก็คือปรากฏการ์ณเดียวกันนั่นแหละครับเพียงแต่ว่าแกว่งน้อยแกว่งมากนั่นเอง

ทีนี้มาดู jitter กับ wander ของสัญญาณไฟฟ้ากัน jitter และ wander นั้นโดยทั่วไปก็จะเกิดได้จากหลายสาเหตุ เช่นสัญญาณรบกวน การเสื่อมคุณภาพของ clock ที่ใช้ กระบวนการ mapping signal ของ SDH และ กระบวนการปรับ pointer ใน SDH รูปด้านล่างนี้แสดงถึงปรากฏการณ์นี้ได้เป็นอย่างดี แต่อาจจะต้องพิจารณาละเอียดนิดหนึ่ง

แถวบนสุดจะเป็นสัญญาณที่ไม่มี jitter แถวกลางจะเป็นสัญญาณที่มี jitter อยู่ซึ่งจะเห็นว่าเดี๋ยวเร็วเดี๋ยวช้าเมื่อเทียบกับแถวบน ส่วนแถวล่างสุดจะเป็นการเอาระยะเวลาที่แถวกลางเบี่ยงเบนไปจากสัญญาณในแถวบนมา plot เทียบกับเวลาและไอ้เจ้ากราฟตัวนี้เองแหละครับที่มักจะเรียกกันว่ากราฟของสัญญาณ jitter ถ้าความถี่ของสัญญาณ jitter นี้มีค่าต่ำกว่า 10 Hz ไอ้เจ้าสัญญาณนี้ก็จะถูกเรียกว่า wander แทน แค่นี้เองครับเรื่องของ jitter และ wander
ทีนี้มีรายละเอียดเพิ่มเติมก็คือหน่วยของขนาดของ jitter กับ wander นั้นต่างกัน โดย jitter นั้นจะใช้หน่วยในลักษณะสัมพัทธ์(relative) กับระยะเวลา 1 รอบของสัญญาณปกติ เช่นในสัญญาณแถวบนมีช่วงเวลาแต่ละ period หรือแต่ละ pulse เป็น 10ms เราก็จะเรียก 10ms นี้ว่า 1 UI ซึ่งย่อมาจาก Unit Interval จากนั้นขนาดของสัญญาณ jitter นี้ก็จะเทียบกับหน่วย UI นี้เช่นถ้าสัญญาณที่มี jitter อยู่มาช้าไปกว่าที่ควรจะเป็นไป 1ms ก็จะถือว่าสัญญาณ jitter มีขนาดเท่ากับ 0.1UI ดังนั้นจะเห็นว่าขนาดของสัญญาณ jitter นั้นไม่ขึ้นกับอัตราความเร็วของระสัญญาณเนื่องจากเราเทียบกับช่วงเวลาหนึ่งคาบของแต่ละระดับสัญญาณเอง ก็เหมือนกับว่าถ้าเรานัดเจอกันวันพุธแล้วมาสายไปครึ่งวัน กับเรานัดเจอตอน 12 โมงแล้วมาสายไปครึ่งชั่วโมงก็จะมีค่า jitter ที่เท่ากันคือ 0.5UI นั่นเองครับ ส่วนหน่วยของ wander นั้นคงจะมาใช้แบบ jitter ลำบากเพราะว่ามีค่าน้อยมาก ดังนั้นมาตรฐานก็เลยกำหนดว่าให้ใช้เป็นค่า absolute ในหน่วยของ ns แทน

ในการทำงานทั่วไปกับอุปกรณ์นั้นเรามักจะวัดค่า Jitter กันอยู่สามประเภทด้วยกันคือ Output Jitter, Jitter Tolerance และ Jitter Transfer การวัด Output Jitter นั้นจริงๆแล้วมีอยู่สองส่วนคือการวัด Output Jitter จาก port ของอุปกรณ์กับการวัด Output Jitter จาก Interface ที่มาจาก Network ซึ่งมาตรฐานที่มากำหนดก็จะต่างกันด้วยนะครับ วิธีการวัด Output Jitter ก็ทำตามรูปด้านล่างนี้ครับ โดยอันบนเป็นการวัด Jitter ที่เกิดจากอุปกรณ์ ส่วนด้านล่างเป็นการวัด Jitter ของ interface ฝั่ง network สังเกตว่าเราแค่วัด output ของอุปกรณ์เท่านั้นส่วนขา Tx ของเครื่องมือวัดอาจต่อเข้ากับ Rx ของอุปกรณ์หรือ network เพื่อไม่ให้มี Alarm เท่านั้น เครื่องมือวัดจะเอาสัญญาณที่กำลังจะวัดไป generate สัญญาณที่ไม่มี jitter ได้เองเพื่อเอามาเปรียบเทียบกับสัญญาณที่จะวัดอีกทีหนึ่ง

การวัด Jitter อีกประเภทก็คือการวัด Jitter Tolerance ซึ่งก็จะเป็นการวัดว่าอุปกรณ์สามารถทนต่อสัญญาณที่มี jitter ได้มากน้อยแค่ไหนก่อนที่จะมี error เกิดขึ้นโดยจะมีการ setup ดังรูปด้านล่างนี้

ซึ่งวิธีการก็คือยิงสัญญาณที่มี jitter ที่ความถี่ต่างๆเข้าไปที่ port Rx แล้วทำการ loop สัญญาณกลับแล้ววัด BER ที่ port Tx ของอุปกรณ์ จากนั้นค่อยๆเพิ่มขนาดของ jitter ที่ความถี่ต่างๆขึ้นจนกระทั่งเกิด error ขึ้นก็จะได้ค่า maximum jitter torelance
การวัด jitter ประเภทสุดท้ายที่ผมขอพูดถึงก็คือการวัด Jitter Transfer Function โดยจะเป็นการวัดว่าอุปกรณ์แต่ละอุปกรณ์นั้นมีการขยายหรือลดทอน jitter อย่างไรโดยมีขั้นตอนในการวัดเป็นดังรูปด้านล่าง

โดยเครื่องมือวัดจะยิงสัญญาณที่มี jitter ขนาดสูงๆแต่ยังไม่เกินค่า tolerance ของอุปกรณ์เข้าไป แล้วทำการวัด Jitter ของสัญญาณขาออกอีกฝั่งหนึ่งโดยเครื่องมือวัดก็จะยิง jitter ที่ความถี่ต่างๆกันเพื่อวัดเป็นค่า Transfer Function ออกมา
ก็คงจะครบถ้วนแล้วนะครับสำหรับเรื่องของ jitter ส่วนการวัด wander นั้นค่อนข้างยุ่งยากต้องใช้เวลาและต้องใช้ clock ที่มีคุณภาพสูงมากๆมาเป็นตัวเปรียบเทียบจึงไม่ขอกล่าวถึงในที่นี้ ถึงตรงนี้ทุกคนก็คงจะทราบแล้วว่า delay, jitter และ wander ต่างกันอย่างไร สวัสดีครับ

Wednesday, May 5, 2010

iTunes Registry Settings Error

I got an error message when opening the iTunes

"The registry settings used by the iTunes drivers for importing and burning cds and DVDs are missing?"

Following the instruction below solved the problem

Make sure you have iTunes inslled (and if you uninstalled the GEAR driver reinstall it) Ok now go to the registry (start->run->regedit.exe) and look for "HKEY_LOCAL_MACHINE\SYSTEM\System\CurrentControlSet\Control\Class{4D36E965-E325-11CE-BFC1-08002BE10318}". Right click in the right section and select "New->Multi-String Value". Name it "UpperFilters". Right click on it and select "Modify" Enter "GEARAspiWDM" 9press enter to move to the next line and click ok) into the "Value Data". Restart and Voila it should be fixed.