Problem with USB Host and USB-Serial Converters (on ODYSSEY STM32MP157C)

Hello, good day, the company where I work acquired an ODYSSEY-STM32MP157C board, I have been doing tests with it, we are quite interested in including the SOM in a future design. For now I am having problems with the USB-Host ports included on the evaluation board.
The problem is that when connecting a USB-Serial converter, it does not detect them in any way. In the system logs I do not see any changes, and they are not listed as USB devices, I am using the official debian-based system, I leave some captures.

Here are some interesting logs:

root@npi:~# uname -a
Linux npi 4.19.9-stm32-r1 #1stable SMP PREEMPT Fri Dec 27 14:38:30 HKT 2019 armv7l GNU/Linux

root@npi:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            148M     0  148M   0% /dev
tmpfs            43M  5.7M   38M  14% /run
/dev/mmcblk1p6  1.6G  1.4G   98M  94% /
tmpfs           215M     0  215M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           215M     0  215M   0% /sys/fs/cgroup
/dev/mmcblk1p4   64M   16M   49M  25% /boot
tmpfs            43M     0   43M   0% /run/user/1000

root@npi:~# lsmod
Module                  Size  Used by
usb_f_acm              16384  2
u_serial               20480  3 usb_f_acm
usb_f_rndis            24576  4
u_ether                20480  1 usb_f_rndis
iptable_nat            16384  0
nf_nat_ipv4            16384  1 iptable_nat
nf_nat                 28672  1 nf_nat_ipv4
nf_conntrack          114688  2 nf_nat_ipv4,nf_nat
nf_defrag_ipv6         20480  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
libcrc32c              16384  2 nf_conntrack,nf_nat
iptable_mangle         16384  0
iptable_filter         16384  0
libcomposite           49152  14 usb_f_acm,usb_f_rndis
hci_uart               28672  0
btbcm                  16384  1 hci_uart
bluetooth             434176  3 hci_uart,btbcm
ecdh_generic           28672  1 bluetooth
bcmdhd                872448  0
cfg80211              499712  1 bcmdhd
ip_tables              24576  3 iptable_mangle,iptable_filter,iptable_nat
x_tables               24576  3 iptable_mangle,ip_tables,iptable_filter
ipv6                  417792  22
micrel                 16384  1
dwmac_stm32            16384  0
stmmac_platform        20480  1 dwmac_stm32
stmmac                126976  2 dwmac_stm32,stmmac_platform
dwc2                  184320  0
udc_core               36864  6 usb_f_acm,u_serial,dwc2,u_ether,usb_f_rndis,libcomposite
uas                    24576  0
usb_storage            57344  1 uas

root@npi:~# cat /boot/config-4.19.9-stm32-r1 | grep CONFIG_USB_SERIAL
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_SERIAL_AIRCABLE=m
CONFIG_USB_SERIAL_ARK3116=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_F81232=m
CONFIG_USB_SERIAL_F8153X=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_METRO=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_MXUPORT=m
CONFIG_USB_SERIAL_NAVMAN=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_OTI6858=m
CONFIG_USB_SERIAL_QCAUX=m
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_XSENS_MT=m
CONFIG_USB_SERIAL_WISHBONE=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_QT2=m
CONFIG_USB_SERIAL_UPD78F0730=m
# CONFIG_USB_SERIAL_DEBUG is not set


root@npi:~# lsusb
Bus 001 Device 005: ID 13fe:6300 Kingston Technology Company Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@npi:~# dmesg -wH | grep USB

-----  at this point there is a USB 3.0 flash memory connected (listed in the lsusb)

[  +1.401753] usb 1-2: USB disconnect, device number 5

-----  Here I have disconnected the usb flash memory

[  +6.038767] usb 1-2: new high-speed USB device number 6 using ehci-platform
[  +0.206372] usb-storage 1-2:1.0: USB Mass Storage device detected
[  +0.003212] scsi 0:0:0:0: Direct-Access     Wilk     USB DISK 3.0     PMAP PQ: 0 ANSI: 6

-----  Now I have reconnected

At this point I have tried to connect an Arduino Uno, an FTDI converter, an Arduino MKR Zero, an Arduino Mega. None of these show anything in the dmesg, it seems like it only detects usb flash storage (I have been able to mount flash drives, read and write to them).

Luis Ramón, Regards!

I reiterate and insist that the USB-TTL converter is connected to the USB-Host of the ODYSSEY board, not to my computer. The problem may be related to some Linux configuration in the SBC or be somewhat disabled, in theory this type of converters is compatible with the linux kernel (it works correctly on a raspberry pi 3B +, for example). I cannot imagine what the problem could be, since I have tested what I know and I have also tested what I could find surfing the Internet.

I am still waiting for an answer from your professional engineers, I wrote this a long time ago and it does not seem that someone will dare to answer…

It’s a shame that the ODYSSEY board ends up in a corner collecting dust for not getting a response from the support team.

Luis Ramón, Regards!

1 Like

linux-headers is provided on the system so you can compile it yourself.

Well, this is what I mean, I expect more from the technical support, I find your comment very interesting but it does not solve my problem in any way, is there any place where they explain how to solve the problem? should i guess :crystal_ball:? :slightly_smiling_face::slightly_smiling_face::slightly_smiling_face:

Luis Ramón, Regards!

Did you do what I told you? What’s the problem? Maybe if you follow my lead, I can help you. @lramon

There is no example in your comment, what can I do? There is only a suggestion to something very general and complex, and there is no explanation of what I should do to fix the problem, nor have you given me a link to a site where it is explained how to do it.

This problem is not normal in this type of platform, in Raspberry PI 3/4 it is plug and play, here it seems not to be confiugured for some reason that I do not understand, and I do not see any place where they explain how to activate it. Why is it not supported in your official OS?

Sorry, we don’t have an official OS, It just an Imagetest. You need to develop everything. That’s a development board. @lramon