4 Replies
      Latest reply on Feb 8, 2020 4:18 PM by inmim
      jbdamiano06 Level 1 Level 1 (0 points)

        With the 10.15.1 Beta (19B68f) when I try to open an USB serial port, I get a port already in use. But the lsof doesn't show this port.

        I tried to reboot my computer, but I have always the same error.

        • Re: Cannot open an usb serial port
          jbdamiano Level 1 Level 1 (0 points)

          The problem is still present on Beta 3

          The system call open on the /dev return -1 and errno 16

           

          The device is a FT232R USB UART (Vendor FTDI)

           

          The source code to reproduce my issue on my usb serial

          #include 
          #include 
          #include 
          #include 
          #include 
          #include 
          
          int main(int argc, char **argv) {
          
          
              char file[] = "/dev/tty.usbserial-A600QJHB";
          
          
              int fd = open(file, 0x20006, 0x0);
          
          
              if (fd == -1) {
                  printf("Cannot open device %s errno %d\n", file, errno);
                  return -1;
              }
              printf("success\n");
          
              clode(fd);
              return 0;
          }

           

           

          On Catalina 10.15 I have the display of

          Success

           

          on 10.15.1 Beta

          Cannot open device /dev/tty.usbserial-A600QJHB errno 16 (Device in use)

           

          The device is not in use.

           

          The console log:

           

          On 10.15

          par défaut 09:30:00.056107+0200 kernel IOUserSerial::call0(allocResources) ==>

          par défaut 09:30:00.056118+0200 kernel IOUserSerial::call0() locklevel = 1

          par défaut 09:30:00.056212+0200 kernel IOUserSerial::<private>: 527 0x600003500058

          par défaut 09:30:00.056277+0200 kernel IOUserSerial::<private>: 57 0x600003500058

          par défaut 09:30:00.057142+0200 kernel IOUserSerial::call0() <== 0

          par défaut 09:30:00.057151+0200 kernel IOUserSerial::call0(hwProgramMCR) ==>

          par défaut 2019-10-.05715325 09:30:00+0200 kernel IOUserSerial::call0() locklevel = 1

          par défaut 09:30:00.057467+0200 kernel IOUserSerial::call0() <== 0

          par défaut 09:30:00.057471+0200 kernel IOUserSerial::call0(hwActivate) ==>

          par défaut 09:30:00.057472+0200 kernel IOUserSerial::call0() locklevel = 1

          par défaut 09:30:00.057506+0200 kernel IOUserSerial::<private>: 546 0x600003500058

          par défaut 09:30:00.057508+0200 kernel IOUserSerial::<private>: 117 0x600003500058

          par défaut 09:30:00.058573+0200 kernel IOUserSerial::call0() <== 0

          par défaut 09:30:00.058581+0200 kernel IOUserSerial::call0(hwResetFIFO) ==>

          par défaut 09:30:00.058583+0200 kernel IOUserSerial::call0() locklevel = 1

           

           

           

           

          On 10.15.1

          par défaut 00:28:31.295445-0700 kernel IOUserSerial::call0(allocResources) ==>

          par défaut 00:28:31.295501-0700 kernel IOUserSerial::call0() locklevel = 1

          par défaut 00:28:31.296030-0700 kernel IOUserSerial::call0() <== e00002bf

          par défaut 00:28:31.296044-0700 kernel IOUserSerial::call0(freeResources) ==>

          par défaut 00:28:31.296046-0700 kernel IOUserSerial::call0() locklevel = 1

          par défaut 00:28:31.296238-0700 kernel IOUserSerial::call0() <== e00002bf