บทบาทที่แท้จริงของอะแดปเตอร์ USB-to-PS/2 ที่แถมมากับเมาส์ของ Microsoft
(devblogs.microsoft.com)- ในยุคแรกของ USB เมาส์ของ Microsoft มักแถมอะแดปเตอร์สีเขียวขนาดเล็กที่ทำให้เสียบ USB Type-A ได้เหมือนเป็นปลั๊ก PS/2
- USB และ PS/2 เป็นโปรโตคอลที่แตกต่างกันโดยสิ้นเชิง ดังนั้นอะแดปเตอร์ชิ้นนี้เพียงอย่างเดียวจึงไม่ได้แปลงสัญญาณ
- ภายในอะแดปเตอร์ไม่มีวงจร และใกล้เคียงกับอะแดปเตอร์กายภาพแบบพาสซีฟที่เชื่อมขาหนึ่งไปยังอีกขาหนึ่งมากกว่า
- การสลับการทำงานจริงเกิดจากตัวเมาส์ที่ตรวจจับสัญญาณแบบ USBและสัญญาณแบบ PS/2จากขา แล้วเปลี่ยนโหมดการทำงานด้วยตัวเอง
- ถ้าเจออะแดปเตอร์นี้ในลิ้นชัก ก็ยากจะนำไปใช้เป็นตัวแปลงแบบทั่วไปได้ เพราะจะทำงานได้หรือไม่ขึ้นอยู่กับว่าอีกด้านเป็นเมาส์แบบ dual-busหรือไม่
อะแดปเตอร์ USB-to-PS/2 ทำหน้าที่อะไร
- ในยุคแรกของ USB อุปกรณ์เมาส์ของ Microsoft มักมีปลั๊ก USBอยู่ที่ปลายสาย และมักแถมอะแดปเตอร์สีเขียวขนาดเล็กที่เปลี่ยนให้เป็นรูปแบบปลั๊ก PS/2 มาด้วย
- อะแดปเตอร์นี้ไม่ได้แปลโปรโตคอลระหว่าง USB กับ PS/2
- ทั้งสองแบบเป็นคนละโปรโตคอลที่ไม่สามารถเข้ากันได้โดยตรงไม่ว่ากรณีใดก็ตาม
ไม่ใช่อะแดปเตอร์ที่แปลง แต่เป็นเมาส์ที่จัดการ
- อะแดปเตอร์เป็นอุปกรณ์ที่เชิงกลและพาสซีฟล้วนๆ
- เชื่อมชุดขาหนึ่งเข้ากับอีกชุดขาหนึ่ง
- ไม่มีวงจรอยู่ภายใน
- ไม่มีความสามารถในการตีความสัญญาณหรือแปลงโปรโตคอล
- การตัดสินใจจริงเกิดขึ้นภายในเมาส์
- เมาส์จะตรวจจับว่าที่ขามีสัญญาณคล้าย USB หรือสัญญาณคล้าย PS/2
- จากผลการตรวจจับ เมาส์จะเปลี่ยนวิธีการทำงานของตัวเอง
- ดังนั้นความสามารถในการแปลงจึงไม่ได้อยู่ที่อะแดปเตอร์ แต่ขึ้นอยู่กับการออกแบบฝั่งเมาส์
โครงสร้างคล้ายอะแดปเตอร์ปลั๊กไฟ
- วิธีนี้คล้ายกับอะแดปเตอร์เต้ารับไฟฟ้าราคาถูกที่ใช้เปลี่ยนรูปแบบปลั๊กไฟของแต่ละประเทศ
- อะแดปเตอร์เต้ารับเองก็ไม่ได้ฉลาดอะไร และมีหน้าที่แค่เชื่อมปลั๊กด้านหนึ่งเข้ากับอีกด้านหนึ่งทางกายภาพเท่านั้น
- การจัดการความเข้ากันได้จริงเป็นหน้าที่ของตัวอุปกรณ์เองหรือของอะแดปเตอร์ไฟของอุปกรณ์นั้น
เหตุผลที่ทำให้เข้าใจผิดว่าเป็นตัวแปลงเมาส์แบบทั่วไป
- ต่อให้เจออะแดปเตอร์ USB-to-PS/2 แบบนี้ในลิ้นชัก ก็ไม่ควรมองว่าเป็นอะแดปเตอร์เมาส์แบบใช้งานทั่วไป
- เพราะมันเปลี่ยนแค่การเชื่อมต่อทางกายภาพ เมาส์ที่ต่ออยู่จึงต้องรองรับทั้งสองแบบจึงจะใช้งานได้
- การแปลงที่แท้จริงเกิดขึ้นในเมาส์แบบ dual-busที่ต่ออยู่ฝั่งตรงข้าม
สิ่งที่ควรระวังเมื่อดูอะแดปเตอร์ลักษณะคล้ายกันที่ยังมีขายในปัจจุบัน
- จากผลการค้นหาบนอินเทอร์เน็ต ทุกวันนี้ก็ยังมีผู้ผลิตอะแดปเตอร์เมาส์ลักษณะนี้อยู่
- แต่ยังไม่แน่ชัดว่าสินค้าที่หาซื้อได้เป็นsmart adapterที่แปลโปรโตคอลสัญญาณระหว่าง PS/2 กับ USB จริง หรือเป็นอะแดปเตอร์เชิงกลล้วนๆ ที่ตั้งอยู่บนสมมติฐานว่าเมาส์จะเป็นผู้จัดการการแปลงเอง
1 ความคิดเห็น
ความเห็นจาก Hacker News
โอ้โห ชวนให้นึกถึงวันเก่าๆ มาก ราวปี 2000 หรือ 2001 ฉันเคยได้ เมาส์ออปติคัล เป็นของขวัญ ตอนนั้นเล่น StarCraft ด้วยเมาส์ลูกกลิ้งนี่ทรมานพอสมควร เลยอยากได้มานานแล้ว
แน่นอนว่ามันเป็นเมาส์ USB แต่คอมของฉันมีแค่ PS/2 เท่านั้น เลยซื้ออะแดปเตอร์มา แต่ลองกับพีซีและเมาส์หลายตัวอยู่นานก็ไม่ทำงานเลย
สุดท้ายเอาไปที่ร้านซ่อมเครื่องใช้ไฟฟ้า เขาเปิดดูข้างในแล้วอธิบายว่าเป็น อะแดปเตอร์ปลอม ที่แค่ต่อสายถึงกัน โดยไม่มีวงจรรองรับ USB จริงๆ ตอนนี้เพิ่งเข้าใจว่าทำไมของแบบนั้นถึงมีอยู่ ตอนนั้นฉันคิดมาตลอดว่าคงซื้ออะแดปเตอร์ปลอมมาเอง
อาจตั้งใจให้มันดูเหมือน “ของจริง” เพราะมีอะไรอยู่ข้างใน แต่ถ้าอย่างนั้นใส่ IC ราคา 1 เซ็นต์ลงไปสักตัวก็น่าจะดูสมจริงกว่าอยู่ดี เลยยังไม่ค่อยเข้าใจนัก
ฉันเคยมีบทสนทนาที่ค่อนข้างกระอักกระอ่วนกับพนักงานขายของ PC World อยู่ครั้งหนึ่ง
ตอนนั้นได้เซิร์ฟเวอร์เก่าที่ปลดประจำการจากบริษัทมา จะเอาไปใช้เรียนรู้ต่อที่บ้าน แต่ปัญหาคือมันไม่มี USB
พอฉันบอกว่ากำลังหาคีย์บอร์ด PS/2 พนักงานก็บอกว่าร้านไม่มี แต่ใช้คีย์บอร์ด USB อะไรก็ได้ ฉันเลยอธิบายว่าฉันต้องการคีย์บอร์ด PS/2 เพราะไม่มีพอร์ต USB
หลังจากพนักงานเดินไปคุยกับผู้จัดการอยู่หลายรอบ สุดท้ายเขาก็กลับมายืนยันอีกว่าควรใช้ USB จนมารู้ทีหลังว่าเขาคิดว่าฉันจะซื้อ คีย์บอร์ด PlayStation 2 และไม่เคยได้ยินคำว่า PS/2 มาก่อน
น่าจะยังมีเมาส์เก่าอยู่ที่ไหนสักแห่งซึ่งแถมอะแดปเตอร์ PS/2-USB มาด้วย แต่จะเป็นเมาส์ PS/2 กับอะแดปเตอร์ PS/2-USB หรือเมาส์ USB กับอะแดปเตอร์ USB-PS/2 กันแน่ คงต้องไปขุดออกมาดูก่อนถึงจะนึกออก
ถ้าอยากอ่านรายละเอียดเพิ่มและประวัติที่น่าสนใจ ดูได้ที่นี่: https://superuser.com/questions/704920/how-to-determine-if-u...
ราวปี 2014 เมาส์และคีย์บอร์ดส่วนใหญ่น่าจะยังรองรับ โปรโตคอลคู่ แต่ดูเหมือนว่าราวปี 2019 ถึงเริ่มมีรายงานแรกๆ ว่าเป็น USB อย่างเดียว
SoC เมาส์ราคาถูกจำนวนมากอาจยังเป็นแบบโปรโตคอลคู่ เพราะยังผลิตต่อจากดีไซน์เดิมที่ออกแบบไว้ให้ทำงานได้ดีตั้งแต่แรก
คำอธิบายเรื่องการจัดเรียงขาและวิธีตรวจจับโปรโตคอลอยู่ที่นี่: https://retrocomputing.stackexchange.com/questions/28288/how...
ฉันมี Roland S760 sampler จากต้นยุค 90 อยู่เครื่องหนึ่ง หนึ่งในนวัตกรรมที่ Roland ทำในตลาดราคาประหยัดกลุ่มนี้คือเปิดให้ต่อจอภาพและเมาส์ได้ ทำให้การตัด sample และโปรแกรม patch ง่ายขึ้นมาก แทนที่จะต้องเพ่งหน้าจอเล็กของ Akai S1000 หรือจอ 2 บรรทัดที่เล็กยิ่งกว่าของ S760
คอนเน็กเตอร์เมาส์เป็นแบบ MSX ซึ่งเดี๋ยวนี้หายากมาก ดังนั้นเครื่องของฉันเลยมาพร้อมคอนเน็กเตอร์ DIY แบบ MSX->PS/2 ฉันพยายามเปลี่ยนเมาส์ PS/2 ตัวเดิมที่ใกล้หมดสภาพเป็นตัวที่ใหม่ขึ้น แต่ตอนนั้นหาได้แค่เมาส์ของ MS ที่แถมคอนเน็กเตอร์ USB-PS/2 มาให้ ลองเสียบแล้วมันทำงานได้แบบงงๆ และฉันก็ไม่เข้าใจเลยว่าทำไม
สุดท้ายพอหาเมาส์ PS/2 ของใหม่เก่าเก็บได้ ก็กลับมาทำงานสมบูรณ์อีกครั้ง ก่อนเห็นโพสต์นี้ฉันไม่เคยรู้เลยว่าทำไมถึงเป็นแบบนั้น
S760 เป็น sampler ที่ยอดเยี่ยม มันไม่ได้ซับซ้อนเท่าเอนจินซินธิไซเซอร์เต็มรูปแบบ แต่ให้ความรู้สึกเหมือน JD990 เวอร์ชัน sampler และ digital multimode filter ของ S760 ก็โด่งดังขึ้นมาเพราะกลายเป็นซาวด์เด่นของ Daft Punk และศิลปินอีกหลายคน
ถ้าจะใช้อุปกรณ์ USB สมัยใหม่กับคอมพิวเตอร์ย้อนยุค จำเป็นต้องใช้ ตัวแปลงแบบแอ็กทีฟ ฉันเคยทำไว้ตัวหนึ่งสำหรับคอมหลายรุ่นเมื่อไม่กี่ปีก่อน
https://github.com/dekuNukem/USB4VC
มีโปรเจกต์ใหม่กว่าชื่อ HIDman ด้วย แต่รองรับเฉพาะพีซี
https://github.com/rasteri/HIDman
เมาส์ Logitech G305 เป็น 1000Hz ดังนั้นใน ps2x2pico ฉันเลยบังคับตั้งค่าอัตรา polling ของเมาส์ไว้ที่ 100Hz เพื่อให้เคอร์เซอร์ลื่นมากบน Windows 98 โดยไม่ต้องใช้โปรแกรมอย่าง PS2Rate และ N-key rollover ของคีย์บอร์ด Keychron S1 ก็ทำงานได้สมบูรณ์
https://github.com/No0ne/ps2x2pico
แค่เห็นหัวข้อกับ URL เป็น microsoft.com ก็เดาได้ 99% เลยว่าน่าจะเป็นบทความของ Raymond Chen จาก Old New Thing
เคสนี้ก็น่าจะทำแบบนั้นได้ก็ดี fortune.com เป็นตัวอย่างที่ดี เพราะบล็อกของมันห่วยมาก เลยแสดงบนหน้าแรกเป็นประมาณ “fortune.com/blogs” แทนที่จะเป็นแค่ fortune.com
ฉันยังเก็บคีย์บอร์ดที่ใช้กับคอมเครื่องแรก 386/33 ไว้อยู่ ทุกวันนี้ยังต่อเข้ากับ Mac ปัจจุบันได้ผ่าน โซ่อะแดปเตอร์ แบบ DIN5 -> PS/2 -> USB-A -> USB-C
กำลังตั้งตารอวันที่จะได้ต่อโซ่อะแดปเตอร์นี้ให้ยาวขึ้นอีก
ใช้ได้แม้แต่บน arm64
ผ่านมาเกือบ 35 ปีแล้วแต่มันก็ยังทำงานได้ยอดเยี่ยม เลยใช้ทุกวัน หวังว่าอนาคตคงไม่ต้องเพิ่มอะแดปเตอร์เข้าไปในสายอีก แต่ก็ไม่แน่
คีย์บอร์ดช่วงปลายยุค 90 และต้นยุค 2000 หลายรุ่นก็ทำแบบเดียวกันบ่อย ๆ คอนโทรลเลอร์ รองรับทั้ง PS/2 และ USB และตัวคีย์บอร์ดก็มาพร้อมปลั๊ก PS/2 กับอะแดปเตอร์แบบพาสซีฟ
เพราะงั้นถ้าจะเอาคีย์บอร์ด PS/2 ที่ออกแบบก่อนยุค USB เช่น Model M มาใช้กับคอมสมัยใหม่ ก็ต้องเลือก active PS/2-to-USB adapter ที่แปลงโปรโตคอลได้จริง
คีย์บอร์ดเกมมิงแมคคานิคัลหลายรุ่นยังรองรับ PS/2 อยู่เพราะเรื่อง interrupt ที่พูดถึงนี่แหละ
แม้จะมีประสบการณ์ไม่มาก แต่ตอนดีบักเครื่องพิมพ์ 3D รุ่นแรก ๆ บน Linux อยู่บ้าง ก็ได้เรียนรู้ว่า U ใน USB นี่ใกล้เคียงกับคำว่า universal จริง ๆ และมันคือการส่งข้อมูลซีเรียลให้ OS/driver/software ไปจัดการต่อ
วิธีทำงานของ DisplayPort-to-HDMI อะแดปเตอร์ ราคาถูกก็คล้ายกัน คืออะแดปเตอร์เองแทบจะเป็นแบบพาสซีฟทั้งหมด
อุปกรณ์ส่งออก DisplayPort จำนวนมากรองรับ multimode จึงสามารถสลับจากการส่ง DP packet ไปเป็นสัญญาณ HDMI หรือ DVI แบบ TMDS ได้ พอร์ตแบบนี้บางทีก็มีโลโก้ ++DP
เพราะแบบนี้จึงไม่ค่อยเห็นอะแดปเตอร์ HDMI source-to-DisplayPort sink ราคาถูก เพราะความฉลาดที่จำเป็นไม่ได้ถูกฝังไว้ในอุปกรณ์ต้นทาง
จอ Dell เก่าของฉันรองรับแค่ HDMI 1.3 เลยต้องใช้ DisplayPort หรือ dual-link DVI input ถึงจะใช้ความละเอียดเต็มได้ แต่ปกติอุปกรณ์สมัยใหม่ไม่มีทั้งสองอย่างแล้ว อุปกรณ์นั้นเลยช่วยแก้ปัญหาและทำให้ใช้ความละเอียด 2560x1440 ได้
แต่ DP->HDMI อย่างน้อยก็ต้องมีวงจรอิเล็กทรอนิกส์อย่าง level shifter
พูดถึงเรื่องที่เกี่ยวกันนิดหน่อย เมื่อไม่นานนี้คีย์บอร์ดในตัวของ ThinkPad X1C รุ่น Gen 12 ที่ค่อนข้างใหม่ของฉันหยุดทำงานไป ฉันเลยต่อคีย์บอร์ด USB แล้วไปดู Linux kernel ring buffer กับที่อื่น ๆ ว่ามี error ที่อธิบายปัญหาได้ไหม
ที่น่าแปลกคือคีย์บอร์ดภายในไม่ได้เป็น USB แต่เป็น i8042 ฉันไม่ใช่คนสายฮาร์ดแวร์ แต่แอบคิดมาตลอดว่าทุกอย่างสมัยนี้คงเป็น USB หมดแล้ว i8042 นี่น่าจะเป็นโปรโตคอล PS/2 ที่บทความพูดถึง
แม้จะหา error ไม่เจอ แต่พอรีบูตก็กลับมาใช้งานได้อีก
ฝั่งคีย์บอร์ดต้องมีคอนโทรลเลอร์อยู่แล้ว เพราะงั้นการไม่ใช้ USB ก็สมเหตุสมผล
EC หลายตัวมี 8042-compatible IP block สำหรับเรื่องนี้อยู่ในตัว ที่ฝั่งซอฟต์แวร์มันจะดูเหมือนคีย์บอร์ดและเมาส์ PS/2 เป๊ะ ๆ แต่ physical layer อาจไม่มีอยู่แล้วก็ได้ โน้ตบุ๊กเก่าที่รองรับคีย์บอร์ดและเมาส์ PS/2 ภายนอกอาจยังมี PS/2 interface จริงอยู่
ถ้าคีย์บอร์ดหยุดทำงานไปเลย ฉันจะสงสัยว่าเป็นบั๊กในเฟิร์มแวร์ของ EC หรือไม่ก็อาการ glitch แบบสุ่ม