लिनक्स मुझे बताता है कि एक सीरियल पोर्ट उपयोग में है, लेकिन यह नहीं है


12

क्रंचबंग लाइनक्स (डेबियन वेरिएंट) पर, मेरे पास एक COM पोर्ट है ttyS0, जिसे मैं एनएफसी डिवाइस के साथ उपयोग करने की कोशिश कर रहा हूं। libnfc ने जवाब दिया कि यह कोई NFC डिवाइस नहीं देख सकता है, इसलिए मैंने सीधे COM पोर्ट खोलने की कोशिश की। इसके लिए, मैंने उपयोग किया:

sudo cu -l /dev/ttyS0 -s 9600

हालाँकि, यह आदेश लौटाता है:

cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use

मुझे नहीं पता कि संभवतः इस कनेक्शन का उपयोग क्या हो सकता है। यह पता लगाने के लिए, मैंने सभी खुली प्रक्रियाओं को पढ़ने और इसके उपयोग के लिए फ़िल्टर करने की कोशिश की है ttyS0:

ps -ef | grep tty

लेकिन इस आदेश के लिए, कुछ भी नहीं दिखा रहा है कि उपयोग कर रहा है ttyS0। मैंने सभी खुली फ़ाइलों को हथियाने और लॉक करने के लिए फ़िल्टर करने की भी कोशिश की है ttyS0:

lsof | grep tty

लेकिन यह कुछ भी नहीं लौटाता है ttyS0

यह कैसे संभव है cuकि रेखा उपयोग में है, लेकिन दोनों कहते हैं psऔर lsofउस रेखा का उपयोग करके कुछ भी नहीं लौटाते हैं?


के बारे में क्या lsof / देव / ttyS0
Ciclamino

@ साइक्लिनो जो इसे नहीं बदलता है - ट्टी इसका एक विकल्प है /dev/ttyS0। हालांकि, अन्य सभी टिट्स को छिपाता है।

मेरी भी यही समस्या है। minicomकाम करता है ठीक है, लेकिन cuऔर screenसे बात करने से मना /dev/ttyUSB0। मैं अपने उपयोगकर्ता को जोड़ने की सलाह दी गई uucpऔर dialoutसमूहों और लॉग आउट कि मदद नहीं की।
वोरैक

जवाबों:


12

शायद रेखा का कोई वास्तविक उपयोग नहीं है, लेकिन एक अनुमति मुद्दा है। मेरे लिए परीक्षण करने का त्वरित और गंदा तरीका निष्पादित करना था:

ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0

और फिर से प्रयास करें cu। यदि यह काम करना शुरू कर देता है, तो आपको संबंधित udevफ़ाइल और उपयोगकर्ता की अनुमति / समूहों का ध्यान रखना होगा । मेरी डिवाइस के लिए यह इस तरह दिख रहा था ( plugdevसमूह में सदस्य ):

> cat /etc/udev/rules.d/42-CP210x.rules 
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"

2

सीरियल डिवाइस विशेषाधिकार dialoutसमूह के सदस्यों को दिए जाते हैं । कनेक्ट होने के लिए /dev/ttyS0मैंने वर्तमान उपयोगकर्ता को समूह में शामिल किया है:

sudo adduser <username> dialout


1

ऐसा लगता है कि यह एक बग है cu। मैंने /dev/ttyUSB0निम्नलिखित आदेश का उपयोग करके स्वामी समूह को बदलकर इसे हल किया :

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