Linux의 직렬 포트 통신이 내 컴퓨터에서 제대로 작동하지 않습니다. 그것을 처리하는 방법?
USB to NULL 모뎀을 USB 연결에 연결했습니다. 이 직렬 케이블은 Windows에서 제대로 작동합니다. Windows에서는 최대 100MB까지 파일을 전송할 수 있습니다. 우분투 리눅스에서. 나는 곤경에 빠졌다. 명령줄을 작동시킬 수도 없습니다.
포트 설정:
sudo chmod o+rw /dev/ttyS0
sudo chmod o+rw /dev/ttyS4
crw-rw-rw- 1 root dialout 4, 64 Feb 10 14:31 /dev/ttyS0
crw-rw-rw- 1 root dialout 4, 68 Feb 10 14:20 /dev/ttyS4
dmesg | grep ttyS
[ 0.412092] 00:07: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 0.433676] 0000:00:16.3: ttyS4 at I/O 0xf0e0 (irq = 19, base_baud = 115200) is a 16550A
의사소통하다:
On one terminal:
cat -v < /dev/ttyS0 or cat -v < /dev/ttyS4
On another terminal:
echo -e "\x7E\x03\xD0\xAF und normaler Text" > /dev/ttyS0
stty -aF /dev/ttyS0
speed 57600 baud; rows 0; columns 0; line = 0;
intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>;
susp = <undef>; rprnt = <undef>; werase = <undef>; lnext = <undef>;
discard = <undef>; min = 0; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl -echoke -flusho -extproc
stty -aF /dev/ttyS4
speed 57600 baud; rows 0; columns 0; line = 0;
intr = <undef>; quit = <undef>; erase = <undef>; kill = <undef>; eof = <undef>;
eol = <undef>; eol2 = <undef>; swtch = <undef>; start = <undef>; stop = <undef>;
susp = <undef>; rprnt = <undef>; werase = <undef>; lnext = <undef>;
discard = <undef>; min = 0; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl -echoke -flusho -extproc
문서는 다음과 같습니다.
답변1
USB-직렬 장치에 대해 이야기하고 있습니까? 그러면 장치 이름은 /dev/ttyUSB*
이 아닌 형식일 가능성이 높습니다 /dev/ttyS*
. 그러한 장치가 하나만 있는 경우 이름은 가 될 수 있습니다 /dev/ttyUSB0
.
링크된 지침의 첫 번째 Linux 단계에는 다음과 같은 내용도 나와 있습니다.
Linux에서 터미널을 열고 다음을 입력하세요.
picocom -b 115200 /dev/ttyUSB0
보이는 것은 /dev/ttyS0
일반 물리적 직렬 포트(노트북에서는 도킹만 가능할 수 있음)이며, /dev/ttyS4
출력에서 PCI ID 0000:00:16.3과 관련된 것으로 보이 므로 dmesg
Intel AMT/MEI 직렬일 수 있습니다. Port-over-LAN 관리 엔드포인트. 이 중 어느 것도 USB-직렬 장치와 관련이 없습니다.
답변2
흐름 제어를 수행할 사람이 필요합니다. 직렬 회선이 아날로그인 경우 실제 직렬 회선으로 취급해야 합니다.
한 가지 가능성은 네트워크를 설정하는 것입니다. 이전 문서를 사용하여 이 작업을 수행할 수 있습니다.
slattach /dev/ttyS0
한편slattach /dev/ttyS4
으로는. 이제sl0
양쪽에서 호출 할 수 있는 새로운 "네트워크 어댑터"가 생겼습니다 .- 주소를 지정하고(예: 사용
ip addr aadd 172.16.16.1/30 brd + dev sl0
) 활성화할 수 있습니다(ip link set sl0 up
). 반대쪽도 비슷하지만 다른 주소를 사용합니다. - 그런 다음 다른 네트워크 연결로 사용하십시오.
다른 가능성으로는 kermit과 같은 파일 전송 유틸리티가 있습니다. 유감스럽게도 단순함 만으로는 충분 cat
하지 echo
않습니다.