कुछ लिनक्स वितरणों में अभी भी / dev / ttyS0, ttyS1 इत्यादि हैं, भले ही नए कंप्यूटरों में ऐसा कोई सीरियल पोर्ट नहीं है?


34

कई नए लैपटॉप और डेस्कटॉप कंप्यूटर में 9-पिन / 25-पिन सीरियल पोर्ट नहीं होते हैं। क्यों कई लिनक्स वितरण अभी भी शामिल है /dev/ttyS0, dev/ttyS1डिवाइस फ़ाइलों?

चूंकि udevडिवाइस फ़ाइलों को गतिशील रूप से बना सकते हैं, क्यों /dev/ttyS0, /dev/ttyS1अभी भी सांख्यिकीय रूप से बनाए गए हैं? हर बार जब मैं बूट करता हूं, /dev/ttyS0और /dev/ttyS1वहां होता हूं ।

वैसे: मैं डेबियन 7.0 का उपयोग कर रहा हूं।

जवाबों:


41

ये /devनोड्स दिखाई देते हैं क्योंकि मानक पीसी सीरियल पोर्ट ड्राइवर को आपके द्वारा उपयोग किए जा रहे कर्नेल में संकलित किया जाता है, और यह UARTs ढूंढ रहा है । वह कारण /sys/devices/platform/serial8250(या कुछ संगत) दिखाई देता है, इसलिए udv संबंधित /devनोड बनाता है ।

ये UART आपके मदरबोर्ड के चिपसेट की कई विशेषताओं में से एक हैं। चिपसेट में सीरियल UARTs अभी भी काफी सामान्य हैं, भले ही यह DB U-9 कनेक्टर के लिए कम और कम आम होता जा रहा है, जो इन IC UART पिन से जुड़ा हुआ है।

कुछ मदरबोर्ड पर, प्रत्येक सीरियल पोर्ट के लिए एक हेडर कनेक्टर होता है , और यदि आप उस कनेक्टर को पीसी के पीछे रूट करना चाहते हैं तो आपको एक एडेप्टर केबल खरीदना होगा:

DB-9M एडाप्टर केबल के लिए 10-पिन हेडर

एक ही चिपसेट का उपयोग करने वाले अन्य मदरबोर्ड हेडर कनेक्टर को उजागर नहीं कर सकते हैं, भले ही यह सुविधा सिलिकॉन में उपलब्ध है, विशुद्ध रूप से पीसीबी स्पेस के एक बिट और हेडर कनेक्टर के लिए कुछ सेंट को बचाने के लिए।

कुछ सीरियल UARTs बड़े पैमाने पर उत्पादित पीसी चिपसेट IC में नगण्य लागत को जोड़ते हैं, जबकि बोर्ड के किनारे से DB-9 कनेक्टर को चलाने के लिए मदरबोर्ड की अंतिम खुदरा लागत में कुछ डॉलर जोड़ते हैं। पीसीबी स्पेस में एक लागत भी है; बोर्ड के किनारे पर जगह विशेष रूप से कीमती है।

RS-232 सीरियल पोर्ट से जुड़े डिवाइस के अस्तित्व के लिए जांच का कोई मानक तरीका नहीं है।

कंट्रास्ट यूएसबी, जहां मदरबोर्ड पर एक पोर्ट की मात्र उपस्थिति के कारण /devनोड नहीं बनता है , लेकिन डिवाइस को प्लग इन करता है, क्योंकि डिवाइस और होस्ट ओएस के बीच काफी जटिल बातचीत होती है। वास्तव में, डिवाइस खुद को ओएस की घोषणा करता है, इसलिए डिवाइस के लिए udevएक उपयुक्त /devनोड बनाकर प्रतिक्रिया कर सकता है।


11
मैं उल्लेख करने की भी सिफारिश करूंगा, कई लैपटॉप मदरबोर्ड्स -ऑड्स में एक सीरियल कंट्रोलर है, यह सिर्फ कहीं भी नहीं है, इसलिए इसका उपयोग लैपटॉप को हटाने और परीक्षण बिंदुओं पर टांका लगाने के बिना नहीं किया जा सकता है, कई निर्माता इसका उपयोग उत्पादन लाइन पर कुछ बुनियादी जांच करने के लिए करते हैं शिपिंग से पहले मदरबोर्ड में फ़ंक्शन का एक मूल स्तर सुनिश्चित करना। हालाँकि जहां तक ​​लिनक्स का संबंध है इसका मतलब यह है कि एक धारावाहिक बंदरगाह है और यह इसे तुरंत चालू करता है जैसा कि किसी धारावाहिक नियंत्रक के साथ किसी भी बोर्ड के लिए उम्मीद की जा सकती है।
12

@Vality, क्या आपको इस पर कोई उपयोगी जानकारी पता है - मैं एक ऐसे लैपटॉप का उपयोग करता हूं जिसे कल अप्रचलित माना जाएगा और इसलिए (a) लिनक्स, और (b) टिंकरिंग के लिए परिपक्व है।
क्रिस एच

1
@ क्रिस यह लैपटॉप पर कुछ हद तक निर्भर करता है, आपको डेटा शीट खोजने की आवश्यकता होगी, या कम से कम लैपटॉप के मदरबोर्ड के लिए एक हैकिंग गाइड, मॉडल के आधार पर, कुछ के लिए एक सीरियल हेडर पर मिलाप करने का सही लेआउट होगा, हालांकि आसानी से सस्ते बोर्डों में बोर्ड के बारे में कुछ बिखरे हुए परीक्षण बिंदु होते हैं। यदि आप भाग्यशाली हैं और पहले वाला मामला है तो आप सिर्फ हेडर पर सोल्डर कर सकते हैं, एक केबल को इससे जोड़ सकते हैं, संभवत: सॉकेट के फिट होने के लिए अपने लैपटॉप में थोड़ा सा छेद काट दें तो आपके पास एक पोर्ट होगा। याद रखें कि यह 5 या 3.3 वोल्ट होगा, इसलिए इसे RS232 के रूप में उपयोग न करें। क्या लैपटॉप है?
वैलिटी

@Vity एक एसर नेटबुक - यहाँ सटीक मॉडल नहीं है - मैं वास्तव में सामान्य संसाधनों के बारे में सोच रहा था, इससे पहले कि मैं इसके बारे में चक्कर लगाऊं - धन्यवाद।
क्रिस एच।

मुद्दा बुनियादी, रूढ़िवादी, पीछे की संगतता है। जिस कारण लोग लिनक्स पसंद करते हैं। आप एक कर्नेल में "तेजी से और चीजों को तोड़ें" नहीं। चीजें वास्तव में तभी बदलने की जरूरत हैं जब एक वैध और काफी सार्वभौमिक- कर्नेल के आगे बढ़ने का कारण हो।
जेकगॉल्ड

4

वर्चुअलाइजेशन के तहत लिनक्स चलाने की कल्पना करें, कई एमुलेटर अभी भी सीरियल पोर्ट पर कंसोल आउटपुट पर निर्भर हैं। यह एक सुविधाजनक मानक है। इसके अलावा, हेडलेस सर्वर अभी भी संचार के लिए सीरियल पोर्ट का उपयोग करता है।


लेकिन उन कारणों में से कोई भी कारण नहीं है कि डिवाइस नोड क्यों बनाया गया है। यह बनाया गया है क्योंकि डिवाइस वहां है, जहां तक ​​कर्नेल का संबंध है। यदि आप सीरियल UART को CMOS पर अक्षम करते हैं तो यह नहीं होगा।
GnP

1
QEMU एक उदाहरण है जो इसका उपयोग करता है यदि आप अपने टर्मिनल के अंदर वीएम चलाना चाहते हैं: stackoverflow.com/questions/19565116/…
Ciro Santilli 新疆 example example example 六四

0

यह ध्यान देने योग्य है कि कई (सबसे?) सर्वर अभी भी सीरियल एक्सेस (ttyS0) प्रदान करते हैं। मुझे लगभग दैनिक रूप से iLO / iDRAC के माध्यम से एक सीरियल-ओवर-लैन कनेक्शन कनेक्ट करने की आवश्यकता है। जैसा कि @ पैट्रिक ने उल्लेख किया है, मैं नेटवर्किंग पोर्ट के साथ-साथ नेटवर्किंग, आदि को फिर से जोड़ने के लिए वर्चुअल मशीनों से जुड़ता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.