7 Replies Latest reply on Apr 6, 2017 8:31 AM by robsn

    UARTs working among each other but not externally

    robsn

      Hi,

       

      I have a strange issue with the UARTs. First of all they all work (FTDI shared, UART 0 and UART 1). Any connection between them work fine as well as connections from a Joule to another Joule. But I can't use any other devices, I tried an external GPS and a serial connection to a Windows machine (which work well together).

       

      The symptoms are: I can't send anything from the Joule and only receive garbage (e.g. 'enter' translates to a 'y'). The baud rate and the other settings match. Same issues with minicom and puTTY.

       

      I tried three linux flavours and they all behave the same:

      - ostro-xt-image-swupd-intel-corei7-64-2016-11-17_21-15-13-build-194

      - Ubuntu 16.04 LTS

      - Ubuntu Mate 16.04 LTS

      - Ubuntu Mate 16.10

       

      BIOS: Joule-Firmware-2017-02-19-193-Public

       

      dmesg:

      [   31.415297] dw-apb-uart.8: ttyS4 at MMIO 0x92430000 (irq = 4, base_baud = 460800) is a 16550A
      [   31.523237] dw-apb-uart.9: ttyS5 at MMIO 0x92432000 (irq = 5, base_baud = 460800) is a 16550A
      [   31.631224] dw-apb-uart.10: ttyS6 at MMIO 0x92434000 (irq = 6, base_baud = 460800) is a 16550A
      [   31.743270] dw-apb-uart.11: ttyS7 at MMIO 0x92436000 (irq = 7, base_baud = 460800) is a 16550A
      

       

      serinfo:

      serinfo:1.0 driver revision:
      0: uart:unknown port:000003F8 irq:4
      1: uart:unknown port:000002F8 irq:3
      2: uart:unknown port:000003E8 irq:4
      3: uart:unknown port:000002E8 irq:3
      4: uart:16550A mmio:0x92430000 irq:4 tx:16 rx:528 brk:528
      5: uart:16550A mmio:0x92432000 irq:5 tx:0 rx:0
      6: uart:16550A mmio:0x92434000 irq:6 tx:0 rx:0
      7: uart:16550A mmio:0x92436000 irq:7 tx:0 rx:0
      8: uart:unknown port:00000000 irq:0
      9: uart:unknown port:00000000 irq:0
      

       

      setserial:

      /dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4
      /dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
      /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
      /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
      /dev/ttyS4, UART: 16550A, Port: 0x0000, IRQ: 4
      /dev/ttyS5, UART: 16550A, Port: 0x0000, IRQ: 5
      /dev/ttyS6, UART: 16550A, Port: 0x0000, IRQ: 6
      /dev/ttyS7, UART: 16550A, Port: 0x0000, IRQ: 7
      /dev/ttyS8, UART: unknown, Port: 0x0000, IRQ: 0
      /dev/ttyS9, UART: unknown, Port: 0x0000, IRQ: 0
      

       

      It's interesting that the UARTs map to ttyS4+:

       

      UART 0 : ttyS4

      UART 1 : ttyS5

      UART/FTDI : ttyS6

       

      Could it be a problem that the ttyS0 - ttyS3 (which don't work at all) get a Port assigned but the ttyS4+ don't? That seems strange to me.

       

      Any ideas why they work among each other but not with external devices? What can I try?

       

      Cheers, Rob