Skip to main content
Visitor II
December 19, 2020
Solved

32F746GDISCOVERY's Virtual COM Port not listed (ST-LINK/V2-1)

  • December 19, 2020
  • 2 replies
  • 940 views

Hello! I am trying to access the Virtual COM Port of my 32F746GDISCOVERY' board. Unfortunately, the the COM port is not listed correctly in my system (Ubuntu 16.04). This is the output of "lsusb -v"

Bus 001 Device 012: ID 0483:3752 STMicroelectronics 
Device Descriptor:
 bLength 18
 bDescriptorType 1
 bcdUSB 2.00
 bDeviceClass 239 Miscellaneous Device
 bDeviceSubClass 2 ?
 bDeviceProtocol 1 Interface Association
 bMaxPacketSize0 64
 idVendor 0x0483 STMicroelectronics
 idProduct 0x3752 
 bcdDevice 1.00
 iManufacturer 1 STMicroelectronics
 iProduct 2 STM32 STLink
 iSerial 3 066CFF535651727067063241
 bNumConfigurations 1
 Configuration Descriptor:
 bLength 9
 bDescriptorType 2
 wTotalLength 105
 bNumInterfaces 3
 bConfigurationValue 1
 iConfiguration 0 
 bmAttributes 0x80
 (Bus Powered)
 MaxPower 500mA
 Interface Descriptor:
 bLength 9
 bDescriptorType 4
 bInterfaceNumber 0
 bAlternateSetting 0
 bNumEndpoints 3
 bInterfaceClass 255 Vendor Specific Class
 bInterfaceSubClass 255 Vendor Specific Subclass
 bInterfaceProtocol 255 Vendor Specific Protocol
 iInterface 4 ST-Link Debug
 Endpoint Descriptor:
 bLength 7
 bDescriptorType 5
 bEndpointAddress 0x81 EP 1 IN
 bmAttributes 2
 Transfer Type Bulk
 Synch Type None
 Usage Type Data
 wMaxPacketSize 0x0040 1x 64 bytes
 bInterval 0
 Endpoint Descriptor:
 bLength 7
 bDescriptorType 5
 bEndpointAddress 0x01 EP 1 OUT
 bmAttributes 2
 Transfer Type Bulk
 Synch Type None
 Usage Type Data
 wMaxPacketSize 0x0040 1x 64 bytes
 bInterval 0
 Endpoint Descriptor:
 bLength 7
 bDescriptorType 5
 bEndpointAddress 0x82 EP 2 IN
 bmAttributes 2
 Transfer Type Bulk
 Synch Type None
 Usage Type Data
 wMaxPacketSize 0x0020 1x 32 bytes
 bInterval 0
 Interface Association:
 bLength 8
 bDescriptorType 11
 bFirstInterface 1
 bInterfaceCount 2
 bFunctionClass 2 Communications
 bFunctionSubClass 2 Abstract (modem)
 bFunctionProtocol 1 AT-commands (v.25ter)
 iFunction 6 ST-Link VCP Ctrl
 Interface Descriptor:
 bLength 9
 bDescriptorType 4
 bInterfaceNumber 1
 bAlternateSetting 0
 bNumEndpoints 1
 bInterfaceClass 2 Communications
 bInterfaceSubClass 2 Abstract (modem)
 bInterfaceProtocol 1 AT-commands (v.25ter)
 iInterface 6 ST-Link VCP Ctrl
 CDC Header:
 bcdCDC 1.10
 CDC Call Management:
 bmCapabilities 0x00
 bDataInterface 2
 CDC ACM:
 bmCapabilities 0x06
 sends break
 line coding and serial state
 CDC Union:
 bMasterInterface 1
 bSlaveInterface 2 
 Endpoint Descriptor:
 bLength 7
 bDescriptorType 5
 bEndpointAddress 0x84 EP 4 IN
 bmAttributes 3
 Transfer Type Interrupt
 Synch Type None
 Usage Type Data
 wMaxPacketSize 0x0008 1x 8 bytes
 bInterval 255
 Interface Descriptor:
 bLength 9
 bDescriptorType 4
 bInterfaceNumber 2
 bAlternateSetting 0
 bNumEndpoints 2
 bInterfaceClass 10 CDC Data
 bInterfaceSubClass 0 Unused
 bInterfaceProtocol 0 
 iInterface 7 ST-Link VCP Data
 Endpoint Descriptor:
 bLength 7
 bDescriptorType 5
 bEndpointAddress 0x05 EP 5 OUT
 bmAttributes 2
 Transfer Type Bulk
 Synch Type None
 Usage Type Data
 wMaxPacketSize 0x0040 1x 64 bytes
 bInterval 0
 Endpoint Descriptor:
 bLength 7
 bDescriptorType 5
 bEndpointAddress 0x85 EP 5 IN
 bmAttributes 2
 Transfer Type Bulk
 Synch Type None
 Usage Type Data
 wMaxPacketSize 0x0040 1x 64 bytes
 bInterval 0
Device Status: 0x0000
 (Bus Powered)

which seem OK to me. However, "dmesg | grep tty" shows

[ 0.000000] console [tty0] enabled
[ 1.216778] tty ttyS8: hash matches
[ 5.016946] cdc_acm 1-1:1.2: ttyACM0: USB ACM device
[ 50.552564] cdc_acm 1-1:1.2: ttyACM0: USB ACM device
[ 117.338140] cdc_acm 1-1:1.2: ttyACM0: USB ACM device
[ 313.987037] cdc_acm 1-1:1.2: ttyACM0: USB ACM device
[ 1255.781209] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[ 1280.179821] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[ 1419.712027] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[ 1452.144266] cdc_acm 1-1:1.1: ttyACM0: USB ACM device

with no "ttyUSB*" entry. Any clue? :)

    This topic has been closed for replies.
    Best answer by KnarfB

    the descriptors are fine, I get the same. You should see ttyACM0 which you can use:

    $ ls -l /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_* 
    lrwxrwxrwx 1 root root 13 Dec 19 12:09 /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_066DFF303739465043112657-if01 -> ../../ttyACM0

    hth

    KnarfB

    2 replies

    KnarfBAnswer
    Super User
    December 19, 2020

    the descriptors are fine, I get the same. You should see ttyACM0 which you can use:

    $ ls -l /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_* 
    lrwxrwxrwx 1 root root 13 Dec 19 12:09 /dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_066DFF303739465043112657-if01 -> ../../ttyACM0

    hth

    KnarfB

    AZane.1Author
    Visitor II
    December 28, 2020

    Thanks @KnarfB​! I think I simply had an unrelated issue with the communication over UART.