AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 978974
Accepted
Mike
Mike
Asked: 2017-11-22 18:39:46 +0800 CST2017-11-22 18:39:46 +0800 CST 2017-11-22 18:39:46 +0800 CST

Duas portas seriais (RS232 e RS422) em conflito uma com a outra. /dev/ttyFalha do USB

  • 772

Problema : Meu sistema operacional Ubuntu não consegue lidar com duas portas seriais quando os dispositivos seriais conectados às portas seriais estão ligados. como superar esse problema e evitar que minha porta trave? Como eu mesmo soluciono isso?

Sinopse dos sintomas : Quando os dois conversores serial para USB estão conectados ao PC (sem nenhum dispositivo serial conectado a eles), tudo está bem; eles aparecem como ttyUSB0 e ttyUSB1. No entanto, assim que conecto dispositivos seriais a eles e ligo os dispositivos seriais, uma das portas seriais falha (desaparece do diretório /dev). Este não é um problema de hardware ou de fiação. Algo está acontecendo no sistema operacional que está adicionando cabelos grisalhos à minha cabeça.... Você poderia ajudar? Por favor, leia para mais detalhes.

Estou executando o Ubuntu 14.04.3 em um laptop Lenovo.

Estou em um ponto em que posso recriar o erro com o menor número de peças de hardware e software. As etapas abaixo recriam o problema:

  1. Eu ligo o PC.

  2. Assim que o PC é ativado, eu corro dmesge salvo a saída em um arquivo. Veja https://pastebin.com/4fXxK1hV

  3. Eu conecto um dispositivo USB 2.0 chamado "Labjack U3". Este é um fato que não acredito ser muito relevante para este assunto, mas deve ser observado.

  4. Eu conecto o RS422 ao dispositivo USB sem nada conectado a ele. eu corro lsusb. É o Bus 003 Device 003: ID 0856:ac11 B&B Electronicsaparelho. A saída é:

    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 004: ID 04f2:b44d Chicony Electronics Co., Ltd 
    Bus 001 Device 003: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 003: ID 0856:ac11 B&B Electronics 
    Bus 003 Device 002: ID 0cd5:0003 LabJack Corporation U3
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub`
    
  5. Corri dmesgde novo. A saída está aqui: https://pastebin.com/uTGra1h7

  6. Eu vou /deve corro ls -l | grep USB. A porta serial aparece:

    constructor@constructor-pc:~$ cd /dev
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    
  7. Eu ligo o dispositivo conectado à porta RS422. Não há mudança na saída de /devou ls -l | grep USBelsusb

  8. Eu conecto o conversor RS232 para USB. O dispositivo serial ainda não está conectado ao conversor. eu corri lsusb. É o Bus 001 Device 018: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Portaparelho. A saída é:

    constructor@constructor-pc:/dev$ lsusb
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 004: ID 04f2:b44d Chicony Electronics Co., Ltd 
    Bus 001 Device 003: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
    
    Bus 001 Device 018: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 003: ID 0856:ac11 B&B Electronics 
    Bus 003 Device 002: ID 0cd5:0003 LabJack Corporation U3
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
  9. em seguida, executo o ls -l | grep USBcomando no /devdiretório. Aqui está a saída:

    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    crw-rw----  1 root dialout 188,   1 Nov 21 18:47 ttyUSB1
    
  10. Até este ponto está tudo OK. Eu corro o dmesgcomando para capturar tudo para solução de problemas. Veja: https://pastebin.com/3kZNLtr6

  11. Neste ponto é onde o problema aparece. Eu conecto um dispositivo serial ao conversor RS232 para USB. Até agora tudo ainda está OK. Eu ligo o dispositivo serial (normalmente este é o ponto onde o software que controla meu protótipo falha). Eu imediatamente executo o ls -l | grep USBcomando várias vezes. Aqui está a saída:

    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0
    constructor@constructor-pc:/dev$ ls -l | grep USB
    crw-rw-rw-  1 root dialout 188,   0 Nov 21 16:36 ttyUSB0`
    

    Você pode ver que perdi uma das minhas portas seriais!

  12. Agora eu corro dmesgpara uma pessoa mais experiente para usar para diagnóstico. Consulte: https://pastebin.com/sCYXeKa9

Conclusões testadas a que cheguei nos últimos 5 dias:

  • Os dispositivos seriais conectados ao RS232 e RS422 funcionam exatamente como o fabricante descreve nos manuais quando apenas um dos dispositivos é conectado por vez. Os dispositivos seriais não estão funcionando mal ou quebrados de forma alguma. Se apenas um dispositivo estiver conectado por vez, posso me comunicar com ele e controlá-lo, e ele se comportará corretamente.
  • A fiação para todos os dispositivos é boa (verificação dupla e tripla usando desenhos e medidor)
  • Eu removi o hub USB que estava usando e demorei muito para descobrir que não era culpa do hub.
  • Descartei os vários pacotes de software que estou usando para ler os dados seriais (sinto que as etapas descritas nesta postagem provam isso).
  • É interessante comentar que esse problema ocorre sem que eu sequer envie ou receba comandos para os dispositivos seriais! Quando ligo o dispositivo conectado ao conversor RS232 para USB, o dispositivo serial ainda não está enviando mensagens (ou pelo menos não acredito que esteja), mas a porta serial é imediatamente descartada pelo sistema operacional.

Informações adicionais: Na última semana, desde que fiz esta pergunta, adquiri mais portas seriais para USB, caso uma delas esteja com defeito e o comportamento não tenha mudado. Também substituí o componente serial que causa a falha da porta quando ligada por uma unidade sobressalente, e o comportamento não mudou. Também tentei um PC diferente e o comportamento não mudou.

Você pode fornecer uma resposta com uma correção para esse problema? Ou como solucionar esse problema?

Além disso, se eu puder fornecer qualquer informação ou executar algum comando, não hesite em me avisar!

14.04
  • 1 1 respostas
  • 1016 Views

1 respostas

  • Voted
  1. Best Answer
    Mike
    2017-12-02T14:15:21+08:002017-12-02T14:15:21+08:00

    Este foi um problema elétrico e não um problema de sistema operacional. Liguei a porta serial do dispositivo ao lado serial do conversor USB para RS485 conforme a documentação do fabricante, da seguinte maneira:

    Tx-    to       Rx-
    Tx+    to       Rx+
    Rx-    to       Tx-
    Rx+    to       Tx+
    gnd    to      gnd
    

    O que acabou resolvendo esse problema foi desconectar a conexão gnd to gnd. Deve ter havido um loop de terra.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve