Tty0tty भी है। http://sourceforge.net/projects/tty0tty/ जो लिनक्स के लिए एक वास्तविक अशक्त मॉडेम एमुलेटर है।
यह एक सरल कर्नेल मॉड्यूल है - एक छोटा स्रोत फ़ाइल। मुझे नहीं पता कि यह केवल स्रोत के नीचे ही क्यों मिला, लेकिन यह मेरे लिए अच्छा काम करता है। इसके बारे में सबसे अच्छी बात यह है कि यह हार्डवेयर पिन (RTC / CTS DSR / DTR) का भी अनुकरण करता है। यह भी TIOCMGET / TIOCMSET और TIOCMIWAIT iotcl कमांडों को लागू करता है!
हाल के कर्नेल पर आपको संकलन त्रुटियाँ मिल सकती हैं। इसे ठीक करना आसान है। बस मॉड्यूल / tty0tty.c स्रोत के शीर्ष पर कुछ लाइनें डालें (शामिल करने के बाद):
#ifndef init_MUTEX
#define init_MUTEX(x) sema_init((x),1)
#endif
जब मॉड्यूल लोड किया जाता है, तो यह सीरियल पोर्ट के 4 जोड़े बनाता है। उपकरण / dev / tnt0 to / dev / tnt7 हैं जहाँ tnt0 को tnt1 से जोड़ा गया है, tnt2 को tnt3 से जोड़ा गया है, आदि आपको उपकरणों का उपयोग करने में सक्षम होने के लिए फ़ाइल अनुमतियों को ठीक करने की आवश्यकता हो सकती है।
संपादित करें:
मुझे लगता है कि मैं अपने उत्साह के साथ थोड़ा तेज था। जबकि ड्राइवर आशाजनक दिखता है, यह अस्थिर लगता है। मुझे यकीन नहीं है, लेकिन मुझे लगता है कि यह कार्यालय में एक मशीन को दुर्घटनाग्रस्त कर दिया था जो मैं घर से काम कर रहा था। मैं सोमवार को कार्यालय में वापस आने तक जांच नहीं कर सकता।
दूसरी बात यह है कि TIOCMIWAIT काम नहीं करता है। कोड को कुछ "छोटे ट्टी" उदाहरण कोड से कॉपी किया गया लगता है। TIOCMIWAIT की हैंडलिंग जगह में लगती है, लेकिन यह कभी नहीं उठता क्योंकि aw_up_interruptible () के लिए संबंधित कॉल गायब है।
संपादित करें:
कार्यालय में दुर्घटना वास्तव में ड्राइवर की गलती थी। एक आरंभीकरण गायब था, और पूरी तरह से अप्राप्त TIOCMIWAIT कोड के कारण मशीन के दुर्घटनाग्रस्त हो गया।
मैंने कल और आज ड्राइवर को फिर से लिखने में खर्च किया। बहुत सारे मुद्दे थे, लेकिन अब यह मेरे लिए अच्छा है। अभी भी ड्राइवर द्वारा प्रबंधित हार्डवेयर प्रवाह नियंत्रण के लिए कोड गायब है, लेकिन मुझे इसकी आवश्यकता नहीं है क्योंकि मैं उपयोगकर्ता मोड कोड से TIOCMGET / TIOCMSET / TIOCMIWAIT का उपयोग करके खुद पिन का प्रबंधन करूंगा।
अगर किसी को मेरे कोड के संस्करण में दिलचस्पी है, तो मुझे एक संदेश भेजें और मैं आपको इसे भेजूंगा।