USB to RS-232 Cable for OS X Mavericks

เมื่อหลายปีก่อนเคยตามหาสายแปลง usb เป็น RS-232 ที่ทำงานได้ใน  OS X เพราะต้องเอามาทำงานเกี่ยวกับ embedded Linux ลองมั่วๆซื้อมาสองแบบเพราะข้างกล่องเขียนว่าทำงานได้บน Mac (แต่ไม่ได้บอกว่าใช้ได้กับ OS รุ่นไหน) สุดท้ายก็ยังไม่มีตัวไหนใช้ได้ เลยต้องเอามาใช้ใน Linux หรือไม่ก็  Windows เพราะหาไดร์เวอร์ ได้ง่ายกว่า

ลองมาค้นดูใน Google อีกรอบ พบว่า USB-to-RS232 ที่ทำงานได้ใน OS X จะเป็นอุปกรณ์ที่ใช้ชิป PL2303 ของ Prolific และ ชิป FTDI เนื่องจากมีไดร์เวอร์สำหรับ OS X แต่ความท้าทายอีกอย่างก็คือหาตัวอุปกรณ์ที่ใช้ชิปเหล่านี้ และมีขายในประเทศไทย

จากการค้นใน Google พบว่า USB-to-Serial Converter รุ่น UC-232A ของ ATEN ใช้ชิป PL2303 อยู่พอดี และตัว UC-232A ก็หาซื้อได้ที่ Fortune Tower ในราคาประมาณ 850 บาท (เจ็บแต่จบ)

ATEN USB-to_Serial Converter

 

เมื่อเอามาเสียบที่ Macbook Pro แล้วหน้าตาจะประมาณนี้

UC-232A

สำหรับ UC-232A เมื่อเสียบเข้ามาใน Macbook Pro แล้วจะยังไม่สามารถใช้ได้อยู่ดี เนื่องจากยังไม่ได้ติดตั้งไดร์เวอร์ วิธีการติดตั้งไดร์เวอร์ ก็ไม่ยากแต่จะมีขั้นตอนเพิ่มเข้ามาในส่วนที่ต้องไปเพิ่ม Product ID และ Vendor ID ในไฟล์ของไดร์เวอร์ เอาเอง เนื่องจากว่า UC-232A ผลิตโดย ATEN ไม่ได้ผลิตจาก Prolific ถึงแม้ว่าจะใช้ chip ตัวเดียวกันก็ตาม ไดร์เวอร์ของ Prolific เลยไม่ได้ใส่ Product ID และ Vendor ID ของ ATEN เข้ามาด้วย ดังนั้นเราจึงต้องใส่เอาเอง

  1. ตรวจสอบข้อมูลของอุปกรณ์ให้ทำการเสียบ UC-232A ในช่อง USB ของ Mac จากนั้นเปิดโปรแกรม System Infomation ดูว่าค่าของ Product ID  เท่ากับ 0x2008 และ Vendor ID เท่ากับ 0x0557 ตามลำดับ
  2. ดาวน์โหลด และติดตั้งไดร์เวอร์ จาก Prolific ซึ่งตอนที่เขียนบล็อกนี้ ไดร์เวอร์รุ่นล่าสุดคือ md_PL2303_MacOSX-10.6up_v1.5.1.zip ให้ทำการ unzip ไฟล์และดับเบิ้ลคลิกไฟล์ PL2303_MacOSX_v1.5.1.pkg เพื่อทำการติดตั้งไดร์เวอร์
  3. เมื่อทำการติดตั้งไดร์เวอร์เสร็จแล้วให้แก้ไขไฟล์ไดร์เวอร์ ของ Prolific เพื่อเพิ่ม Product ID และ Vendor ID ของ UC-232Aเปิดโปรแกรม  Terminal และใช้คำสั่งดังนี้
    $ sudo vi /System/Library/Extensions/ProlificUsbSerial.kext/Contents/Info.plist
    

    หาอิลิเมนต์ <key>IOKitPersonalities</key> แล้วเพิ่มข้อมูลด้านล่างเข้าไป

    <key>067B_2304</key>
    <dict>
     <key>CFBundleIdentifier</key>
     <string>com.prolific.driver.PL2303</string>
     <key>IOClass</key>
     <string>com_prolific_driver_PL2303</string>
     <key>IOProviderClass</key>
     <string>IOUSBInterface</string>
     <key>bConfigurationValue</key>
     <integer>1</integer>
     <key>bInterfaceNumber</key>
     <integer>0</integer>
     <key>idProduct</key>
     <integer>8964</integer>
     <key>idVendor</key>
     <integer>1659</integer>
    </dict>
    

    ไฟล์ Info.plist ที่แก้ไขแล้วจะมีลักษณะดังภาพ

    Info.plist

  4. ทดสอบไดร์เวอร์โดยพิมพ์คำสั่งด้านล่างใน Terminal ซึ่งหลังจากพิมพ์แล้วไม่ควรจะมี error เกิดขึ้น
    $ sudo kextload /System/Library/Extensions/ProlificUsbSerial.kext

    หลังจากพิมพ์ดำสั่ง kextload ด้านบนเสร็จแล้วจะมีไฟล์ /dev/tty.usbserial เกิดขึ้นมา

    tty.usbserial

  5. วิธีทำให้ไดร์เวอร์ถูกโหลดอัตโนมัติพิมพ์คำสั่งด้านล่างใน Terminal
    $ sudo touch /System/Library/Extensions

    ทดลอง reboot เครื่องและเสียบ UC-232A เข้าไป จากนั้นตรวจสอบดูว่ามีไฟล์ /dev/tty.usbserial เกิดขึ้นหรือไม่ ถ้ามีเราสามารถใช้โปรแกรม minicom เพื่อเชื่อมต่อเข้า serial console ของอุปกรณ์ต่างๆได้

อ้างอิง: http://blog.unfed.org/2013/10/using-aten-uc-232a-usb-to-serial.html

ใส่ความเห็น

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